How do I design filters with unconventional parameters?
1 view (last 30 days)
I am looking for a way to design filters with parameters that are different from what MatLABs filter design functions expect.
expects filter order, passband ripple, stopband ripple and passband edge frequency as parameters, and calculates zeroes, poles and gain that correspond to the parameters.
My filter requirements, however, are often given as "must have zeroes at normalized frequencies a and b" and "must have attenuation of X dB and normalized frequency c". This usually leads to manually changing the parameters expected by the filter design function until the requirements are fulfilled, or possibly using one of MatLABs optimization functions to automatically adjust the parameters. Another way would be to manually place the requires zeroes and poles, but then the rest of the filter coefficient to be set manually.
Are there better ways of designing a filter with requirements like fixed zero or pole locations, or a given gain (not necessarily -3 dB) at a certain frequency?
Star Strider on 25 Nov 2016
Have you experimented with the designfilt and other functions? Other ways to design filter polynomials with specific poles and zeros would be to use the poly function to create the transfer function numerator and denominator polynomials. Beyond that, you might have to go to a textbook to design a specific attenuation, or simply increase the filter order until you get the result you want.
I’m not certain if you already considered these options.