electricpete
Electrical
- May 4, 2001
- 16,774
Any textbook on digital filtering has a rich variety of ways to design a digital LP filter (or HP or BP).
I remember a long time ago in school wondering why we couldn't just take the FFT, set the undesired frequency bins to 0, and then take the inverse FFT (let's call it FFT/set-to-0/IFFT). I remember asking the prof that and he gave me a number of good reasons that wasn't a good idea, but I can't remember them all.
The only one I can really remember is that a sharp cutoff in the frequency domain (resulting from FFT/set-to-0/IFFT)consititues multiplying by square wave in the frequency domain and therefore convolution by sinc function in the time domain. And that convoluion gives you undesirable ripples in the time domain.
I am not sure exactly what kind of undesirable ripples those are, but I have tended to associate them with the Gibb's effect ripple that occurs when you truncate the fourier series for a square wave.
That explanation made me happy until recently I started playing around with actually filtering a square wave using an adjustable Kaiser filter. It seems to me that the overshoot at the corner of the square wave is the same magnitude whether I use an extremely sharp cutoff or an extremely gradual cutoff (although the other ripples reduced as a made the cutoff more gradual). Can that be right? And if we are stuck with the same overshoot either way, why not just use the sharp cutoff associated with FFT/set-to-zero/IFFT? Or are the other smaller adjacent ripples more important than that overshoot?
Any other good explanations what is wrong with the simplistic approach: FFT / set-to-zero / IFFT ?
=====================================
Eng-tips forums: The best place on the web for engineering discussions.
I remember a long time ago in school wondering why we couldn't just take the FFT, set the undesired frequency bins to 0, and then take the inverse FFT (let's call it FFT/set-to-0/IFFT). I remember asking the prof that and he gave me a number of good reasons that wasn't a good idea, but I can't remember them all.
The only one I can really remember is that a sharp cutoff in the frequency domain (resulting from FFT/set-to-0/IFFT)consititues multiplying by square wave in the frequency domain and therefore convolution by sinc function in the time domain. And that convoluion gives you undesirable ripples in the time domain.
I am not sure exactly what kind of undesirable ripples those are, but I have tended to associate them with the Gibb's effect ripple that occurs when you truncate the fourier series for a square wave.
That explanation made me happy until recently I started playing around with actually filtering a square wave using an adjustable Kaiser filter. It seems to me that the overshoot at the corner of the square wave is the same magnitude whether I use an extremely sharp cutoff or an extremely gradual cutoff (although the other ripples reduced as a made the cutoff more gradual). Can that be right? And if we are stuck with the same overshoot either way, why not just use the sharp cutoff associated with FFT/set-to-zero/IFFT? Or are the other smaller adjacent ripples more important than that overshoot?
Any other good explanations what is wrong with the simplistic approach: FFT / set-to-zero / IFFT ?
=====================================
Eng-tips forums: The best place on the web for engineering discussions.