Newsgroups: comp.dsp Path: utzoo!utgpu!cunews!wilf From: wilf@sce.carleton.ca (Wilf Leblanc) Subject: Re: Why do FIR filters always have odd tap counts? Message-ID: Sender: news@ccs.carleton.ca (news) Organization: Carleton University, Ottawa, Canada References: <18193@netcom.UUCP> Date: 6 Dec 90 16:00:35 GMT mcmahan@netcom.UUCP (Dave Mc Mahan) writes: >I have done some playing around with FIR filters for various purposes, and >always find something peculiar. FIR filters always have odd tap counts. >Why is that? I have looked in various DSP books, but can find no hint as >to why that fact is true. The books I have looked in, however, always use >odd tap counts. Can somebody give me a good, clear explaination? I'm more >interested in a real explaination rather than pointers to books or >articles, but will try to find the articles if sited. First of all, FIR filters don't always have odd tap counts. Linear phase FIR filters _usually_ have an odd tap count because the group delay is then fixed at (M-1)/2 for an Mth order FIR filter. If M is odd, (M-1)/2 is not an integer, so the delay through the filter is a non integer. i.e. Case I, M = 3, Linear phase FIR filter H(z) = h(0) + h(1)z^-1 + h(0)z^-2 = z^(-1) [ h(0)z + h(0)z^-1 + h(1) ] The group delay is -d arg(H(e^jw))/dw The part inside [ ] is real so the group delay is = 1 a delay of one sample. Case II, M = 2, Linear Phase FIR filter H(z) = h(0) + h(0) z^-1 = z^(-1/2) [ h(0) z^(1/2) + h(0) z^(-1/2)] In this case the group delay is 1/2, a delay of 1/2 sample ? In many cases this delay of 1/2, or (M-1)/2 samples is undesired, thus it is best to use M odd. Compensating for an integer delay is easy, but to compensate for a non-integer delay is more DSP (i.e. another even order FIR). I don't know if this is the only reason to use an odd tap count Linear Phase FIR, but this is why I usually use odd tap counts. > -dave >-- >Dave McMahan mcmahan@netcom.uucp > {apple,amdahl,claris}!netcom!mcmahan -- Wilf LeBlanc Carleton University Internet: wilf@sce.carleton.ca Systems & Computer Eng. UUCP: ...!uunet!mitel!cunews!sce!wilf Ottawa, Ont, Canada, K1S 5B6 Brought to you by Super Global Mega Corp .com