fdesign.arbmagnphase is a MATLAB built-in function that will create a filter that best fits the frequency-response that it is given.

I'd like to implement a similar function in Python. What algorithms are used to synthesize filters based on an arbitrary frequency response?


For FIR filter design, common algorithms include Remez exchange or Parks-McClellan : What is the difference between Remez exchange and Parks-McClellan filter design?

For IIR filters, one possibility is the Differential Evolution algorithm, as described in some IEEE journals. If you have a realistic desired phase response and can guess the filter order, then Berchin's FDLS method may be suitable.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.