# Why some implementation of Wavelet transform use reconstruction filter instead of decomposition filter?

I'm using MODWT (Maximal Overlap DWT) to extract features from a signal. Matlab implementation is using reconstruction filter instead of decomposition filter. In the first level of modwt decomposition, the output is just a circular convolution between the filter and the signal.

For example: Suppose the signal is from 1 to 10 and the filter is haar filter (high-pass).

High-pass filter: $$\bar{h}_0 = -\frac{1}{\sqrt(2)}, \bar{h}_1 = \frac{1}{\sqrt(2)}$$ modwt -> $$\hat{\bar{h}} = \bar{h}/\sqrt(2)$$.

Signal: $$[1,~2,~3, ~\dots,~10]$$

Output: $$[4.5,~-0.5,~-0.5,~-0.5,~-0.5,~-0.5,~-0.5,~-0.5,~-0.5,~-0.5]$$

The output of matlab implementation is:

High-pass filter: $$h_0 = \frac{1}{\sqrt(2)}, h_1 = -\frac{1}{\sqrt(2)}$$ modwt -> $$\hat{h} = h/\sqrt(2)$$.

Signal: $$[1,~2,~3, ~\dots,~10]$$

Output: $$[-4.5,~0.5,~0.5,~0.5,~0.5,~0.5,~0.5,~0.5,~0.5,~0.5]$$

The example above shows only one sign change at the output, but with other filters (like db2) the output is very different.

Does anyone know why some implementation uses the reconstruction filter instead of the decomposition filter? Is this the wrong implementation?