Second-order IIR notch filter


[num,den] = iirnotch(w0,bw)
[num,den] = iirnotch(w0,bw,ab)


[num,den] = iirnotch(w0,bw) turns a digital notching filter with the notch located at w0, and with the bandwidth at the -3 dB point set to bw. To design the filter, w0 must meet the condition 0.0 w0 1.0, where 1.0 corresponds to π radians per sample in the frequency range.

The quality factor (Q factor) q for the filter is related to the filter bandwidth by q w0/bw where ω0 is w0, the frequency to remove from the signal.

[num,den] = iirnotch(w0,bw,ab) returns a digital notching filter whose bandwidth, bw, is specified at a level of -ab decibels. Including the optional input argument ab lets you specify the magnitude response bandwidth at a level that is not the default -3 dB point, such as -6 dB or 0 dB.


Design and plot an IIR notch filter that removes a 60 Hz tone (f0) from a signal at 300 Hz (fs). For this example, set the Q factor for the filter to 35 and use it to specify the filter bandwidth:

wo = 60/(300/2);  bw = wo/35;
[b,a] = iirnotch(wo,bw);

Shown in the next plot, the notch filter has the desired bandwidth with the notch located at 60 Hz, or 0.4π radians per sample. Compare this plot to the comb filter plot shown on the reference page for iircomb.

Was this topic helpful?