# How can we calculate the frequency response of each filter of a Discrete Wavelet Decomposition filter bank?

I am using the Multilevel Wavelet decomposition. The decomposition results in a filter bank such as the following:

Specifically, I am using one of the Daubechies wavelets, db7.

In reality Level 2 coefficients are the result of filtering by $\ g(n)$ then down-sampling and filtering by $\ h(n)$. Suppose that the whole operation I described above is a single filter ie. at each level the coefficients get generated by a single filter. I would like to know how to calculate the frequency response of those filters at each level.

Is it correct to feed an impulse, i.e a Kronecker Delta function to the wavelet decomposition and then compute the Fourier Transform of the resulting coefficients ?

Thanks

PS: The same question has been asked here and the response was to get the convolution of the impulse response of $\ g(n)$ and an up-sampled version of $\ h(n)$. What puzzles me in that response though, is why divide by $\sqrt2$ the result of the convolution. Also, it seems like more code compared to just calling the wavelet decomposition routine with a Kronecker delta function.

The decision under the link you provided seems good enough. The main idea is:

• we have impulse response of each filter
• take the impulse response of the filter with the slowest sample rate as the input signal
• route it back through the chain
• perform spectrum estimation of the resulting signal

Division by $\sqrt2$ is for normalization only. For the given set of db coefficients their sum is $\sqrt2$, look here for explanation. It has no impact on the sense of the result I think.

• So, does the division by $\sqrt2$ ensure that the coefficients sum of the composite filter remains $\sqrt2$ ? Although, dividing by a number will not change the frequency responses, the thing is, the WT doesn't have this normalization ..so is it correct ? Also, as an alternative implementation, is it possible to get the impulse responses at each level by giving an impulse delta function as input to the wavelet decomposition ? Dec 24, 2014 at 11:02
• Kronecker delta function gives $1$ in sum, so division by $\sqrt2$ forces input of the second stage give in sum 1 too... Normalization has no impact on your system frequency response it only scales it. The second question: no. You only get WT of delta function but if you wanna get frequency response for each level you should route signal from the right to the left (backward). Do it for each level of WT and plot in the same window. You'll see how your decomposition tree fraction the input signal stage by stage
– Serj
Dec 24, 2014 at 17:16
• I see, the key is to feed the delta function from right to left. It would be nice to prove why calculating the WT of the delta, is the wrong way to get the impulse response. Is it because the downsampling operation alters the frequency content, whereas the upsampling does not ? Dec 26, 2014 at 18:10
• The reason is in which frequency span you'd like to find frequency response of your system. Suppose you have no upsampling/downsampling operations, then the order of filter operations isn't important because they're linear and the response of the overall system is the supreposition of all entire responses. But if you do sampling conversion you change frequency span. The main interest in your case is to find system response in the frequency span of input signal, that's why you should go from the right to the left. Hope my discussion clarify the problem)
– Serj
Dec 27, 2014 at 18:11