Monday, 16 May 2016

infinite impulse response - Design a linear-phase FIR filter approximating the magnitude of a given IIR filter


I have a biquad IIR filter from which I want to get a linear-phase FIR. I saw that related question but the OP does not care much about phase.


I have troubles getting the exact same magnitude curve when extracting an FIR from my IIR.


So far, my method has been:




  1. Apply my IIR filter on a 1024 samples buffer which contains nothing but a Dirac as first sample.

  2. Shift the impulse response obtained in step 1 and make it symmetric (to get phase linearity)


If I stop after step 1, I get the exact same magnitude curve for my IIR and my FIR but I also get the exact same phase curve (which is non linear, and hence not interesting).
If I stop after step 2, I get an linear phase but not the exact same magnitude.


On the following picture, IIR's and FIR's (after step 2) transfer functions are (respectively) in red and blue:


enter image description here


What have I been doing wrong?




No comments:

Post a Comment

readings - Appending 内 to a company name is read ない or うち?

For example, if I say マイクロソフト内のパートナーシップは強いです, is the 内 here read as うち or ない? Answer 「内」 in the form: 「Proper Noun + 内」 is always read 「ない...