0
\$\begingroup\$

I wish to avoid aliasing as a result of taking the FFT of a signal. The signal isn't band limited. My understanding is that I should band limit the continuous-time signal first. How do I do this?

EDIT:

I am simulating a continuous time signal of the form \$s(t) = \sum_{p} t/\tau_{p}\$ from knowledge of the constants \$\tau_{p}\$. I then wish to see what that looks like in the frequency domain, but when I take the FFT it does not appear band limited. (Happy to add whatever additional info might be relevant.)

\$\endgroup\$
4
  • 2
    \$\begingroup\$ I would use a continuous time filter - however the implementation of one depends a lot on your system. Is this a simulated continuous time signal, a real analog signal you're sampling, or perhaps something else entirely? You can add the details to your question \$\endgroup\$
    – Bryan
    Jun 1, 2022 at 19:12
  • 1
    \$\begingroup\$ Thanks. I'll add some details. \$\endgroup\$
    – user314730
    Jun 1, 2022 at 19:18
  • \$\begingroup\$ Well, the FFT will be band limited in that it will only display frequencies up to fs/2. But everything coming into your digitizer will show up in the bandwidth, someplace. That's why you need to bandpass limit your analog input, in general. \$\endgroup\$
    – SteveSh
    Jun 1, 2022 at 21:02
  • \$\begingroup\$ What range of t are you taking the FFT over? Are you using any windowing before taking the FFT? (Remember, the FFT effectively treats your signal as being periodic with a period equal to your total sampling time. Your function will have a big discontinuity between \$n=N\$ and \$n=0\$, which will dominate what you see in the FFT result. Windowing (Hamming, Hanning, etc.) can help minimize this effect. \$\endgroup\$
    – The Photon
    Jun 1, 2022 at 22:29

1 Answer 1

1
\$\begingroup\$

Typically this is done with an antialiasing filter on the analog input.

This will typically be a low pass filter, although some may be integrated with a high pass at a much lower frequency for other purposes. Alternatively, it can be a bandpass filter if you're performing demodulation or intentional aliasing as a step in the sampling process.

Depending on how much aliasing you want to avoid, you can put the corner(s) of the filter at or short of the edge of the desired band--it depends on the balance of your concern for the integrity of the information at the band's edge and your aversion to aliasing. Standard practice is to set your Nyquist rate somewhat higher (10-20% typically) than your band of interest, place the corner of your antialiasing filter at the edge of the band of interest, and then digitally filter out the unnecessary content near the band edge.

\$\endgroup\$
7
  • \$\begingroup\$ +1 Thank you. So just to be clear - you filter in the time domain? \$\endgroup\$
    – user314730
    Jun 1, 2022 at 19:36
  • 1
    \$\begingroup\$ The analog domain may be a better description of where you want to filter. Before the signal/input is digitized. \$\endgroup\$
    – SteveSh
    Jun 1, 2022 at 19:52
  • \$\begingroup\$ Could you point me to a good pedagogical description of this procedure? \$\endgroup\$
    – user314730
    Jun 1, 2022 at 20:29
  • \$\begingroup\$ Designing an analog lowpass filter? Or deciding on parameters? \$\endgroup\$ Jun 1, 2022 at 20:40
  • \$\begingroup\$ Both if possible! \$\endgroup\$
    – user314730
    Jun 1, 2022 at 21:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.