Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!apple!agate!ucbvax!galileo.berkeley.edu!jbuck From: jbuck@galileo.berkeley.edu (Joe Buck) Newsgroups: comp.dsp Subject: Re: Digital Filters Message-ID: <39600@ucbvax.BERKELEY.EDU> Date: 15 Nov 90 20:33:13 GMT References: <1990Nov15.121559.11290@watserv1.waterloo.edu> Sender: usenet@ucbvax.BERKELEY.EDU Reply-To: jbuck@galileo.berkeley.edu (Joe Buck) Distribution: na Lines: 28 In article <1990Nov15.121559.11290@watserv1.waterloo.edu>, optadm7@watserv1.waterloo.edu (J.Cassidy - Optometry) writes: > I have a really interesting application for digital filtering > using a DSP chip, but I am having some difficulty understanding > the derrivations for a filter's tap coefficients. > I understand that the expression of a FIR filter is: > b0*a[n] + b1*a[n-1] + b2*a[n-2] + etc... > where b[0] to b[n] are the tap coefficients and assume they > are what determine the performance of the filter. But how > to I generate b[n], given that I have the filter parameters > such as filter type (butterworth/bandpass), lowpass cutoff > frequency, highpass cutoff frequency, etc. A Butterworth filter is an IIR filter, so you can't represent it using an IIR filter. There are several design techniques for FIR filters given a specification of cutoff frequencies and other parameters; the best (in most cases) is the Parks-McClellan algorithm for designing optimal FIR filters. Find the book "Programs for digital signal processing" (I think that's the title) published by IEEE Press (I think you can also get a tape) for many DSP programs written in spaghetti Fortran. -- Joe Buck jbuck@galileo.berkeley.edu {uunet,ucbvax}!galileo.berkeley.edu!jbuck