Maker Pro
Maker Pro

Anti-aliasing ADC samples

E

eliben

Jan 1, 1970
0
Hello all,

I have an ADC that samples some analog signal at 1 Msps. The samples
are then processed by a digital logic / software. To avoid aliasing, I
must make sure that signals entering the ADC have no harmonics at > 500
KHz. Is the only way to do it by an analog lowpass filter (i.e. RC)
before the ADC ? I assume that there is no way whatsoever to filter out
the unwanted frequencies digitally after the ADC, since the ADC
sampling itself already got distorted because of aliasing, is this
right ?

And yet, in some places I've seen mentioned digital lowpass filters for
anti-aliasing. How is this possible ?

Thanks
 
J

John_H

Jan 1, 1970
0
eliben said:
Hello all,

I have an ADC that samples some analog signal at 1 Msps. The samples
are then processed by a digital logic / software. To avoid aliasing, I
must make sure that signals entering the ADC have no harmonics at > 500
KHz. Is the only way to do it by an analog lowpass filter (i.e. RC)
before the ADC ? I assume that there is no way whatsoever to filter out
the unwanted frequencies digitally after the ADC, since the ADC
sampling itself already got distorted because of aliasing, is this
right ?

And yet, in some places I've seen mentioned digital lowpass filters for
anti-aliasing. How is this possible ?

Thanks

If you want to analyze frequency content to 500 kHz, the design of a
"brick wall" low pass filter makes the filter design extremely
difficult. If you sampled at 10 MHz, your low pass filter just needs to
supply the proper rejection at nearly 20x your frequency of interest
making the analog filter very simple. The digital filtering would be
applied to the high sample rate to deliver the necessary "brick wall"
filter and deliver your signals of interest up to 500 kHz without
significant aliasing or other distortions that an analog filter would
typically produce.

It's the oversampling that allows digital filters to deliver such great
performance for antialiasing. The analog filter is still needed, it's
just so much simpler.
 
J

Jon

Jan 1, 1970
0
There is a way to digitally filter a signal without suffering from
aliasing. It is called the bi-linear z transform method. You design
an analog filter, and then transform it to a digital filter by
substituting (2/T)[(1-z^-1)/(1+z^-1)] for s, where T is the sampling
interval. Actually, the (2/T) factor is not necessary, but most books
on DSP include it. The resultant filter will have better attentuation
performance than the corresponding analog filter prototype. The
transformed filter suffers from "frequency warping". You compensate for
this by pre-warping the critical frequencies before you design the
analog prototype filter. Neither the phase vs frequency curve nor the
step response of the digital filter will match the correspondimg phase
and step response characteristic of the analog prototype filter. Any
book that covers digital filtering will have a section on the bilinear
z-transform. See, for example, "Therory and Application of Digital
Signal Processing" by Rabiner and Gold.
 
J

John_H

Jan 1, 1970
0
But aliasing still needs to be addressed at the analog level. You can only
get a digital filter to work on frequencies below Nyquist. I think the
original question was whether digital filters could get rid of the aliazing
problems without use of any external analog filters. I'm happy to be
mistaken.
 
P

PN2222A

Jan 1, 1970
0
Jon said:
There is a way to digitally filter a signal without suffering from
aliasing. It is called the bi-linear z transform method. You design
an analog filter, and then transform it to a digital filter by
substituting (2/T)[(1-z^-1)/(1+z^-1)] for s, where T is the sampling
interval.

Man, this is revolutionary!

Do you mean I can sample a baseband signal with frequencies extending to f0
at a sampling frequency of f0, and have no aliasing, just by using a
bilinear filter?

That is _so cool!_

Maybe I'm missing something in your explanation?

regards
PN2222A
 
M

Mac

Jan 1, 1970
0
There is a way to digitally filter a signal without suffering from
aliasing. It is called the bi-linear z transform method. You design
an analog filter, and then transform it to a digital filter by
substituting (2/T)[(1-z^-1)/(1+z^-1)] for s, where T is the sampling
interval. Actually, the (2/T) factor is not necessary, but most books
on DSP include it. The resultant filter will have better attentuation
performance than the corresponding analog filter prototype. The
transformed filter suffers from "frequency warping". You compensate for
this by pre-warping the critical frequencies before you design the
analog prototype filter. Neither the phase vs frequency curve nor the
step response of the digital filter will match the correspondimg phase
and step response characteristic of the analog prototype filter. Any
book that covers digital filtering will have a section on the bilinear
z-transform. See, for example, "Therory and Application of Digital
Signal Processing" by Rabiner and Gold.

I have never seen anybody claim that you can get around aliasing the way
you describe.

The only thing I have heard of is "digital down-converting" where you
bandpass filter a signal so that all that is left is that portion of the
signal from, say, Fs to 1.5 * Fs. Then the signal is aliased, but can
still be reconstructed correctly since the number of times it has
"wrapped" is known.

It could also be 1.5 * Fs to 2 * Fs. The only constraint is that the
signal must still occupy a bandwidth of less than Fs/2 when it is actually
sampled.

And of course, if the signal is known to have no frequency content outside
of the aforementioned band, then no filter is necessary.

--Mac
 
B

Ban

Jan 1, 1970
0
eliben said:
Hello all,

I have an ADC that samples some analog signal at 1 Msps. The samples
are then processed by a digital logic / software. To avoid aliasing, I
must make sure that signals entering the ADC have no harmonics at >
500 KHz. Is the only way to do it by an analog lowpass filter (i.e.
RC) before the ADC ? I assume that there is no way whatsoever to
filter out the unwanted frequencies digitally after the ADC, since
the ADC sampling itself already got distorted because of aliasing, is
this right ?
First you have to understand what aliasing means. IF you sample at 1MHz but
only want to use audio frequencies up to 20kHz, aliasing doesn't disturb
unless it is folded back into 0 - 20kHz. This means you only need to care
that at 980kHz and above no signal goes into the ADC which is above
say -90dB or whatever noise floor you are digitizing.
And yet, in some places I've seen mentioned digital lowpass filters
for anti-aliasing. How is this possible ?
All those aliased frequencies between 500k and 980k can be eliminated
digitally when downsampling, but anything in the bandwidth of interest can
not be eliminated later.
 
Top