QMFDESIGN Function
Designs a finite impulse response (FIR) quadrature mirror filter (QMF).
Usage
result = QMFDESIGN(k)
Input Parameters
k—An array containing the coefficients of a known polynomial factor of the desired QMF.
Returned Value
result—A filter structure containing the coefficients of the QMF. If the known polynomial factor K(z) has order M , the QMF filter has an order that is £ 2M – 1.
Keywords
None.
Discussion
A quadrature mirror filter H(z) is defined by the equation:
|H(z)|2 + |H(–z)|2 = 1
Given a known factor K(z) of H(z), QMFDESIGN finds the factor U(z) so that H(z) = K(z)U(z) satisfies the QMF equation above.
The algorithm used to solve this problem first solves the equation:
|K(z)|2X(z) + |K(–z)|2X(–z) = zM
for X(z) using the Euclid algorithm discussed in Demeure and Mullis (1989). Next, a spectral factorization of X(z) is performed to obtain
X(z) = U(z)U(z–1) using the algorithm discussed in Demeure and Mullis (1990). Finally, the QMF H(z) is determined as H(z) = K(z)U(z). By choosing:
K(z) = (1 + z–1)M
QMFDESIGN generates the Daubechies, compactly supported, orthonormal wavelet with M vanishing moments.
Another common choice is to select K(z) so that it has all its zeros on the unit circle in the left half-plane to approximate the ideal half-band lowpass filter.
Example
In this example, the Daubechies QMF is designed with 3-zeros and z = – 1. The results are shown in Magnitude Response of Daubechies Quadrature Mirror Filter.
; The coefficients of the polynomial K(z) = (1+z-1)3.
k = [1, 3, 3, 1]
; Design the quadrature mirror filter.
h = QMFDESIGN(kz)
hf = FREQRESP_Z(h, Outfreq = f)
; Plot the filter magnitude response versus frequency.
PLOT, f, ABS(hf), Title = 'Daubechies QMF Magnitude', $
XTitle = 'Frequency'
See Also
For Additional Information
Akansu and Haddad, 1992. Daubechies, 1992. Demeure and Mullis, 1990.
Duell, 1994. Vaidyanathan, 1993.