Main Content

iirlinphase

Quasi-linear phase IIR filter from halfband filter specification

Syntax

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

Description

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.

Structure

Filter Structure

cascadeallpass

Cascade of allpass filters

cascadewdfallpass

Cascade of allpass wave digital filters

iirdecim

IIR polyphase decimator

iirwdfdecim

IIR wave digital filter polyphase decimator

iirinterp

IIR polyphase interpolator

iirwdfinterp

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;

Examples

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);
fvtool(halfbandIIR)

Figure Figure 1: Magnitude Response (dB) contains an axes object. The axes object with title Magnitude Response (dB), xlabel Normalized Frequency ( times pi blank rad/sample), 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.

measure(halfbandIIR)
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