Creating Minimum Phase Filters
and Signals
Minimum-phase filter design often requires creating a minimum-phase
desired frequency response








A matlab function mps.m which carries out this method is listed in §J.11.12.4It works best for smooth desired frequency response curves, but in principle the error can be made arbitrarily small by simply enlarging the FFT sizes used. Specifically, the inverse FFT of the log magnitude frequency response should not ``wrap around'' in the time domain (negligible ``time aliasing''). It is important to use something like mps when designing digital filters based on a magnitude frequency-response specification using ``phase sensitive'' filter-design software (such as invfreqz in matlab). In other words, poor results are generally obtained when phase-sensitive filter-design software is asked to design a causal, stable, zero-phase filter. As a general rule, when phase doesn't matter, ask for minimum phase. A related practical note is that unstable recursive filter designs can often be stabilized by simply adding more delay to the desired impulse response (i.e., adding a negatively sloped linear phase to the desired phase response). For example, the Steiglitz-McBride algorithm in Matlab (stmcb) is a phase-sensitive IIR filter-design function that accepts a desired impulse response, while Matlab's invfreqz (which can optionally iterate toward the Steiglitz-McBride solution), accepts a complex desired frequency response.
Next Section:
Signal Representation and Notation
Previous Section:
Is Linear Phase Really Ideal for Audio?