Question
Why does the cascade of a lowpass and a highpass Butterworth filter not produce the same results as a bandpass Butterworth filter in Signal Processing Toolbox 6.10 (R2008b) ? 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)
Expert Answer
Neeta Dsouza
PhD Expert
Answered Aug 25, 2026
This is actually the expected result and is due to the fact that the Signal Processing Toolbox does not cascade a lowpass and a highpass filter to create a bandpass IIR filter. Instead, it first creates a lowpass prototype and then uses a "Transformation Function" to convert it to a bandpass filter as described by the following help documentation in Signal Processing Toolbox 6.10 (R2008b):
web([docroot '/toolbox/signal/f4-9099.html#f4-9199'])
For the theoretical background information, please refer to the references mentioned in the following help documentation:
web([docroot '/toolbox/signal/f4-19497.html']) web([docroot '/toolbox/filterdesign/ug/f2-4793.html'])
100% Run Guarantee
3-Hour Fast-Track Delivery
Need a Custom Version or Complete Simulation for This Problem?
Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.
Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here
Related matlab Questions & Solutions
Browse All →
Explore similar technical troubleshooting questions and verified MATLAB solutions:
Ready-to-Run MATLAB & Simulink Projects
Browse All Projects →