You are on page 1of 2

An easy way to avoid aliasing when doing A to D conversion, using L...

http://www.elect-design.com/archives/144?goback=.gde_127720_me...

High Performance Electronic Design


a forum by Larry R. Miller, PhD

An easy way to avoid aliasing when doing A to D conversion, using LT6600


Posted on November 14, 2012 A waveform with frequency components from DC to frequency just under f can be sampled at the rate 2 f without loss of information. In other words the waveform can be exactly reconstructed from these samples. However if the waveform has frequency components above f, in general, these will prodce errors in the samples; the errors are called aliasing. For example a frequency of g where f < g < 2 f will erroniously affect the samples as a frequency of f g would. It will show up in a reconstructed waveform as a component at the frequency f g. In most cases, even though we may only be interested in the frequency range DC to f, our analog stream to be sampled has higher unwanted frequency components. Thus we must take steps to avoid aliasing. The first step in doing this is usually to use an analog low-pass filter between the incoming stream and the A to D converter. Since these filters do not have sharp cutoffs (i.e. brick wall cutoffs), the following must be done. The cutoff frequency should be chosen so that the the highest desired frequency d passes with little attenuation. Then the sampling frequency s should be chosen so that frequencies above s / 2 re attenuated sufficiently by the filter, since they would alias. The required degree of attanuation depends on the amplitude of the unwanted frequencies above s / 2. For example, if digitizing a scanning optical microscope, the optical transfer function determines how much unwanted high frequency will be present. It is usually a modest fraction of the total signal. Another source of unwanted high frequencies is noise, so higher noise levels will require more attenuation in the low pass filter. Aliased white noise is additional white noise and is obviously something to avoid. A simple way to provide the low pass filter, if you can use its cutoff frequency, is to use one of the Linear Technologies LT6600-2.5, 5, 10, 15, or 20. Their cutoff frequencies are 2.5, 5, 10, 15, or 20 MHz respectively. See for example http://cds.linear.com /docs/Datasheet/66001fe.pdf These are an excellent low-noise, accurate 4-pole low-pass filters in a package. You just add gain-determining resistors. Its cutoff frequency, 2.5, 5, 10, 15, or 20 MHz respectively, is defined such that the filter attenuates by -0.7 to +0.3 db below and at the cutoff. Then, at 4 times the cutoff frequency, the filter attenuated by about 38 db (a factor of .80). So, if you use one of these filters, it could well make sense to set the cutoff frequency at or just above the highest frequency of interest, and sample at 8 times the cutoff frequency. This way the lowest frequency that would alias would be attenuated by a factor of 80. Now, you could save this digitized data since it contains all the needed information. However, to reduce the quantity of digital data, and make subsequent processing easier, it would likely make sense to digitally downsample the data in a FPGA to the rate that is twice the cutoff frequency. In this example, the downsampling would be 4 to 1. A good way to downsample the data is to apply an FIR filter whose coefficients are a Hamming-weighted sinc function. The length of the filter (the number of coefficients) determines the sharpness of the downsampling FIR filter. Let N be the number of coefficients. For an integral downsampling ratio or M, the coefficients c[k] for k = 0..N-1 for a Hamming-weighted sinc are: c[k] = (0.54 0.46 * cos (2 * pi * k / (N 1)) * sin (pi * k / M) / (pi * k / M) The latter part of this expression sin (pi * k / M) / (pi * k / M) is a sinc function, and is the fundamental kernel for downsampling. In fact if N is infinite, then this sinc function alone would provide optimum downsampling. The first part of the expression is a weighting that compensates as well as possible (more or less) for the fact that N is finite. Letting g[i] represent the digitized data, the FIR filter calculates the downsampled values g[j] as

1 di 2

22/11/2012 21:23

An easy way to avoid aliasing when doing A to D conversion, using L...

http://www.elect-design.com/archives/144?goback=.gde_127720_me...

g[j] = sum over k (c[k] * g[M * i + k - k/2] Larry Miller

This entry was posted in Mixed Signal by Larry R. Miller. Bookmark the permalink [http://www.elect-design.com/archives/144] .
ONE THOUGHT ON AN EASY WAY TO AVOID ALIASING WHEN DOING A TO D CONVERSION, USING LT6600

Rich Lundgren on November 18, 2012 at 11:52 AM said:

What is a good way to transmit 8-bit parallel data words from one board to another about 10 feet away? The data words are clocked at 100 MHz.

2 di 2

22/11/2012 21:23

You might also like