Second-order IIR peak or resonator filter
[num,den] = iirpeak(w0,bw)
[num,den] = iirpeak(w0,bw,ab)
[num,den] = iirpeak(w0,bw) turns a second-order digital peaking filter with the peak 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 signal frequency to boost.
[num,den] = iirpeak(w0,bw,ab) returns a digital peaking 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 peaking filter that boosts the frequency at 1.75 Khz in a signal and has bandwidth of 500 Hz at the -3 dB point:
fs = 10000; wo = 1750/(fs/2); bw = 500/(fs/2); [b,a] = iirpeak(wo,bw); fvtool(b,a);
Shown in the next plot, the peak filter has the desired gain and bandwidth at 1.75 KHz.