0
\$\begingroup\$

I'm looking to sample a signal using an ADC at very low rates - perhaps once every minute. What's the best practice for anti-aliasing filtering in this situation?

Obviously, trying to construct a first-order passive filter at the Nyquist frequency produces absurd component values. Do I use some higher-order (probably active) filter? Just ignore aliasing and hope it'll go away?

\$\endgroup\$
9
  • 1
    \$\begingroup\$ are you measuring the rate of grass growth? \$\endgroup\$
    – jsotola
    May 25, 2021 at 15:21
  • 3
    \$\begingroup\$ What is the signal that goes into your ADC? If that signal changes slowly (as you're sampling at a very low rate, that's what I would expect) then maybe there are no high frequency signals that need to be filtered out. Probably you can get away with, for example, a 1 Hz lowpass filter, that would filter out most disturbances (50/60 Hz from mains) well enough. Another way to get more reliable samples is not to sample just once but a few shortly after another (like 5 samples in 1 second) and then average the result. \$\endgroup\$ May 25, 2021 at 15:21
  • \$\begingroup\$ @jsotola I have a solar-powered system with a battery bank. Some of the equipment powered from it should only be allowed to run when the battery voltage exceeds a certain level (ie either the batteries are charging or the charge level is above some level). I don't need this to update every millisecond, every minute or so is fine, and it would be (slightly) wasteful of the available power to update at a higher rate. The battery bank is large enough that the change is always going to be slow, and if the equipment doesn't come on for a minute after charging starts it really doesn't matter. \$\endgroup\$
    – Tom
    May 25, 2021 at 15:31
  • 1
    \$\begingroup\$ 1MOhm + 100 uF is the opposite of absurd. However, if you also demand low noise you might have to reduce R and increase C \$\endgroup\$
    – tobalt
    May 25, 2021 at 15:31
  • 1
    \$\begingroup\$ Average, not! If you can afford the uC clocks, Median YES! Why? Because the influence of a single (or small number of) extreme blips goes down, and the numeric result will be an actual ADC (quantum) value, resulting repeatable numbers, which makes the UI predictable & with less noisy feeling. End user happiness goes up. Profit. \$\endgroup\$ May 25, 2021 at 17:44

2 Answers 2

4
\$\begingroup\$

There is probably no need. You don't need to perfectly recreate the battery voltage between those sampling points, and it's difficult to create high frequency information that would produce aliasing.

(Difficult : not impossible. You can connect and disconnect loads faster than once a minute, and see small voltage changes due to the battery internal resistance)

What adverse effect would those slight changes have? If none in practice, forget about anti-aliasing.

I'd still use an RC filter at about 0.1Hz or so, to reduce HF noise at the ADC.

Is this best practice? It simplifies the design, reduces cost, and you decide whether there is any observable adverse effect.

\$\endgroup\$
4
\$\begingroup\$

Sample at some higher rate and low-pass filter digitally. Do a study with sample rate as a free parameter; compare the component cost (and cost of the space taken) for the low pass filter vs. the cost of a microcontroller and ADC. Choose whatever's cheapest.

\$\endgroup\$

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.