Documentation Center

  • Trial Software
  • Product Updates

Contents

multistage

Multistage filter from specification object

Syntax

hd = design(d,'multistage')
hd = design(...,'filterstructure',structure)
hd = design(...,'nstages',nstages)
hd = design(...,'usehalfbands',hb)

Description

hd = design(d,'multistage') designs a multistage filter whose response you specified by the filter specification object d.

hd = design(...,'filterstructure',structure) returns a filter with the structure specified by structure. Input argument structure is dffir by default and can also be one of the following strings.

structure String

Valid with These Responses

firdecim

Lowpass or Nyquist response

firtdecim

Lowpass or Nyquist response

firinterp

Lowpass or Nyquist response

lowpass

Default lowpass only

Multistage design applies to the default lowpass filter specification object and to decimators and interpolators that use either lowpass or Nyquist responses.

hd = design(...,'nstages',nstages) specifies nstages, the number of stages to be used in the design. nstages must be an integer or the string auto. To allow the design algorithm to use the optimal number of stages while minimizing the cost of using the resulting filter, nstages is auto by default. When you specify an integer for nstages, the design algorithm minimizes the cost for the number of stages you specify.

hd = design(...,'usehalfbands',hb) uses halfband filters when you set hb to true. The default value for hb is false.

    Note:   To see a list of the design methods available for your filter, use designmethods(hd).

Examples

Design a minimum-order, multistage Nyquist interpolator.

l = 15;   % Interpolation factor. Also the Nyquist band.
tw = 0.05; % Normalized transition width
ast = 40;   % Minimum stopband attenuation in dB
d = fdesign.interpolator(l,'nyquist',l,'tw,ast',tw,ast);
hm = design(d,'multistage');
fvtool(hm);

Design a multistage lowpass interpolator with an interpolation factor of 8.

m = 8; % Interpolation factor;
d = fdesign.interpolator(m,'lowpass');
% Use halfband filters if possible.
hm = design(d,'multistage','Usehalfbands',true); 
fvtool(hm);

This figure shows the response for hm.

See Also

|

Was this topic helpful?