This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Anti-Aliasing Filter for Delta Sigma Converters

Other Parts Discussed in Thread: ADS1298

This is a fairly general question, but I'm having trouble finding an answer on this forum or the internet.

Although I'm familiar with designing anti-aliasing (AA) filters for traditional SAR/Nyquist ADCs, I'm a bit confused about the requirements for delta-sigma converters. The AA requirements are supposed to be reduced for delta sigma converters, but how do I determine whether a 1st order LPF is enough?

I've included an example problem that I'm trying to solve below, but I'm hoping that your answers are enlightening enough that I can apply it on future designs...

So, I'm using the ADS1298 and I'm looking for a signal bandwidth of 1kHz and an output data rate of 4kHz. I'd like to use the low power mode, which gives us fMOD=256kHz. We only need 16 bits, so we're looking for aliasing to be less than -96dB (-6dB/bit*16bits).

To keep things simple, let's make the 3dB cutoff of the AA filter to be 1kHz. (I think this gives us a total attenuation of 6dB at 1kHz due to the cascade of 3dB from the AA filter and 3dB from the decimation filter.)

If we use a first order AA filter with 1kHz cutoff, then we get only 48dB attenuation at fMOD=256kHz. If I understand correctly, that gets aliased onto the signal of interest (reflected about fMOD/2), so we require more filtering (i.e. a 2nd order AA filter).

Is this too simplistic? Where does the noise-shaping of the ΔΣ modulator come in... does that only affect *quantization* noise? According to the "ADC ΔΣ Modulator" section of the ADS1298 datasheet, the digital decimation filters provide antialias filtering. How does that work?

Thanks!

  • **TI EDIT February 20th 2019; FOR GENERAL ADS129x ASSISTANCE, PLEASE SEE NEW BIOPOTENTIAL FAQ LOCATED HERE**

    Dpryan,

    Take a look at the attached application note.  It was written for the MSC12x family of microcontrollers with an integrated delta-sigma ADC, but it has a pretty good section regarding the anti-aliasing filter needed and how to design it.

    7268.sbaa111_Understanding_MSC12xx_ADC_Input.pdf

    Best regards,

    Bob B

  • Hi Bob,

    Thanks for the info. That datasheet was quite helpful.

    I guess it's clearer now that the "Output Sample Aliasing" (aliasing due to the decimation filter) is the one that matters for my application since there shouldn't really be much of a signal in the 256kHz range to alias using my sensor. On the other hand, it is very likely that there will be noise at 3kHz which will end up aliasing onto my 0-1kHz region of interest.

    Also to be noted: it seems that that the "output sample aliasing" isn't affected by using the low-power mode vs. the high-resolution mode, since the sinc decimation filter will have the same frequency response. (I guess it would help slightly if you have problems with the fMOD aliasing. Since the difference is 1 octave, you would see 6dB more attenuation for each filter order of analog AA filter).

    So, in my case, the downside is that the sinc^3 filter isn't very sharp, so if we have a bandwidth of 1kHz and an output data rate of 4kHz, then the attenuation of the signal at 3kHz is only 31dB, which will alias onto 1kHz.
    I'm pretty sure the 3kHz frequency is the highest contributor to the aliasing in this example, which is different than the 40dB "hump" of the sinc^3 filter (which also aliases, but not on top of the 0-1kHz region of interest).

    To reduce the amount of aliasing onto my signal of interest, it seems like I have two degrees of freedom:
    I can increase the order of the analog AA filter and/or I can increase the output data rate.

    Increasing the output data rate helps in two ways:

    1. It makes it so that the part that aliases onto the signal band (fDR - fBW) is closer to the notch on the sinc^3 filter. So if we increase the data rate fDR to 8kHz, then the frequency that aliases onto my signal is 7kHz. The attenuation there is 51dB (instead of 31dB)
    2. We're also now further from the corner frequency of our analog AA filter. So fDR=8kHz, then we have 17dB of attenuation @ 7kHz (instead of 10dB@3kHz) for a first order filter.

    I whipped up a table that calculates the amount of aliasing in 10 different scenarios:
    Analog AA filter (1st or 2nd order) and fDR in the allowable configurations (4kHz, 8kHz, 16kHz, 32kHz, 64kHz)

    1st Order LPF

    2nd Order LPF

    4kS/s 

    -41.3636 dB

    -50.5017 dB

    8kS/s 

    -68.3688 dB

    -85.1848 dB

    16kS/s 

    -94.2742 dB

    -117.777 dB

    32kS/s 

    -119.355 dB

    -149.178 dB

    64kS/s 

    -143.959 dB

    -179.945 dB

    Note: The attenuation amounts shown in the table is the amount at fDR - fBW (where fBW=1kHz). It combines the effects of the analog AA filter and the sinc^3 decimation filter.

    So, based on that table, the idea is still use just a 1st order analog AA filter. Then use a 16kS/s output data rate, and then decimate the data down to 4kS/s using a very steep decimation LPF. (For example, low-pass filter the data in an FPGA with a 100-tap FIR filter, and then down sample to 4kS/s.) Then we'll have 4kS/s data with a bandwidth of 1kHz with minimal aliasing in our 16-bit data.

    Is this logic sound?

  • Hi Dpryan,

    Give this post a read regarding the anti-aliasing filter -

    http://e2e.ti.com/support/data_converters/precision_data_converters/f/73/t/146993.aspx#533945

    The cut off frequency and details of the filter depend on what parts of ECG you are interested in. PACE signals and details of the ECG signal is going to require a wider bandwidth requiring you to push out the 3dB point of the AA filter. Last, you should not rely on the internal digital filter for anti-aliasing. You can see in Figure 34 the digital filter behavior out to 1/2/3x the data rate in which the aliasing effects will pass through.

    Regards,

    Tony Calabria