12
$\begingroup$

I am working on a board that has no antialisaing filter at the input of the ADC. I have option to I implement my own filter using RC + Opamp circuit. But is it also possible to implement Anti Aliasing filter after sampling by ADC and processing in Digital domain: a digital Anti aliasing filter?

$\endgroup$

3 Answers 3

12
$\begingroup$

Just to support Matt's answer and provide a few more details:

Most modern ADCs do most of the hard antialiasing job in the digital domain. Reason is that digital filters tend to produce less by-products for a much lower cost. The actual chain is:

  • Analog Input.
  • Analog Anti-aliasing filter.
  • Oversampling (eg, at 8x).
  • Digital Anti-Aliasing Filter.
  • Decimating (reduction to 1x).
  • Digital Output.

The further illustrate, consider the following:

  • The audio is sampled at 44100Hz.
  • This provides a Nyquist frequency of 22050 Hz.
  • Any frequencies above 24100 Hz will alias back to the audible range (below 20kHz).
  • 20000Hz to 24100 is about quarter of an octave.
  • Even with a steep 80dB/8ve filter you will only be reducing the aliasing frequencies by 20dB.

But with 8x oversampling:

  • The audio is sampled at 352.8kHz (44.1kHz x 8).
  • Nyquist is 176.4 kHz.
  • Only frequencies above 332.8kHz will mirror to the audible range.
  • That's about 4 octaves.
  • So you can apply a 24dB/8ve analog filter to reduce aliasing frequencies by 96dB.
  • Then oversample.
  • Then apply linear phase digital filter between 20kHz and 24.1kHz

The following book is an excellent, clear resource for these sort of things.

$\endgroup$
6
  • 1
    $\begingroup$ What you say is certainly true for audio applications (in which ready to use, integrated codec chips replaced ADC/DAC a long time ago) - but there are many fields of engineering in which the acquisition is still done by vanilla SAR ADCs (as standalone chips or built into microcontrollers) - and with these you have to do the hard work! $\endgroup$ Commented May 21, 2013 at 21:38
  • $\begingroup$ That's a great comment. Yet I believe the answer still stands - if you can afford it, digital anti-aliasing filters brings about many benefits. $\endgroup$
    – Izhaki
    Commented May 22, 2013 at 8:54
  • $\begingroup$ just wanted to know is this the way to make sure that the analog filters will have small geometry and weight? $\endgroup$
    – gpuguy
    Commented May 22, 2013 at 10:30
  • 1
    $\begingroup$ If I understand the question correctly then yes - using a digital filter will mean a much simpler analog fiter (particularly if quality is to account for). $\endgroup$
    – Izhaki
    Commented May 22, 2013 at 11:47
  • $\begingroup$ Do you mean "decimate" at the second-to-last step in the oversampling workflow? $\endgroup$
    – Nick T
    Commented Apr 28, 2014 at 18:59
16
$\begingroup$

No, this does not make sense. Say your ADC sample rate is 1kHz. A 100 Hz sine wave and a 900 Hz sine wave will yield exactly the same sequence of digital samples once fed into your ADC - but you want to pass the former and attenuate the later. How do you expect your digital filter to produce different outputs when fed the same input?

The only thing that could work would be to sample the input signal as fast as your ADC allows, and then downsample it in the digital domain to your target sample rate - but unless you have CPU cycles to waste, you'd better use an analog filter upstream.

$\endgroup$
5
  • 1
    $\begingroup$ "A 100 Hz sine wave and a 900 Hz sine wave will yield exactly the same sequence of digital samples". This is in general not true (although I understand what you mean). $\endgroup$
    – niaren
    Commented May 20, 2013 at 18:57
  • 3
    $\begingroup$ Okay, this requires a particular condition on their phases to work but this is not the point! The point is that your digital samples might look like they come from a 100 Hz sine wave, while the very same data sequence could have been generated by a 900 Hz sine wave. $\endgroup$ Commented May 20, 2013 at 20:42
  • $\begingroup$ can you tell what that condition is (for exactly to hold)? $\endgroup$
    – niaren
    Commented May 20, 2013 at 20:56
  • 1
    $\begingroup$ There is a phase difference of $\pi$ between the two. $\endgroup$ Commented May 20, 2013 at 21:17
  • $\begingroup$ there is a error in your answer. 100Hz and 900 Hz do not have the same sampled output. Actually its [100 +/- k*1000] which will give the same samples. So, -900, 1100, 2100 etc. are the aliased frequencies corresponding to 100Hz. Actually, 900Hz will be negative of the 100Hz size wave. $\endgroup$
    – user10835
    Commented Aug 16, 2014 at 14:55
16
$\begingroup$

I agree with pichenettes's answer but I would like to add that it is pretty common practice to use a simple inexpensive low-order analog anti-aliasing filter, and do the rest of the anti-aliasing filtering in the digital domain. This implies of course that you do not process at maximum sampling rate but that you downsample after the digital anti-aliasing filter. Summarizing:

  1. Of course you need an analog anti-aliasing filter.

  2. The analog filter can be kept very simple if you can downsample your signal. In this case you can do more aliasing removal in the digital domain (before downsampling).

$\endgroup$
1
  • $\begingroup$ I think one problem that no one seem to highlight is that the downsampling introduces a lot of group delay to the signal. Higher sample rate -> More filtering -> More delay. What I'm unsure about is how I can find the minimum amount of delay to this? $\endgroup$ Commented Apr 7, 2022 at 13:39

Your Answer

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

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