I created a cascade of lowpass and highpass Butterworth filters and compared the result to a bandpass Butterworth filter – all created using either the Signal Processing Toolbox or the Filter Design Toolbox.
The following is an example of this process:
%%8th order bandpass filter
[b,a]=butter(4,[0.4 0.6],'bandpass');Hbp=dfilt.df1(b,a);%%Cascade of 4th order lowpass and highass filters
[b1,a1]=butter(4,0.6); % Lowpass
[b2,a2]=butter(4,0.4,'high'); % Highpass
H1=dfilt.df1(b1,a1);H2=dfilt.df1(b2,a2);Hcas=dfilt.cascade(H1,H2);
I expected "Hcas" and "Hbp" to be equivalent filters. However, executing the following command shows that this is not true:
fvtool(Hbp,Hcas)
Best Answer