Main Content


Quasi-linear phase IIR filter from halfband filter specification


iirlinFilter= design(d,'iirlinphase','SystemObject',true)
hd = design(...,'filterstructure',structure,'SystemObject',true)


iirlinFilter= design(d,'iirlinphase','SystemObject',true) designs a quasi-linear phase filter iirlinFilter specified by the filter specification object d.

hd = design(...,'filterstructure',structure,'SystemObject',true) returns a filter with the structure specified by structure. By default, the filter structure is a cascade structure. The following table lists all the structures design supports for the IIR linear phase response.


Filter Structure


Cascade of allpass filters


Cascade of allpass wave digital filters


IIR polyphase decimator


IIR wave digital filter polyphase decimator


IIR polyphase interpolator


IIR wave digital filter polyphase interpolator

To get a list of all the structures the specific fdesign method supports, type the following in the MATLAB® command prompt.

d = fdesign.halfband;
strucs = validstructures(d,'SystemObject',true);

To get a list of structures iirlinphase supports, type the following in the MATLAB command prompt.

iirlinphaseStrucs = strucs.iirlinphase;


collapse all

Design a quasi-linear phase, minimum-order halfband IIR filter with transition width of 0.36 and stopband attenuation of at least 80 dB.

tw = 0.36;
ast = 80;
d = fdesign.halfband('tw,ast',tw,ast); % Transition width, 
                                    % stopband attenuation.
halfbandIIR = design(d,'iirlinphase','SystemObject',true);

Figure Figure 1: Magnitude Response (dB) contains an axes object. The axes object with title Magnitude Response (dB), xlabel Normalized Frequency ( times pi blank r a d / s a m p l e ), ylabel Magnitude (dB) contains 2 objects of type line.

Notice the characteristic halfband nature of the ripple in the stopband. If you measure the resulting filter, you see it meets the specifications.

ans = 
Sample Rate      : N/A (normalized frequency)
Passband Edge    : 0.32                      
3-dB Point       : 0.5                       
6-dB Point       : 0.51911                   
Stopband Edge    : 0.68                      
Passband Ripple  : 4.0866e-08 dB             
Stopband Atten.  : 80.2642 dB                
Transition Width : 0.36                      

Version History

Introduced in R2011a