ΣSigmaStudio Ask AI Русский Log in

How to make really slow filters on ADAU1466

SigmaDSP & SigmaStudio FrankieX Feb 21, 2022 00:00 3 replies Original on forum ↗
Subscribe
FrankieX Question
Feb 21, 2022 00:00

For the thermal simulation (and limiting) of one of our products we need a 0.5 mHz filter to track a thermal time constant of something getting hot over time. I've tried an IIR filter with single order low pass parameters, but notice I'm down to the last few bits of resolution, and run into the problem that the "RC" filter doesn't seem to reach its final 'saturating' value but gets stuck at ~70% after a while.

Are there other ways to implement very slow IIR filters? Or would it be possible to somehow prescale the filter block to have it run at a different sample rate?

Thanks in advance!

-David

Audio Signal Processors

slow

SigmaDSP Audio Processors

iir filter

biquad

adau1466

Show More

FrankieX Reply
Feb 21, 2022 00:00

It took a bunch of swearing but I figured this out; The ADAU1466 supports down- and upsamping blocks that can be placed before the IIR filter.

The upsampling block V1.02 was broken on my setup though, but using V1.01 (without the LPF) worked when selecting "Zero order hold". Also see this tread: ez.analog.com/.../upsampling-algorithm-version-1-02-broken

bitmechanic Reply
Feb 22, 2022 00:00

Hello,

You are not alone regarding swearing with SS ;)

Note for 24-bits, the closest pole to unit circle is p=1-2^-24. For a first order filter i.e. RC the corresponding cutoff Fc = (-Fs/2pi)*ln(p). For Fs=48000 Fc= 0.46 mHz so you should be able to get that using the double precision filter, unless there is some truncation/rounding happening. Anyway for such a low cutoff its smart to use decimation/interpolation as you found out, which be better numerically and you could do lower cutoff.

DaveThib Reply
Mar 14, 2022 00:00

Hello David,

I had a similar question not too long ago. I suggested he use an envelope follower to develop a really slow moving average.

Read this thread all the way through to see if this might help you find a solution in a less conventional way.

(+) [ADAU145x] Downsampling to arbitrary value - Q&A - SigmaDSP Processors and SigmaStudio Development Tool - EngineerZone (analog.com)

Dave T