T
Tim Wescott
Guest
John Larkin wrote:
Out = Out + ((In - Out) >> S);
Just make sure that your variables have at least 16+S bits.
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
On Fri, 28 Jan 2005 17:41:52 GMT, "Mook Johnson" <mook@mook.net
wrote:
Hey all,
When designing sub 1Hz filters for a very slow moving signal that can have
noise on it from 1Hz and upward, what is the safest way to achieve low DC
offset and only mild shifting of the corner frequency? Let say the
temperature range is from 0 to 125C.
The signal is a 0 - 5V analog signal analog signal being read by a 16 bit
a2d.
looking at two way of doing this.
1) good old S-K analog filter using X7R or NPO caps.
problem- Resistor in the network are 500K with 1uF (largest practical
size in X7R). The drift if X7R with temperature is tolerable but the offset
voltages, noise pickup and laternate path through the Polymimide PCBs at
160+C temperature are concerns.
2) DSP filter,
the antialias filters will have similar but reduced affects of the
straight analog option with teh only advantage being the lack of crossover
point drift. The increased performance of the "brickwall" filters will not
have a big benefit.
Any other circuit topologies or tricks to making this thing stable?
2, for sure. The filter can be simple exponential smoothing, not
official "DSP", if you're not picky about rolloff shape.
Out = Out + (In-Out) / K
If that settles too sloppily for your taste, just do a 2nd or 4th
order version of same.
John
On an ultra-cheap processor that's
Out = Out + ((In - Out) >> S);
Just make sure that your variables have at least 16+S bits.
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com