<< Chapter < Page | Chapter >> Page > |
The computational complexity of the DWT algorithm can also be easily established. Let ${C}_{DWT}\left(N\right)$ be the complexity for a length-N DWT. Since after each scale, we only further operate on half of the output data, wecan show
which gives rise to the solution
The operation in [link] can also be expressed in matrix form ${\mathbf{W}}_{N};$ e.g., for Haar wavelet,
The orthogonality conditions on $\mathbf{h}$ and $\mathbf{g}$ ensure ${\mathbf{W}}_{N}^{\text{'}}{\mathbf{W}}_{N}={\mathbf{I}}_{N}$ . The matrix for multiscale DWT is formed by ${\mathbf{W}}_{N}$ for different $N$ ; e.g., for three scale DWT,
We could further iterate the building block on some of the highpass outputs. This generalization is called the wavelet packets [link] .
The key to the fast Fourier transform is the factorization of ${\mathbf{F}}_{N}$ into several sparse matrices, and one of the sparse matrices represents two DFTs of half the length. In a manner similar to the DIT FFT, the following matrixfactorization can be made:
where ${\mathbf{A}}_{N/2},{\mathbf{B}}_{N/2},{\mathbf{C}}_{N/2}$ , and ${\mathbf{D}}_{N/2}$ are all diagonal matrices. The values on the diagonal of ${\mathbf{A}}_{N/2}$ and ${\mathbf{C}}_{N/2}$ are the length-N DFT ( i.e., frequency response ) of $\mathbf{h}$ , and the values on the diagonal of ${\mathbf{B}}_{N/2}$ and ${\mathbf{D}}_{N/2}$ are the length-N DFT of $\mathbf{g}$ . We can visualize the above factorization as
where we image the real part of DFT matrices, and the magnitude of the matrices for butterfly operations and the one-scale DWT using length-16Daubechies' wavelets [link] , [link] . Clearly we can see that the new twiddle factors have non-unit magnitudes.
The above factorization suggests a DWT-based FFT algorithm. The block diagram of the last stage of a length-8 algorithm is shown in [link] . This scheme is iteratively applied to shorter length DFTs to get the full DWT based FFTalgorithm. The final system is equivalent to a full binary tree wavelet packet transform [link] followed by classical FFT butterfly operations, where the new twiddle factors are the frequency response of thewavelet filters.
The detail of the butterfly operation is shown in [link] , where $i\in \{0,1,...,$ $N/2\phantom{\rule{-0.166667em}{0ex}}-\phantom{\rule{-0.166667em}{0ex}}1\}$ . Now the twiddle factors are length-N DFT of $\mathbf{h}$ and $\mathbf{g}$ . For well defined wavelet filters, they have well known properties; e.g., forDaubechies' family of wavelets, their frequency responses are monotone, and nearly half of which have magnitude close to zero. This fact can beexploited to achieve speed vs. accuracy tradeoff. The classical radix-2 DIT FFT is a special case of the above algorithm when $\mathbf{h}=[1,\phantom{\rule{0.277778em}{0ex}}0]$ and $\mathbf{g}=[0,\phantom{\rule{0.277778em}{0ex}}1]$ . Although they do not satisfy some of the conditions required for wavelets, they do constitute a legitimate(and trivial) orthogonal filter bank and are often called the lazy wavelets in the context of lifting.
For the DWT-based FFT algorithm, the computational complexity is on the same order of the FFT — $O\left(N{log}_{2}N\right)$ , since the recursive relation in [link] is again satisfied. However, the constant appearing before $N{log}_{2}N$ depends on the wavelet filters used.
Notification Switch
Would you like to follow the 'Wavelets and wavelet transforms' conversation and receive update notifications?