Electrical – Low-Pass Filter Cutoff Frequency

ddsfilter

In the context of direct digital synthesis, I need a low pass filter to reconstruct the analog signal at the output of a DAC. I'm generating only sine wave signals and the maximum carrier frequency is 220 kHz.

Are there any rules of the thumb for setting the filter's cutoff frequency, so that a 220 kHz sine wave passes through almost unfiltered, and everything higher than that gets attenuated?

Obviously, the cutoff frequency should be set "just above" 220 kHz. But how much is "just above"?

Best Answer

There are two important bands in an anti-alias, aka reconstruction, filter. There's the passband, and then there's the arguably more important stopband.

Obviously, the passband should cover at least the band you want to generate, but it can cover more. In waveform synthesis it can be advantageous to cover significantly more if it makes the group delay at the edge of the desired bandwidth flatter. However, for single sinewaves, phase is not an issue and it can be very close if flatness permits.

The stopband has to stop all the aliases coming from the DAC. If you're sampling at 10MHz, then the aliases of DC to 220kHz extend from 9.78MHz to 10.22MHz.

To be easy on yourself, you should design the lowest order, that is, most gently sloping in the transition band, filter that will meet your desired flatness at 220kHz, and suppression above 9MHz.

Most (all, that we're concerned with) DACs will implement a 'zero order hold', that is, output a rectangular stepped waveform rather than narrow pulses. This means that the aliases will already have been filtered significantly by the sinc(x) response. For 9.78MHz, sinc(x) = 0.023, or over 30dB of free alias filtering. That's a good reason for using the very high oversampling ratio that you have, rather than trying to snuggle right up to Nyquist.

Where should the filter corner/cutoff frequency be between 220kHz and 9.78MHz? You're trading off passband flatness, stopband depth, and filter complexity.

If you use a single RC (first order filter) with a 300kHz corner, then you'll have an additional 30dB of alias suppression, and only lose a couple of dB with the sloppy passband shape at 220kHz.

A first order filter with a 1MHz corner would give you a flatter passband, and the additional 20dB alias suppression will be adequate for a 'scope', though not for more sensitive applications.

A higher order filter will give you a flatter passband and deeper stopband. Again, play with the corner frequency to trade off passband flatness and stopband suppression.

That's the argument from signal processing point of view. In practice, there will be other signals between 220kHz and 9.78M. There will be thermal noise, and there may be interference from other signals like MCU clocks or SMPS switching. Both of these can be reduced by bringing the stopband edge down in frequency, to 1MHz or even 500kHz. Even with a 2:1 stop/pass ratio, you should still be able to design a reasonable order filter, but less than that and it gets somewhat harder.