Yes, a very good one.
That is one of many places where the Binary Sampling technique can
dramatically improve the accuracy and speed of sampling noisy data.
For a description, see "Noise-Rejecting Wideband Sampler" at:
http://www3.sympatico.ca/add.automation/sampler/intro.htm
The same technique works in software as well as hardware. A delta
value (dv) is selected appropriate for the signal. The system is
initialized by averaging, then storing the result in the current
value (cv).
At each sample time, the raw input signal is measured and compared
to the current value (cv).
If the raw signal is greater than the current value, the current
value is incremented by the delta value, otherwise it is
decremented:
if (raw > cv) then
cv := cv + dv
else
cv := cv - dv
This allows the software to track the signal much better than
conventional averaging techniques allow. The reason is the magnitude
of the large amplitude noise spikes are not included in the result,
only the direction.
Since random noise has zero mean, the system will track the mean of
the signal much more accurately than averaging techniques allow.
The same software can also perform a moving average on the acquired
output signal. A simple moving average filter is a very fast method
since each sample requires one addition, one subtraction and one
division. This can easily be done in integer math, so inexpensive
microprocessors and PIC's can be used.
A single stage acts as a low-pass filter with a cutoff floor of
about -13 dB. Cascading 4 filters provides a gaussian response with
a floor of about -60dB. This is in addition to the filtering
provided by the Binary Sampling technique.
Regards,
Mike Monett
Antiviral, Antibacterial Silver Solution:
http://members.spsdialup.com/[email protected]/index.htm
SPICE Analysis of Crystal Oscillators:
http://members.spsdialup.com/[email protected]/spice/xtal/clapp.htm
Noise-Rejecting Wideband Sampler:
http://www3.sympatico.ca/add.automation/sampler/intro.htm