QMFDesign

This program designs a prototype filter for use in a Quadrature Mirror Filter filterbank.
3K Downloads
Updated 19 Jun 2009

View License

This program designs a prototype filter for use in a Quadrature Mirror Filter filterbank. This two-channel filterbank has four filters, each based on a lowpass prototype H(z).

This filter bank has an alias cancelling property, but does introduce a ripple into the end-to-end frequency response. The design procedure minimizes a weighted combination of the ripple energy and the stopband energy of the lowpass prototype filter. The design procedure is motivated by a paper by Jain and Crochiere.
V. K. Jain and R. E. Crochiere, “Quadrature Mirror Filter Design in the Time Domain”, IEEE Trans. Acoustics, Speech, Signal Processing, vol. 32, no. 2, pp. 253–361, April 1984.

This routine returns the coefficients of the N-coefficient symmetric prototype filter H(z). The coefficients are normalized to have energy 1/2. When the analysis and synthesis filters are configured as shown above, the overall system has an impulse response with a unity coefficient at a delay of N-1 samples.
The procedure described in the paper above was modified to employ a cautious update during the iteration process – without this modification, the procedure did not converge.

A sample use of QMFDesign is shown below.
N = 32;
h = QMFDesign(N, 0.3, 1);

Cite As

Peter Kabal (2024). QMFDesign (https://www.mathworks.com/matlabcentral/fileexchange/24340-qmfdesign), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Filter Banks in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

QMFDesign/

QMFDesign/test/

Version Published Release Notes
1.1.0.0

Update BSD License Info - no file changes

1.0.0.0