How to choose ADC Anti-aliasing filter cut-off frequency in thermocouple readings?

It depends what you would like to do with your thermocouple readings.

The Nyquist–Shannon sampling theorem basically says that you need to ensure that the highest frequency of your signal is below half the sampling frequency (fn).

What does it means and do you need to comply with it?

If you comply with it, you ensure that you won't suffer from aliasing problems and it guaranties that your digitized signal contains enough information to perfectly recover the initial analog signal. Most digital signal processing require that the input signal is not aliased to compute meaningful results. If you would like to perform digital filtering or even a PID, it is strongly recommended to ensure compliance with the Nyquist–Shannon sampling theorem or you may encounter strange behaviors.

If you want to comply with the Nyquist–Shannon sampling theorem you need to ensure that the signal content at fn and above is zero. This is not possible because all real world filters "attenuates" and don't "discard"...

You can approximate this by having a filter that sufficiently rejects the frequencies above fn. "sufficiently" depends on the noise level and the application, but let's choose 40dB here.

If you use a simple RC filter (a first order filter) then you have a filter roll-off of -20dB/decade. Thus the cutoff frequency (fc) of your filter need to be 2 decades (100 times) smaller than 2Hz to ensure at least 40dB of attenuation after fn.

$$ fc = 2Hz/100 = 0.02 Hz$$

Well, this is not practical !

You could use higher order filters with 40dB/decades. then:

$$ fc = 2Hz/10 = 0.2 Hz$$

This is better but still not easily done. Here the best way would be to acquire your thermocouple readings much faster, let's say at 200kHz. A first order anti aliasing filter could be set at 1kHz to ensure -40dB at fn (100kHz).

It is much easier to build a 1kHz filter than a 0.1Hz one !

Then you apply a 100 times decimation digital filter and you get your 2Hz signal back.

Rarely, but sometimes you know your noise sufficiently well that you can match a rejection filter to it.

For instance, you acquire at 2Hz. The Nyquist–Shannon sampling theorem said that you have to ensure to have nothing above 1Hz. If you know by design that nothing can couple with your sensor and it won't be anything above 1Hz, then you don't need any filtering. If you know that only a 50/60Hz signal is likely to be present, then a 50/60Hz rejection filter is enough.

As always, the goal is to ensure that you have nothing above fs. It could be by design (shielding, slow thermocouple, noise free environment, ...) or by filtering.


For thermocouples, the big problem is noise pickup rather than intrinsic sensor noise. Furthermore, most thermocouples, particularly when coupled to a physical object, will have thermal time constants on the order of seconds or greater. So your "best" choice for an ADC with a 2 Hz sample rate is on the order of 1 Hz. if your shielding is good, you can get away with rather higher cutoff frequencies.

Tags:

Thermocouple