Electronic Design

Design Method Allows Tradeoffs In Anti-Aliasing Filter Design

This idea details a design method for making anti-aliasing prefilter parameter tradeoffs between several factors. These factors include the filter pass-band magnitude accuracy, the filter order (the number of poles), the ratio of sample frequency to the filter bandwidth of interest, and the filter attenuation at integer multiples of the sample frequency.

The gain magnitude and corner frequency expressions for a unity-gain low-pass Butterworth are given by:

where:

ratio = filter accuracy (e.g., 0.98 = 2%) at Fb

n = filter order

FS = sample frequency in Hertz

Fb = bandwidth of interest in Hertz

Figure 1 shows the anti-aliasing prefilter ahead of the analog-to-digital converter (ADC) in a DSP's digital-filter channel. The low-pass digital filter's gain characteristic, H(Z), is detailed in Figure 2a. Spectra in the bands (bandwidth = 2Fb) centered at multiples of FS show up in the baseband of interest (0, Fb) as aliased signals. Figure 2b demonstrates the prefilter characteristic where the sampled spectra escaping the bands shown are aliased as unwanted energy. Via the prefilter, these spectra are attenuated to within practical limits.

The prefilter design program calculates the gain (in dB) for each of 10 bands (to view the code listing, go to www.PlanetEE.com and click on the "Ideas for Design" icon). Also displayed is the gain-sum-squared (in dB).

Another function of the program is to output the filter's −3-dB corner frequency and the RC time constant for a single-pole filter. Some prefilter characteristics for Band #1 are shown in the table. Observe that a large amount of oversampling is required (FS/Fb = 130) for an RC single-pole −25-dB filter.

Noise samples escaping the prefilter are combined in a root-sum-of-the-squares manner, which represents the rms noise voltage in the baseband (0, Fb). The noise voltage is expressed as shown in Equation 3:

Here, en = noise spectral density input in Vrms/√Hz.

If e1 = e2 . . . = ek, then Equation 3 simplifies to the root-sum-of-squares of G2 × e. This calculation is performed by the program. Generally, the first term is the dominant term and the remaining terms can be ignored.

As an example, the maximum peak-to-peak noise of the ADC output, in terms of LSBs and NB, can be calculated as follows:

where:

B = the word size of the ADC in bits

VSPAN = the full-scale voltage span of the ADC

ETOT = the sum of the direct and aliased rms noise

Suppose a 12-bit ADC is used with a ±5-V, full-scale output, FS = 5000 Hz, Fb = 500 Hz, along with a two-pole prefilter, and an input noise of 44.7
µV/√Hz. From the table, the filter gain G(FS) = −23.1 dB. The noise components can be calculated as:

direct noise = √-500 Hz × 44.7 µV/√Hz = 0.001 V

aliased noise = √1000 Hz × 10−1.155 ×44.7 µV/√Hz = 0.0001 V

then

ETOT = √(0.001)2 + (0.0001)2 ≈ 0.001 V

Substituting these values into Equation 4 yields:

NB = 6 × 212/10 × 0.001
= 2.46 bits