Forums

Width of comb filter teeth

Started by sauwen October 9, 2008
Hi all.  Does anyone know how to change the width of a feedback comb
filter's teeth? From the general idea on wikipedia, it seems like it is
only possible to change the delays and the gain.

Thanks
On Oct 9, 5:21&#2013266080;pm, "sauwen" <sauwen...@gmail.com> wrote:
> Hi all. &#2013266080;Does anyone know how to change the width of a feedback comb > filter's teeth? From the general idea on wikipedia, it seems like it is > only possible to change the delays and the gain.
when you have a feedback comb filter (or even a feed-forward comb filter), try to imagine replacing the delay element, z^-N, with a quantitatively different delay element, z^-1. then with that feedback, you have a simple LPF where, depending on the feedback gain, you can get an idea of how wide this single tooth is. now replace z^-1 with z^-N and you will see that your tooth is scrunched by a factor of 1/N and there are N of these teeth from -Nyquist to just under +Nyquist. does that help you figger it out? r b-j
>On Oct 9, 5:21=A0pm, "sauwen" <sauwen...@gmail.com> wrote: >> Hi all. =A0Does anyone know how to change the width of a feedback comb >> filter's teeth? From the general idea on wikipedia, it seems like it
is
>> only possible to change the delays and the gain. > >when you have a feedback comb filter (or even a feed-forward comb >filter), try to imagine replacing the delay element, z^-N, with a >quantitatively different delay element, z^-1. then with that >feedback, you have a simple LPF where, depending on the feedback gain, >you can get an idea of how wide this single tooth is. now replace >z^-1 with z^-N and you will see that your tooth is scrunched by a >factor of 1/N and there are N of these teeth from -Nyquist to just >under +Nyquist. > >does that help you figger it out? > >r b-j >
Hmm thanks for the insight..!
robert bristow-johnson wrote:
> On Oct 9, 5:21&#2013266080;pm, "sauwen" <sauwen...@gmail.com> wrote: > > > Hi all. &#2013266080;Does anyone know how to change the width of a feedback comb > > filter's teeth? From the general idea on wikipedia, it seems like it is > > only possible to change the delays and the gain. > > when you have a feedback comb filter (or even a feed-forward comb > filter), try to imagine replacing the delay element, z^-N, with a > quantitatively different delay element, z^-1. &#2013266080;then with that > feedback, you have a simple LPF where, depending on the feedback gain, > you can get an idea of how wide this single tooth is. &#2013266080;now replace > z^-1 with z^-N and you will see that your tooth is scrunched by a > factor of 1/N and there are N of these teeth from -Nyquist to just > under +Nyquist. > > does that help you figger it out?
But what to do if you have a comp filter where you are interested in N notches and now want to sharpen those notches without increasing their number? FIR filter sharpening to the rescue! Matthew's original DSP Guru article is now published (well done Matthew, whereever you are!) but still downloadable: http://www.dsprelated.com/showabstract/62.php Regards, Andor
On Fri, 10 Oct 2008 02:35:04 -0700 (PDT), Andor
<andor.bariska@gmail.com> wrote:

