Folks, is it possible to construct a causal and realizable n-th order IIR filter, where n > 1 is an integer, which acts as an infinitely narrow notch filter? This filter must have frequency response H(w) = 1, for w =/= w0 = 0, for w == w0, for some arbitrary 0 < w0 < pi. Assume for the moment that the filter can be computed with infinite precision. Have a nice weekend! Regards, Andor
DSP Riddle: Infinitely Narrow Notch Filter
Started by ●May 19, 2006
Reply by ●May 19, 20062006-05-19
Andor wrote:> Folks, > > is it possible to construct a causal and realizable n-th order IIR > filter, where n > 1 is an integer, which acts as an infinitely narrow > notch filter? This filter must have frequency response > > H(w) = 1, for w =/= w0 > = 0, for w == w0, > > for some arbitrary 0 < w0 < pi. > > Assume for the moment that the filter can be computed with infinite > precision. > > Have a nice weekend! > > Regards, > AndorI would say no. If such discrete time filter would be realized the impulse response would always have zero energy (i.e., h[n]=0, for all n) and thus it would not be realizable as an IIR filter with the given frequency response. -- Jani Huhtanen Tampere University of Technology, Pori
Reply by ●May 19, 20062006-05-19
Jani Huhtanen wrote:> Andor wrote: > >> Folks, >> >> is it possible to construct a causal and realizable n-th order IIR >> filter, where n > 1 is an integer, which acts as an infinitely narrow >> notch filter? This filter must have frequency response >> >> H(w) = 1, for w =/= w0 >> = 0, for w == w0, >> >> for some arbitrary 0 < w0 < pi. >> >> Assume for the moment that the filter can be computed with infinite >> precision. >> >> Have a nice weekend! >> >> Regards, >> Andor > > I would say no. If such discrete time filter would be realized the impulse > response would always have zero energy (i.e., h[n]=0, for all n) and thus > it would not be realizable as an IIR filter with the given frequency > response. >Nevermind, I misread your definition for H(w). :( -- ---- Jani Huhtanen Tampere University of Technology, Pori
Reply by ●May 19, 20062006-05-19
Andor wrote:> Folks, > > is it possible to construct a causal and realizable n-th order IIR > filter, where n > 1 is an integer, which acts as an infinitely narrow > notch filter? This filter must have frequency response > > H(w) = 1, for w =/= w0 > = 0, for w == w0, > > for some arbitrary 0 < w0 < pi. > > Assume for the moment that the filter can be computed with infinite > precision. > > Have a nice weekend! > > Regards, > Andor >Yes, but it would take an infinite amount of time to verify that it worked correctly. Practically, you could make a Kalman filter to detect your tone and subtract it out -- that would be an IIR filter (just time varying), and it would notch out the tone to the best of it's ability for any given time. But then practically you wouldn't have infinite precision. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Posting from Google? See http://cfaj.freeshell.org/google/ "Applied Control Theory for Embedded Systems" came out in April. See details at http://www.wescottdesign.com/actfes/actfes.html
Reply by ●May 19, 20062006-05-19
Jani Huhtanen said the following on 19/05/2006 15:44:> Jani Huhtanen wrote: > >> Andor wrote: >> >>> is it possible to construct a causal and realizable n-th order IIR >>> filter, where n > 1 is an integer, which acts as an infinitely narrow >>> notch filter? This filter must have frequency response >>> >>> H(w) = 1, for w =/= w0 >>> = 0, for w == w0, >>> >>> for some arbitrary 0 < w0 < pi. >>> >>> Assume for the moment that the filter can be computed with infinite >>> precision. >>> >> I would say no. If such discrete time filter would be realized the impulse >> response would always have zero energy (i.e., h[n]=0, for all n) and thus >> it would not be realizable as an IIR filter with the given frequency >> response. > > Nevermind, I misread your definition for H(w). :(Even so, I think you may be along the right lines (alternatively, there may be a massive flaw in the following argument ;) ). If H(w) is realisable, then we can also realise a filter G(w) = 1 - H(w) with the following structure: +----+ +1 --+------>|H(w)|----->O-------> | +----+ ^ | | -1 +-------------------+ G(w) is a BPF with an infinitely narrow passband, which would then have zero energy (as you originally suggested). Therefore G(w) is unrealisable, implying that H(w) is also unrealisable. QED? -- Oli
Reply by ●May 19, 20062006-05-19
Andor wrote:> > is it possible to construct a causal and realizable n-th order IIR > filter, where n > 1 is an integer, which acts as an infinitely narrow > notch filter? This filter must have frequency response > > H(w) =3D 1, for w =3D/=3D w0 > =3D 0, for w =3D=3D w0, > > for some arbitrary 0 < w0 < pi. > > Assume for the moment that the filter can be computed with infinite > precision.you can get arbitrarily close for n=3D2. zeros =3D exp(=B1j*w0) poles =3D (1-e)*exp(=B1j*w0) where 0 < e << 1. but, from a Lebesgue measure POV, there is no difference betwee the specification you made and one where H(w) =3D 1 for all w. r b-j
Reply by ●May 19, 20062006-05-19
Oli Filth wrote:> Jani Huhtanen said the following on 19/05/2006 15:44: > >> Jani Huhtanen wrote: >> >>> Andor wrote: >>> >>>> is it possible to construct a causal and realizable n-th order IIR >>>> filter, where n > 1 is an integer, which acts as an infinitely narrow >>>> notch filter? This filter must have frequency response >>>> >>>> H(w) = 1, for w =/= w0 >>>> = 0, for w == w0, >>>> >>>> for some arbitrary 0 < w0 < pi. >>>> >>>> Assume for the moment that the filter can be computed with infinite >>>> precision. >>>> >>> I would say no. If such discrete time filter would be realized the >>> impulse >>> response would always have zero energy (i.e., h[n]=0, for all n) and >>> thus >>> it would not be realizable as an IIR filter with the given frequency >>> response. >> >> >> Nevermind, I misread your definition for H(w). :( > > > Even so, I think you may be along the right lines (alternatively, there > may be a massive flaw in the following argument ;) ). > > If H(w) is realisable, then we can also realise a filter G(w) = 1 - H(w) > with the following structure: > > +----+ +1 > --+------>|H(w)|----->O-------> > | +----+ ^ > | | -1 > +-------------------+ > > G(w) is a BPF with an infinitely narrow passband, which would then have > zero energy (as you originally suggested). > > Therefore G(w) is unrealisable, implying that H(w) is also unrealisable. > > QED?Doesn't your argument imply that H(w) has zero phase shift in the notch? I see H(w) being unrealizable simply because there are no infinities is reality. The slopes of the filter edges are unrealizably steep. (I don't have to prove it because I just /*know*/.) Andor will unveil it all on Monday. I (a)wait with (a)bated breath. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●May 19, 20062006-05-19
Jerry Avins said the following on 19/05/2006 18:17:> Oli Filth wrote: > >> If H(w) is realisable, then we can also realise a filter G(w) = 1 - H(w) >> with the following structure: >> >> +----+ +1 >> --+------>|H(w)|----->O-------> >> | +----+ ^ >> | | -1 >> +-------------------+ >> >> G(w) is a BPF with an infinitely narrow passband, which would then have >> zero energy (as you originally suggested). >> >> Therefore G(w) is unrealisable, implying that H(w) is also unrealisable. > > Doesn't your argument imply that H(w) has zero phase shift in the notch?Yes, I believe it does. I guess this leads back to the phase-linear IIR discussions that keep cropping up here!> I see H(w) being unrealizable simply because there are no infinities is > reality. The slopes of the filter edges are unrealizably steep. (I don't > have to prove it because I just /*know*/.)Indeed, but isn't the "fun" in such riddles the proof? :) -- Oli
Reply by ●May 19, 20062006-05-19
> H(w) = 1, for w =/= w0 > = 0, for w == w0,Do you mean within the band 0 < w < w_s / 2? A digital filter always has infinite images, so otherwise you couldn't implement such a thing. --Randy
Reply by ●May 19, 20062006-05-19
Tim Wescott <tim@seemywebsite.com> wrote in news:8KSdnUsGjuGof_DZnZ2dnUVZ_t6dnZ2d@web-ster.com:> Andor wrote: > >> Folks, >> >> is it possible to construct a causal and realizable n-th order IIR >> filter, where n > 1 is an integer, which acts as an infinitely narrow >> notch filter? This filter must have frequency response >> >> H(w) = 1, for w =/= w0 >> = 0, for w == w0, >> >> for some arbitrary 0 < w0 < pi. >> >> Assume for the moment that the filter can be computed with infinite >> precision. >> >> Have a nice weekend! >> >> Regards, >> Andor >> > Yes, but it would take an infinite amount of time to verify that it > worked correctly.Since BT >= 1, I agree with Tim that it would take an infinite amount of time since as B=>0, T=>infinity, however, You make a notch filter by placing a zero on the unit circuit. To narrow the bandwidth you place a pole at the same angle but with a radius less than 1. As the pole gets closer to the unit circle, the bandwidth becomes increasingly narrower, but not zero. If the pole was placed exactly on the unit circle (which is sort of causal) , you would get perfect pole zero cancellation, which doesn't yield the desired notch. I don't think a using higher order filter will change the result. So from a purely heuristic point of view, I don't think you can create Andor's filter. -- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com