Hi, I am implementing a FIR filter. A typical application for the filter would be a wireless communications system. Assuming the filter is programmable, is it possible for any of the filter coefficients to be zero? I ask this as the multiplier unit in my filter's tap can be simplified if the coefficients are never zero. Reference to a credible source will be much appreciated. Many thanks. This message was sent using the Comp.DSP web interface on www.DSPRelated.com

# FIR filter coefficients - are they ever zero??

Started by ●August 15, 2005

Reply by ●August 15, 20052005-08-15

elp02rap wrote:> Hi, > > I am implementing a FIR filter. A typical application for the filter > would be a wireless communications system. > > Assuming the filter is programmable, is it possible for any of the filter > coefficients to be zero? I ask this as the multiplier unit in my filter's > tap can be simplified if the coefficients are never zero. Reference to a > credible source will be much appreciated.If any filter characteristic may be called for, I doubt that you'll find a way to always avoid zero or very small taps. I'm very curious to know why multiplying by zero should be hard. Are you designing hardware? Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������

Reply by ●August 15, 20052005-08-15

elp02rap wrote:> I am implementing a FIR filter. A typical application for the filter > would be a wireless communications system. > > Assuming the filter is programmable, is it possible for any of the filter > coefficients to be zero? I ask this as the multiplier unit in my filter's > tap can be simplified if the coefficients are never zero.Not sure why you'd want to implement a MAC unit this way, but you can always evaluate whether the quantizing error caused by using the smallest usable multiplier instead of zero fits within your error budget. IMHO. YMMV. -- rhn A.T nicholson d.O.t C-o-M

Reply by ●August 15, 20052005-08-15

If you have to be able to realize any arbitrary filter, then zeros may well be required. If you can restrict the types of filters you deal with, it may be possible to avoid zeros. -- Jon Harris SPAM blocker in place: Remove 99 (but leave 7) to reply "elp02rap" <r.a.patel@sheffield.AC.UK> wrote in message news:18idnTl81q_AHZ3eRVn-3A@giganews.com...> Hi, > > I am implementing a FIR filter. A typical application for the filter > would be a wireless communications system. > > Assuming the filter is programmable, is it possible for any of the filter > coefficients to be zero? I ask this as the multiplier unit in my filter's > tap can be simplified if the coefficients are never zero. Reference to a > credible source will be much appreciated. > > Many thanks. > > > This message was sent using the Comp.DSP web interface on > www.DSPRelated.com

Reply by ●August 16, 20052005-08-16

"elp02rap" <r.a.patel@sheffield.AC.UK> wrote in message news:18idnTl81q_AHZ3eRVn-3A@giganews.com...> Hi, > > I am implementing a FIR filter. A typical application for the filter > would be a wireless communications system. > > Assuming the filter is programmable, is it possible for any of the filter > coefficients to be zero? IYes. A halfband filter is often used and has (N-1)/2 zero coefficients. Now, actually this is nice because you can implement a filter with (N-1)/2 coefficients and double the delay for each stage - then add the contribution for the center coefficient for every sample. So, this type of filter gets around your concern I guess. Otherwise you might do an approximation using sums of powers of two (SPT) coefficients and quantize the heck out of the smaller coefficients so that they either go away or become +/- 1 LSB that you may have decided on. This avoids multiplications altogether by using simple shifts and adds and can take advantage of the symmetry of filter coefficients. Here's an example of a short lowpass filter using SPT: Initial filter coefficients: 0.05374923700000 -0.00002594646500 -0.09155516300000 0.00000771114260 0.31320220000000 0.50002491000000 0.31320220000000 0.00000771114260 -0.09155516300000 -0.00002594646500 0.05374923700000 Normalized to the center coefficient (=1.0) and rounded off: 0.06250000000000 1/16 a shift of 4 and no adds 0 -0.18750000000000 1/8 + 1/16 shifts of 3 and 4 and one add 0 0.62500000000000 1/2 + 1/8 shifts of 1 and 3 and one add 1.00000000000000 1.0 no shifts and no adds 0.62500000000000 etc. 0 -0.18750000000000 0 0.06250000000000 Fred

Reply by ●August 16, 20052005-08-16

"Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message news:SNOdnZ2dnZ30wL-TnZ2dncmAn96dnZ2dRVn-yZ2dnZ0@centurytel.net...> > "elp02rap" <r.a.patel@sheffield.AC.UK> wrote in message > news:18idnTl81q_AHZ3eRVn-3A@giganews.com... >> Hi, >> >> I am implementing a FIR filter. A typical application for the filter >> would be a wireless communications system. >> >> Assuming the filter is programmable, is it possible for any of the filter >> coefficients to be zero? I> > Otherwise you might do an approximation using sums of powers of two (SPT) > coefficients and quantize the heck out of the smaller coefficients so that > they either go away or become +/- 1 LSB that you may have decided on. > This avoids multiplications altogether by using simple shifts and adds and > can take advantage of the symmetry of filter coefficients.What I was trying to say was that zero coefficients are often considered to be good rather than bad.... You might think about why this is the case and how that affects your architectural approach. Fred