DSPRelated.com
Forums

band-pass FIR filter low stopband attenuation problem

Started by Michel Rouzic October 3, 2005
"Michel Rouzic" <Michel0528@yahoo.fr> wrote in message 
news:1128370779.550204.20720@o13g2000cwo.googlegroups.com...
> > Fred Marshall wrote: >> "Michel Rouzic" <Michel0528@yahoo.fr> wrote in message >> news:1128354509.740974.131570@g43g2000cwa.googlegroups.com... >> >I have designed a band-pass filter that uses two windowed-sinc >> > functions that has one which is spectral inverted, and the two are >> > convolved together. >> > >> > The problem with that, is the stopband attenuation on the low side is >> > very poor. It's all well above -50db, as on the high side, it's mostly >> > all under -60db. >> > >> > Both my windowed-sinc functions look fine when looking at their >> > frequency response, so I don't understand how i can get to such a poor >> > stopband attenuation, on only one side. >> >> Michael, >> >> It would really help if your description were more precise. It leaves a >> lot >> to the imagination - and *that* is dangerous. In particular it appears >> that >> the convolution you mention is in time but what if it isn't?? The >> convolution should be in time. Multiply in frequency IF I understand >> what >> you're doing. >> Make sure you leave room for the time domain convolution - that is that >> the >> two windowed sincs are adeqately zero-padded. Otherwise you will get >> temporal aliasing and unexpected results ... no matter if you convolve in >> time or multiply in frequency .. same thing. >> >> I've never heard of inverting the spectrum in order to design a filter. >> Maybe I have something to learn.... It conjures up the vision of zeros >> becoming infinite values..... > > "inverting the spectrum" consists in switching the signs of all your > samples and then adding 1 to the central sample. thus in the frequency > response, 0's becomes 1's and 1's become 0's. > >> Why not use the windowing method or Parks-McClellan? > > Because I never heard of it before > >> The windowing method would start with the ideal filter and convolve in >> frequency with a windowed sinc or Dirichlet kernel really. If the filter >> is >> too short / the sinc is too broad and if the stopband around zero >> frequency >> is too narrow then you'll get what you describe. >> >> I hope this helps. >> >> Fred > > I'm not sure to see what it consists of, but as for my problem, well, > anyways looks fine, as for the frequency response, it's just that when > you look in details, you realize that on the low side things are > "higher" than you'd like them to be. I made sure that both my FIR's > frequency response is right and that my convolution function (FFT > convolution with overlap-add) works very good, i can tell because the > frequency response of any signal convolved with any windowed-sinc > function I do (even spectrally-inverted ones) is exactly what expected, > so I don't think I have any problem of aliasing.\\
OK - there's no aliasing. Of more importance to your observation at the low end is the last thing I mentioned above:
>> The windowing method would start with the ideal filter and convolve in >> frequency with a windowed sinc or Dirichlet kernel really. If the filter >> is >> too short / the sinc is too broad and if the stopband around zero >> frequency >> is too narrow then you'll get what you describe.
It is really the width of the band transitions that's affected by the length of the window. If the window is too short, then a narrow stopband (or a narrow passband) could be taken up in the transition that naturally results. In other words, if the window is too short to resolve the stopband very well then the stopband won't be very "good". Fred