Does anyone know of some simple algorithms to linearize the phase response of a filter. I have a notch filter with a non-linear phase response. I basically need an all pass filter (so that the magnitude response is unaffected) whose phase response is such that it neutralizes the non-linearity of the original filter.

  • 1
    $\begingroup$ There is no simple algorithm for that, it is a non-trivial problem. What is your filter order? Could you post the coefficients? I have some algorithm that might be suitable for the design of an IIR notch filter with approximately linear phase. A cascade of frequency selective IIR filter + allpass equalization filter is always sub-optimal. $\endgroup$
    – Matt L.
    May 3, 2015 at 20:32
  • $\begingroup$ The notch filter I designed was using Matlab's iirnotch command. The code is as follows: samp_F = 500; notch_freq = 60; wo = notch_freq/(samp_F/2); bw = wo/20; [b,a] = iirnotch(wo,bw); The coefficients of the transfer function are: b = [ 0.9815 -1.4310 0.9815], a = [ 1.0000 -1.4310 0.9630] $\endgroup$ May 3, 2015 at 20:41
  • $\begingroup$ i would look at it in terms of phase delay or group delay (and spec'ing to make it constant, which would be linear in phase). see how the group delay of the APF looks and see if you can cancel an up-slope in group delay from your notch with a down-slope in the APF. $\endgroup$ May 4, 2015 at 1:58
  • $\begingroup$ @robertbristow-johnson I presume that you mean All Pass Filter for APF? If so I think the question author should look at the Wikipedia article for All Pass Filters and see it's applicable. $\endgroup$
    – rrogers
    May 6, 2015 at 11:36


Your Answer

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

Browse other questions tagged or ask your own question.