1
$\begingroup$

As far as I have seen, almost all theoretical filter design occurs in Laplace or Z-space. Also, there is a pervasive connection to real life analog filters in the design. If one is just thinking in a mathematical theoretical thing (or something that could be implemented digitally), why wouldn't one filter signals in Fourier Space?

Why is, say, multiplying the Fourier Transform of a certain function by a unit step up - step down function, and then making the Inverse Transform of the resulted signal a "band pass filter"? Why should one use Butterworth filter or similar things to make a digital filter?

$\endgroup$
0
1
$\begingroup$

As far as I know and I have experienced, filtering in Fourier space has the advantages of modifying the frequencies directly on the frequency domain. Let's say that you have a frequency component at 50 Hz and you can manually remove then even better than a Butterworth filter. That being said, you might modify the phase response of your filter introducing phase distortion and the real effect is the modification of the group delay. In other terms, you are delaying the signal and moreover, you are giving different magnitudes or weight to the frequencies of your signal. This is a nightmare in a physical implementation.

In this context, the use of filters and unit step up-step down (similar to a digital antialiasing filter) can maintain the linear phase response.

I hope this helps and I have not confused you!

$\endgroup$
2
  • 1
    $\begingroup$ No, actually you spoke closer to my language, as i am physicist with NO background in DSP, but enough in Integral Transforms and Waves... thanks! $\endgroup$ – wpkzz Oct 10 '20 at 2:35
  • $\begingroup$ Did this answer your question: "Why is, say, multiplying the Fourier Transform of a certain function by a unit step up - step down function, and then making the Inverse Transform of the resulted signal a "band pass filter"?" $\endgroup$ – robert bristow-johnson Oct 10 '20 at 22:26
4
$\begingroup$

We actually do implement long FIR filters doing that. If it's running real-time or on an input that is indefinitely long, then the method for doing that is called "fast convolution". Remember that the "Fourier Transform" that you are multiplying is the Discrete Fourier Transform and that has issues regarding circularity in the resulting convolution. We deal with that problem using "Overlap-Add" or "Overlap-Save". The frequency response that you are multiplying by must be one of an adequately short FIR to prevent "time aliasing".

$\endgroup$
3
  • $\begingroup$ Thanks, but that doesn't help me to understand the "why". Why is what you're saying not the standard procedure? Why is only used in such or that cases? $\endgroup$ – wpkzz Oct 8 '20 at 23:58
  • $\begingroup$ No, I am saying how to do it. The DFT (or FFT) only does circular convolution. So somehow you have to make that circular convolution machine do linear convolution. The only way to do that is with zero-padding the FIR. Only frequency responses that correspond to a sufficiently short FIR do not cause time-aliasing. So your arbitrary frequency response where you multiply some FFT bins with 1 and others by 0 will not correspond to an FIR that is short enough to avoid time-aliasing. $\endgroup$ – robert bristow-johnson Oct 9 '20 at 0:11
  • $\begingroup$ Time alliasing? mmm I think now you're pointing me in the right direction. Let me read about that. By the way, thanks for the edit! $\endgroup$ – wpkzz Oct 9 '20 at 16:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.