Main Content


Cascade of discrete-time filters


hd = dfilt.cascade(filterobject1,filterobject2,...)


hd = dfilt.cascade(filterobject1,filterobject2,...) returns a discrete-time filter object hd of type cascade, which is a serial interconnection of two or more filter objects filterobject1, filterobject2, and so on. dfilt.cascade accepts any combination of dfilt objects (discrete time filters) to cascade, as well as Farrow filter objects.

You can use the standard notation to cascade one or more filters:


where hd1, hd2, and so on can be mixed types, such as dfilt objects and other filtering objects.

hd1, hd2, and so on can be fixed-point filters. All filters in the cascade must be the same arithmetic format — double, single, or fixed. hd, the filter object returned, inherits the format of the cascaded filters.


Cascade a lowpass filter and a highpass filter to produce a bandpass filter.

[b1,a1]=butter(8,0.6);				% Lowpass
[b2,a2]=butter(8,0.4,'high');		% Highpass
hcas=dfilt.cascade(h1,h2);			% Bandpass with passband 0.4-0.6
% View stage 1 with hcas.Stage(1)
Introduced in R2011a