Why are IIR Filters designed in the Filter Design Toolbox more stable than those in the Signal Processing Toolbox?

When designing filters you need normalized coefficients, and when they get very close or abut to 0 or 1, IIR goes unstable with the Signal Processing Toolbox. This effect is magnified for higher orders of the filter.


Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.

The behavior observed is an expected behavior. This is a result of using the Transfer Function versus the Zeros and Poles of the filter generated by the BUTTER function in the Signal Processing Toolbox. They are identical mathematically but numerically the Zeros and Poles are more stable.

This limitation is mentioned in the documentation for the BUTTER function in Signal Processing Toolbox 6.9 (R2008a).

The resolution is illustrated below:

[b,a] = butter(6 , [25e6 29e6]/500e6 , 'bandpass') % bad design [z, p, k] = butter(6 , [25e6 29e6]/500e6 , 'bandpass'); % good design [sos,g] = zp2sos(z,p,k); Hd = dfilt.df2tsos(sos,g); fvtool(b,a,Hd, 'Fs', 500e6*2)



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Technical Source

Technical Source

Simple! That is me, a simple person. I am passionate about knowledge and reading. That’s why I have decided to write and share a bit of my life and thoughts to.