0
\$\begingroup\$

I want to implement an ADC as part of my bachelor's thesis.

The datasheet of the ADS1115 show that there is no filtering done by the ADC chip before the multiplexer. As I read here, it is good practice to use a filter before the input.

enter image description here

I am currently trying to decide on what kind of filtering would be best for the ADS1115 inputs.

I read online from some people that passive lowpass filtering should do just fine.

I remember my professor stating in a lecture that active filtering in general is simply better than passive filtering.

In any case I would appreciate any input.

\$\endgroup\$
4
  • \$\begingroup\$ It needs to be an anti-alias filter and that depends a lot on what multiplexing regime you are going to use and how much of the aliasing artefacts you are prepared to allow through to baseband. \$\endgroup\$ – Andy aka Jan 9 at 12:48
  • 1
    \$\begingroup\$ If your signal is actually above 300Hz you should probably choose a different ADC than the ADS1115 which is limited to well under 1kHz sample rate. Nyquist (2x) is a theoretical minimum but going much higher will likely simplify your life. \$\endgroup\$ – Spehro Pefhany Jan 9 at 13:44
  • \$\begingroup\$ "is simply better" is – wrong. It can achieve better filter characteristics, yes, but also introduces active components, which leads to noice. Golden rule of engineering: "simply better" almost never exists; there is always a reason why something is better in a given use case. Personally, active filters not being that common should tell you something... Filtering is done with relatively relaxed passive filters by using a sampling rate that's higher than necessary for your signal of interest and allows for less strict filters. The rest is done digitally – much easier, cheaper and reliable \$\endgroup\$ – Marcus Müller Jan 9 at 15:00
  • \$\begingroup\$ for incredibly low frequencies like the one you're using. \$\endgroup\$ – Marcus Müller Jan 9 at 15:00
5
\$\begingroup\$

Summary:

  1. A band pass of 300Hz to 1MHz won't do you any good - the ADS1115 can only sample at maximum 860 samples per second.
  2. You cannot capture a signal above 400 Hz with the ADS1115.
  3. TI recommends a simple RC low pass filter to reduce aliasing.
  4. An RC low pass is adequate because the ADS1115 samples at a much higher rate and decimates and filters down to the set output sampling rate.

Details:

As always, start with the datasheet

The ADS1115 will be of no use for a signal between 300 Hz and 1MHz. It has a maximum data rate of 860 samples per second - that's just about adequate for signals up to between 300 and 400 Hz. Above that you will get aliasing and a much reduced signal level. In other words, you can sample signals up to about 400Hz with the ADS1115.

All you need is a low pass.

On page 33, you will find this recommendation:

A first-order resistor-capacitor (RC) filter is (in most cases) sufficient to either totally eliminate aliasing, or to reduce the effect of aliasing to a level within the noise floor of the sensor. Ideally,any signal beyond fMOD/ 2 is attenuated to a level below the noise floor of the ADC. The digital filter of the ADS111x attenuate signals to a certain degree,as shown in Figure21. In addition,noise components are usually smaller in magnitude than the actual sensor signal. Therefore, use a first-order RC filter with a cutoff frequency set at the output data rate or 10x higher as a generally good starting point for a system design.

fMod is the modulation frequency of the delta-sigma converter in the chip. It is the effective sampling rate that the signal "sees." In the ADS1115, fMod is 250kHz. To avoid aliasing, you need to reduce signal content above 125kHz.

The ADS1115 has digital filtering to remove stuff between the final (output) sampling rate and fMod/2.

An effective filter starts at your selected sampling rate. If you are sampling at 860 samples per second, the you need an RC low pass with a cut off of 860 Hz. For example, 1.6k and 100nF provides a cutoff of 884Hz and an attenuation of about 45dB at 125kHz.

\$\endgroup\$
1
  • \$\begingroup\$ Comments are not for extended discussion; this conversation has been moved to chat. \$\endgroup\$ – Voltage Spike Jan 10 at 0:13
2
\$\begingroup\$

use TI’s Active filter design or Falstad’s www.Falstad.com/afilter for a start. Choose Bessel and don’t be stingy on the orders. A quad analog Op Amp with a GBW > Q^2*GBW(of design) can do an 8th order Bessel filter for best group delay or Chebychev for steepest slope but terrible group delay near the breakpoint of -3 dB.

Define your worst case noise spectrum and expected SNR in and out then choose f-3dB around 1/3 of sampling rate or less.

Explain this to your advisor and see if they understand.

\$\endgroup\$
16
  • \$\begingroup\$ How should I choose when it comes to selecting the opamp? What parameters should I take into consideration? I have a lot of "NE5532AD8G"s laying around. Could I use those? \$\endgroup\$ – Emre Mutlu Jan 9 at 13:27
  • \$\begingroup\$ @EmreMUTLU answered by literally the first half of the first sentence of Tony's answer. \$\endgroup\$ – Marcus Müller Jan 9 at 13:39
  • \$\begingroup\$ @MarcusMüller the NE5532AD8G doesnt show on the listed op-amps when you click on "Select alternate op-amp" on the TI desinger... \$\endgroup\$ – Emre Mutlu Jan 9 at 14:03
  • 1
    \$\begingroup\$ @TonyStewartSunnyskyguyEE75 oh itsn't the subject of my bachelors thesis. I just need an ADC as a sub-circuit. \$\endgroup\$ – Emre Mutlu Jan 9 at 14:25
  • 1
    \$\begingroup\$ when you have 40 dB SNR in and want 1 bit noise coming out with a 16 bit ADC without aliasing. But true most people don't really are about high SNR \$\endgroup\$ – Tony Stewart EE75 Jan 9 at 15:54
0
\$\begingroup\$

To add to the answer by @JRE above, and/or bring up a caveat for discussion: Because it is a sigma-delta, there is a more to the story than just saying "it internally samples at 250kHz".

note: I am not 100% confident of my understanding of this but someone please correct me if I'm wrong.

Look at Figure 21 in the ADS111x datasheet, page 12. This is a typical pattern of the sinc or sinc^n filtering of sigma-delta ADC's. This graph appears to be a sinc^1.

Look at 6Hz: it is -10dB. Nyquist (vs the "output" rate of 8Hz in the example) is 4Hz, so anything at 6Hz will alias to 2Hz with -10dB attenuation! Look at 8Hz: it is that notch at -35dB, which is okay but hardly great. It will alias to DC or close to it!!! Unless you are sure there is no unwanted signal at these frequencies, it has to be fixed on the front end, i.e. analog filter.

Again the example presented by the TI datasheet was all at 8Hz output sampling rate. That sinc filter response will shift with the output sampling rate (not f_mod). Some ADC's have a steeper sinc^n than others. For example, this TI app note shows a sinc^3 in its Figure 3.

here's an in depth app note on the subject

\$\endgroup\$

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.