>robert bristow-johnson wrote: >> On Oct 9, 5:21&#2013266080;pm, "sauwen" <sauwen...@gmail.com> wrote: >> >> > Hi all. &#2013266080;Does anyone know how to change the width of a feedback comb >> > filter's teeth? From the general idea on wikipedia, it seems like it is >> > only possible to change the delays and the gain. >> >> when you have a feedback comb filter (or even a feed-forward comb >> filter), try to imagine replacing the delay element, z^-N, with a >> quantitatively different delay element, z^-1. &#2013266080;then with that >> feedback, you have a simple LPF where, depending on the feedback gain, >> you can get an idea of how wide this single tooth is. &#2013266080;now replace >> z^-1 with z^-N and you will see that your tooth is scrunched by a >> factor of 1/N and there are N of these teeth from -Nyquist to just >> under +Nyquist. >> >> does that help you figger it out? > >But what to do if you have a comp filter where you are interested in N >notches and now want to sharpen those notches without increasing their >number? FIR filter sharpening to the rescue! > >Matthew's original DSP Guru article is now published (well done >Matthew, whereever you are!) but still downloadable: > >http://www.dsprelated.com/showabstract/62.php > >Regards, >Andor
Hi Andor, That's a good point you're making here. Two items: [1] I don't think Donadio's "filter sharpening" article was ever on the dspguru.com website. It was, however, in the IEEE Sig. Proc. Magazine's "DSP Tip & Tricks" column in Sept. 2003 (pages 61-63). A slightly expanded version of that article later became Chapoter 1 of the book "Streamlining Digital Signal Processing, a Tricks of the Trade Guidebook" (published by Wiley & Sons and the IEEE). That PDF file, that you cited, is the book's Chapter 1. [2] In the first sentence of the last paragraph on page 6 of the PDF file, the phrase "half-power" should be changed to "half-amplitude". Regards, [-Rick-]
On Oct 10, 5:35 am, Andor <andor.bari...@gmail.com> wrote:
> robert bristow-johnson wrote: > > On Oct 9, 5:21 pm, "sauwen" <sauwen...@gmail.com> wrote: > > > > Hi all. Does anyone know how to change the width of a feedback comb > > > filter's teeth? From the general idea on wikipedia, it seems like it is > > > only possible to change the delays and the gain. > > > when you have a feedback comb filter (or even a feed-forward comb > > filter), try to imagine replacing the delay element, z^-N, with a > > quantitatively different delay element, z^-1. then with that > > feedback, you have a simple LPF where, depending on the feedback gain, > > you can get an idea of how wide this single tooth is. now replace > > z^-1 with z^-N and you will see that your tooth is scrunched by a > > factor of 1/N and there are N of these teeth from -Nyquist to just > > under +Nyquist. > > But what to do if you have a comb filter where you are interested in N > notches and now want to sharpen those notches without increasing their > number?
what i intended was that one would do it the same way as "sharpening" (perhaps not necessarily the same thing as what you are referring to) the simple one-pole LPF by increasing the feedback coef to get closer to 1. but replace the z^-1 in the LPF prototype with z^- N to get a comb. as the coef (which happens to be the pole value) gets closer to 1, the LPF cutoff gets lower (or closer to the center of the tooth). LPF: .-----. .------. x[n] --->| 1-p |--->(+)---->| z^-1 |----------> y[n] '-----' ^ '------' | | | | .-----. | '--<---| p |<-------' '-----' now ask, what happens when z^-1 is replaced by z^-N? feedback comb: .-----. .------. x[n] --->| 1-p |--->(+)---->| z^-N |----------> y[n] '-----' ^ '------' | | | | .-----. | '--<---| p |<-------' '-----' i think it's pretty straight-forward and you sharpen the teeth by increasing p (but |p| must remain less than 1). that's how you sharpen the single tooth of the LPF. this was the simple answer that i wanted to point to. if you consider that even a simple LPF is a sorta comb filter with teeth at every multiple of 2*pi, whatever you can do with a LPF to lower the cutoff frequency (the difference between the bandedge and the middle of the tooth at 0 Hz) is what you do with a comb filter (where z^-1 is replaced by z^-N) to decrease the frequency difference between the bandedge and the frequency of the middle of the tooth. but the frequency scale is itself scaled by 1/N so the teeth are at multiples of 2*pi/N and the distance between tooth center and edge is reduced by the same factor of 1/N. you could make sharper comb filters (with more rectangular teeth) by starting with a 2nd order (or higher order) LPF prototype (with z^-1) and replacing those unit delays with a longer delay, z^-N. you could use the same concepts of Butterworth filters to make the teeth of the comb filter look like little brick-wall rectangles with sharp corners at the bandedges. so now i'm gonna look more closely at Matt's pdf that you linked to. i sorta think that this might correspond to transforming the feedforward (FIR) LPF to a corresponding comb. but i dunno yet. r b-j
sauwen wrote:

> Hi all. Does anyone know how to change the width of a feedback > comb filter's teeth? From the general idea on wikipedia, it > seems like it is only possible to change the delays and the > gain.
http://en.wikipedia.org/wiki/Comb_filter shows an unnormalized comb filter. Put a multiplier in series to keep the peaks at unit gain and the alpha coefficient will control Q; this is the same structure as Robert has shown. But. That way shifts the strong dependence on alpha from peaks to troughs, which were pretty insensitive in the unnormalized version, as Wikipedia's graphs show. (Specifically, the minima will approach zero instead of 1/2 as |alpha| increases.) If that's fine with you, great. Otherwise describe in detail just what you wish the response to be across different settings -- what shall move and what is to stay put. Martin -- Why is 6 afraid of 7? Because 7 8 9.