I'm currently learning about Analogue to Digital Converters. From what I understand, aliasing occurs if the input signal being sampled has power above the "Nyquist frequency" of the ADC(Sampling frequency of the ADC/2). So, then logically, I assume then that all the anti aliasing filters have to be analogue. Or the same problem of aliasing due to sampling would exist, no? Either that of the digital anti aliasing filter has to sample at very high frequencies? Not to mention, have an DAC in the filter module to put the signal back into the analogue domain. Which would ask the question, why wouldn't we then simply just use a high frequency digital sampler and then have digital filtering done afterwards.

I'm asking because most of the tutorials and lectures I come across seem to miss how the signal is actually filtered before the sampling. Rather they just simply say the type and order, e.g. Butterworth 4th order. But no mention of how this would be implemented.

Where usually do people put these filters?. On the IC for the ADC itself? Or as an external filter before the sampling stage. Are physically big filters (e.g. through hole capacitors, inductors and resistors) the norm? Or rather integrated filters? For example, I'm guessing the ATMEGA328 (used on Arduino UNO) has an integrated anti aliasing filter since we usually don't filter the signal.

Particularly, I am referring to audio band ADCs, especially regarding the types of the filters. But the rest of the question, I am asking in a general sense.

  • \$\begingroup\$ You should think of the Nyquist frequency as being half of the sampling frequency. The bandwidth of an ADC is a characteristic of the ADC while the sampling frequency may vary for the same ADC in different applications. \$\endgroup\$ – Joe Hass Feb 23 '14 at 18:20
  • \$\begingroup\$ I don't think your assumption that microcontrollers have on-chip anti-aliasing filters is correct. The filter characteristics would depend too much on the application so there's not much benefit to incorporating it into the processor chip, or into a standalone ADC either. \$\endgroup\$ – Joe Hass Feb 23 '14 at 18:28
  • \$\begingroup\$ Keep in mind that you only need anti-aliasing filtering if there is something significant up above Fs/2 that can get aliased down. If the signal is naturally frequency limited (for example a thermal sensor) and you can live with a bit of noise aliased down you may not need any anti-aliasing filter, or perhaps a simple single-pole RC filter. \$\endgroup\$ – Spehro Pefhany Feb 23 '14 at 19:34

Do digital Anti Aliasing filters exist for traditional ADCs?

Not in the sense you are discussing. There are other forms of "aliasing", but you seem to be considering only analog to digital conversion. If the signal is already digital (so that you can filter it digitally), then it's already been aliased. It's too late.

Where usually do people put these filters?. On the IC for the ADC itself?

I'm sure you can find ADCs with integrated filters, but it's not the norm. Different designs have different filtering requirements. You may need a linear phase filter, or you may not. You may need very good performance, or you may need very low cost. You might not even need filtering at all, if you know what frequencies your analog signal can contain.

Are physically big filters (e.g. through hole capacitors, inductors and resistors) the norm?

Not really, for reasons of cost. You need bigger components if you need to handle more power. High power is not usually something you need to drive an ADC. It may also be that a particular design requires a high capacitance or high inductance that's attainable only through large components, but a good engineer will avoid it if possible. Much better to use a 2 cent SMT capacitor, than a 20 cent through-hole electrolytic, wherever possible.


The input to a digital filter will necessarily be something that's sampled at a certain rate. For the filter to do anything useful, that rate must be more than twice the desired cut-off frequency. Most analog-to-digital converters are designed to perform conversions at the desired output sample rate, and output sample rates are often chosen to be more than 2x the highest frequency of interest, but not by a huge amount. That somewhat limits the usefulness of digital filtering in many cases.

Some audio CODECs, however, do include digital filtering. I'm not sure exactly how everything is implemented internally, but one chip I've used was designed so that when used with an 8KHz sampling rate, it would apply a filter with a sharp cut-off at 3.5Khz, but signals above 5.5Khz would alias back to the baseband. That design allowed some slight simplification in the analog front-end; since it meant the analog pass band could extend up to 4.5Khz, rather than only up to 4KHz, giving the front-end an extra 500Hz to play with.

Conceptually, it shouldn't be difficult for an audio-frequency ADC to oversample internally so as to allow the analog pass-band to extend up another octave or two, and I think I've seen CODEC chips which do that, but I'm not familiar with them. It's worth noting that many delta-sigma converters have an inherent sampling rate which is much faster than their output sample rate, but produces samples with a lot of noise; the output of such converters is then digitally filtered to yield a digital audio stream at a much lower sample rate. I think that's how most cheap PC sound chips work, but I don't know the details.


Yes, many \$ \Delta \Sigma\$ converters have digital FIR anti-aliasing (and decimation) filters.

That's possible because of the architecture- they're actually oversampling and decimating down to the output sample rate. The advantage of a digital anti-aliasing filter is that it can easily be a high-order filter with a sharp cutoff frequency that is almost at the Nyquist rate of \$0.5\cdot F_S\$.

enter image description here

(See link below for above figure, Joe H.)

You still may need an analog (analogue) anti-aliasing filter ahead of the oversampling converter if there is any signal or noise content up there, but the demands on it are significantly relaxed. See, for example, the ADS1278 which is 64x or 128x oversampling.

  • \$\begingroup\$ Can you provide proper attribution for the figure you copied, please? \$\endgroup\$ – Joe Hass Feb 23 '14 at 18:37


All the ADC anti aliasing filters that I'm aware of are analogue i.e. they filter the analogue signal before it is sampled. Because an ADC can have its conversion rate usually controllable from nearly DC to S\$_{MAX}\$ it doesn't make sense to have the filter built in to the device but I wouldn't preclude this happening on some devices.


There are digital anti-aliasing filters and these are used (exclusively in the digital realm) to convert from a particular sample rate to a lower sample rate - aliasing can occur here just as it can on an ADC - for instance, you can't just throw away every other sample and hope to achieve digital sample decimation - you need to filter the signal to take account of the decimated sample rate, then throw samples away. Typically, you add two samples together and divide by two - this gets rid of out of band signals at the new lower rate. Everyone's done it or recognizes the idea.


To broaden my answer I thought I'd mention a filter required to linearize a DAC output. If you sample a sinewave at close to the maximum frequency (before hitting aliasing problems) then reconstructed the analogue value with a DAC, you would not get the same amplitude signal as the original analogue - this is because most (maybe all) tend to attenuate the signal output at the expence of producing a larger RMS content of out-of band sampling noise. In your minds eye, a low frequency signal that is quantized at a high rate will look pretty similar to the original input to the ADC - it'll have a small mushy element due to quantization but, as the input frequency approaches maximum, the "mushy" parts get bigger and bigger whilst the actual analogue value produced gets smaller and smaller and for this reason it's sometimes necessary to use an anti-sinc filter. Maxim's application note 3853 offers a decent explanation.

  • \$\begingroup\$ Adding n signals together and dividing by n is bad ju-ju because you're weighting the older values(s) the same as the newer one(s). It yields a sinc function aliasing response, IIRC. \$\endgroup\$ – Spehro Pefhany Feb 23 '14 at 18:38
  • \$\begingroup\$ @SpehroPefhany it was a typical example of decimation and there are better but I didn't want to go off at a tangent on this question. \$\endgroup\$ – Andy aka Feb 23 '14 at 19:07
  • \$\begingroup\$ Understood. It's now kind of a pet peeve of mine- I had to fix a system done like that and I'm still not sure they believe it was why they were seeing aliasing. It does perfectly cancel at multiples of Fs. \$\endgroup\$ – Spehro Pefhany Feb 23 '14 at 19:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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