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 2M1.
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.
 
note
The polynomial K(z) must be chosen so that K(z) and K(–z) are co-prime, and X(z) is positive on the unit circle. If K(z) and K(–z) are not co-prime, a message saying, Input polynomials are not co-prime appears. If X(z) is not positive, a message saying, Newton-Raphson iterations did not converge appears.
Example
In this example, the Daubechies QMF is designed with 3-zeros and z = – 1. The results are shown in Figure 4-4: 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'
 
Figure 4-4: Magnitude Response of Daubechies Quadrature Mirror Filter
 
See Also
For Additional Information
Akansu and Haddad, 1992. Daubechies, 1992. Demeure and Mullis, 1990.
Duell, 1994. Vaidyanathan, 1993.