Maker Pro
Maker Pro

Variable sampling rate & anti-alias filters

D

Dave Boland

Jan 1, 1970
0
How do data acquisition systems handle anti-aliasing with
variable sample rates? I ask this because the design of the
filter is based on the sampling rate and the sampling
resolution*, so one filter would not seem to work.

Some systems with variable sampling don't have any filtering
at all, but doing this strikes me as a problem waiting to
happen.

Alternatives I can think of are anti-alias detection, or one
sample rate and discard unnecessary data, which gives the
appearance of variable sampling rates.

----
* The objective being to have the amplitude of the analog
input > 1/2 LSB at Fsample/2. The filter fall-off
determines the F-3dB point. Phase and step input response
depend on the system needs.

Thanks,
Dave
 
T

Tim Wescott

Jan 1, 1970
0
Dave said:
How do data acquisition systems handle anti-aliasing with variable
sample rates? I ask this because the design of the filter is based on
the sampling rate and the sampling resolution*, so one filter would not
seem to work.

Some systems with variable sampling don't have any filtering at all, but
doing this strikes me as a problem waiting to happen.

My (limited) experience is that the data aquisition systems don't
anti-alias filter, and many folks using them aren't aware of aliasing
issues.
Alternatives I can think of are anti-alias detection, or one sample rate
and discard unnecessary data, which gives the appearance of variable
sampling rates.

Always sampling at a high rate then digitally filtering and decimating
would be cool. I wouldn't want to have the decimation ratio be anything
but an integer one, however.
 
J

Joerg

Jan 1, 1970
0
Hello Dave,
How do data acquisition systems handle anti-aliasing with variable
sample rates? I ask this because the design of the filter is based on
the sampling rate and the sampling resolution*, so one filter would not
seem to work.

They use variable filters. In the LF range that could be as simple as
switched capacitor filter chips where the clock rate is varied
proportionately to the sample rate.

At higher rates there are two main tricks that I have used:

a. Variable LC filters: Either varicaps or "other means". I prefer the
latter, often using PIN diodes or FET arrays to pull reactive components
in and out of the game.

b. Heterodyning: Mix the input signal to where filters are easily built
and easily tunable, then mix back to baseband. That can be really
elegant. Blows peoples minds, too. I have heard comments like "How on
earth does this thing work?". Add an hour and a 2nd thermos of coffee to
the design review meeting when you go that route.
Some systems with variable sampling don't have any filtering at all, but
doing this strikes me as a problem waiting to happen.

If they can be sure there is not much there in the spectrum above
Nyquist it may be ok. Otherwise, not so good.
Phase and step input response depend on the system needs.

Group delay flatness and stuff is where things often become very tough...

Regards, Joerg
 
K

Ken Smith

Jan 1, 1970
0
How do data acquisition systems handle anti-aliasing with
variable sample rates? I ask this because the design of the
filter is based on the sampling rate and the sampling
resolution*, so one filter would not seem to work.

There are companies that make digitally controlled filters. Basically
they have DACs inside to set the frequency.

If the number of frequencies is small, you can just design a filter for
each and switch them in.

A common trick is to do the digitizing at a constant rate and digitally
filter the data before resampling.
 
K

Ken Smith

Jan 1, 1970
0
Tim Wescott said:
Always sampling at a high rate then digitally filtering and decimating
would be cool. I wouldn't want to have the decimation ratio be anything
but an integer one, however.

Where's your sense of adventure?

If the decimation factor is large enough and rational, it isn't all that
bad of a problem. The cut off of the anti-alias is so much below the
Nyquist of the basic sample rate that you can consider the function a
straight line between samples.

Meaning like this:

Y(0) = X(0)
Y(1) = (X(1000)+X(1001))/2
Y(2) = X(2001)
Y(3) = (X(3001)+X(3002))/2
Y(4) = X(4002)
 
Top