I have a adaptive FIR filter of length 84 with magnitude response , which is close to low pass. (Please see the attached figure). I need to design filter that has a magnitude response opposite of the FIR filter(to undo its effect),as set of upto 5 buquads. If i directly design the FIR using second order sections, there will be more than 5 biquad sections. I have following approach in mind:
Smooth the magnitude response of FIR filter( Don't need the exact ripple behavior)
Inverse FFT the magnitude response and try to form cascaded sos from it ( e.g using tf2sos in Matlab)
I have following questions
Is my approach outlined correct? any other suggestions?
How do I smooth the magnitude response? Probably a attack release kind of filter just to track its envelope? or if i just use Welch kind of power spectral density estimate and then take its square root, would that be correct?
- How about decimating the spectrum after smoothing, and then converting back to time domain and splitting to cascaded sos?
Basically, what i need is a technique that allows creating variable number of cascaded sos from given Filter magnitude response. Thanks