I know Fourier transforms but new to wavelet transforms. I can understand Haar transform needs signal length a power of 2, since the filters have 2 taps and down-sampling and up-sampling in the pyramid algorithm form binary tree structures, so it is efficient to implement if signal length is a power of 2. But higher-order transforms (e.g. DB2) or other kinds also use sampling rate of 2 and need signal length a power of 2. Is it also for efficient implementation? Can the sampling rate be other small prime numbers 3, 5 like in FFT?
-
1$\begingroup$ I ran across a mention of a form of wavelet transform that uses non-$2^n$ decimation, but I can't find it now. So yes, it's out there -- but because I can't put my finger on it for you, I don't feel that this comment is really an answer. $\endgroup$– TimWescottDec 21, 2020 at 16:09
1 Answer
I can't comment because of reputation but if i'm not mistaken, the need for DWT to be supplied an input that is length power of 2 is independent of it's subsequent levels being downsampled by a power of two. The input does not have to be a power of two but you'll have to deal with problems at the edges of the signal then.
Here is a good link for reference that addresses padding of a signal for wavelets:
https://paos.colorado.edu/research/wavelets/faq.html#padding
Basically states that to prevent problems at the edges of the tranform, the inputs are usually padded.
I've also seen places mention other decimation schemes but it begs the question as to why they would be necessary?
For every level of decomposition in a DWT, the signal is downsampled by 2 because the subsequent level of decomposition is limited to half the bandwidth of the previous level. Allowing for half of the samples to be discarded.