I'd like to test my understanding of the usefulness of interpolation in a DAC: If you feed a signal to a DAC at Fc < Fclk/2 then there is a primary image at Fc and (possibly unwanted) aliasing at Fclk +/-Fc and at harmoics of Fclk +/-Fc. Now, if you upsample (zero-stuff) the input to a higher Fclk, then the DAC runs faster, and the DAC-produced images are now at n*Fclk+/-Fc. However, the zero-stuffed data itself now has the images that would have appeared in the original DAC output, so the result is the same (?). So the next step is interpolation -- upsample + digital filter. The digital filter is cheaper and can have sharper cutoffs than an analog filter. Of course it can't filter beyond n*Fclk/2, but at least now the new, higher (and fewer, in some sense) n*Fclk+/-Fc images are all that's left in the output. This is nice because the analog output filter can be lower order and have a wider transition band and still have the same alias suppression. Am I missing anything about DAC interpolation? I know there are some other more exotic uses (eg filtering to use a higher frequency alias directly to avoid an upconversion step). -- Ben Jackson <ben@ben.com> http://www.ben.com/

# Purpose of interpolation in DACs?

Started by ●May 18, 2006

Posted by ●May 18, 2006

"Ben Jackson" <ben@ben.com> wrote in message news:slrne6ps5p.31k7.ben@saturn.home.ben.com...> I'd like to test my understanding of the usefulness of interpolation > in a DAC: > > If you feed a signal to a DAC at Fc < Fclk/2 then there is a primary > image at Fc and (possibly unwanted) aliasing at Fclk +/-Fc and at > harmoics of Fclk +/-Fc. > > Now, if you upsample (zero-stuff) the input to a higher Fclk, then the > DAC runs faster, and the DAC-produced images are now at n*Fclk+/-Fc. > However, the zero-stuffed data itself now has the images that would have > appeared in the original DAC output, so the result is the same (?). > > So the next step is interpolation -- upsample + digital filter. The > digital filter is cheaper and can have sharper cutoffs than an analog > filter. Of course it can't filter beyond n*Fclk/2, but at least now the > new, higher (and fewer, in some sense) n*Fclk+/-Fc images are all that's > left in the output. This is nice because the analog output filter can > be lower order and have a wider transition band and still have the same > alias suppression. > > Am I missing anything about DAC interpolation? I know there are some > other more exotic uses (eg filtering to use a higher frequency alias > directly to avoid an upconversion step). > > -- > Ben Jackson > <ben@ben.com> > http://www.ben.com/You can use the digital filter to pre-compensate for the sinx/x roll-off you get from the DAC. Cheers Bhaskar

Posted by ●May 19, 2006

Hi Ben, I think your analysis so far is correct. There is another reason for upsampling a signal to a DAC: to increase the effective resolution of the DAC. In order for this to work, your digital signal resolution must be wider than the DAC resolution. For example, if your digital signal was 16 bits and your DAC was only 12 bits, you could use this technique. The key to understanding this is realizing that the total quantization noise power (or, in this case, "re"quantization noise, since we're converting a digital signal to a lower-resolution digital signal) depends ONLY on the amount of quantization and NOT on the sample rate. For example, if I drop the resolution by one bit, I get q^2/12 total noise power [1] spread out over the entire digital bandwidth from 0 to Fs/2, where q is the quantization step-size (ultimately determined by your DAC reference voltage and resolution). So let's say, e.g., that you have a digital signal that's 16 bits wide and originally at 32 kHz sampling rate. If you upsample as you described, keeping the digital signal at 16 bits, to 64 kHz, and then *at the 64 kHz rate* requantize the signal to 12 bits, then you'd introduce (4*q)^2 / 12 quantization noise power into your 16-bit signal. But that noise power would be spread from 0 to 32 kHz, whereas your bandwidth of interest (from the original "baseband" sample rate) is only 0 to 16 kHz. So the total quantization noise power in your bandwidth of interest is now 1/2 of what it would have been had you not upsampled. It's easy to see that every doubling of the sample rate gives you a 3 dB decrease in quantization noise, and so it takes an oversampling ratio of 4 to get a 6 dB reduction, or 1 bit of extra resolution. In general, oversampling by M gives you log_4(M) bits of resolution. --Randy [1] This makes the standard assumption that the input signal is sufficiently complex that the quantization noise is white and uniformly distributed.

Posted by ●May 19, 2006

Hi Ben, I think your analysis so far is correct. There is another reason for upsampling a signal to a DAC: to increase the effective resolution of the DAC. In order for this to work, your digital signal resolution must be wider than the DAC resolution. For example, if your digital signal was 16 bits and your DAC was only 12 bits, you could use this technique. The key to understanding this is realizing that the total quantization noise power (or, in this case, "re"quantization noise, since we're converting a digital signal to a lower-resolution digital signal) depends ONLY on the amount of quantization and NOT on the sample rate. For example, if I drop the resolution by one bit, I get q^2/12 total noise power [1] spread out over the entire digital bandwidth from 0 to Fs/2, where q is the quantization step-size (ultimately determined by your DAC reference voltage and resolution). So let's say, e.g., that you have a digital signal that's 16 bits wide and originally at 32 kHz sampling rate. If you upsample as you described, keeping the digital signal at 16 bits, to 64 kHz, and then *at the 64 kHz rate* requantize the signal to 12 bits, then you'd introduce (4*q)^2 / 12 quantization noise power into your 16-bit signal. But that noise power would be spread from 0 to 32 kHz, whereas your bandwidth of interest (from the original "baseband" sample rate) is only 0 to 16 kHz. So the total quantization noise power in your bandwidth of interest is now 1/2 of what it would have been had you not upsampled. It's easy to see that every doubling of the sample rate gives you a 3 dB decrease in quantization noise, and so it takes an oversampling ratio of 4 to get a 6 dB reduction, or 1 bit of extra resolution. In general, oversampling by M gives you log_4(M) bits of resolution. --Randy [1] This makes the standard assumption that the input signal is sufficiently complex that the quantization noise is white and uniformly distributed.

Posted by ●May 18, 2006

"Ben Jackson" <ben@ben.com> wrote in message news:slrne6ps5p.31k7.ben@saturn.home.ben.com...> I'd like to test my understanding of the usefulness of interpolation > in a DAC: > > If you feed a signal to a DAC at Fc < Fclk/2 then there is a primary > image at Fc and (possibly unwanted) aliasing at Fclk +/-Fc and at > harmoics of Fclk +/-Fc. > > Now, if you upsample (zero-stuff) the input to a higher Fclk, then the > DAC runs faster, and the DAC-produced images are now at n*Fclk+/-Fc. > However, the zero-stuffed data itself now has the images that would have > appeared in the original DAC output, so the result is the same (?). > > So the next step is interpolation -- upsample + digital filter. The > digital filter is cheaper and can have sharper cutoffs than an analog > filter. Of course it can't filter beyond n*Fclk/2, but at least now the > new, higher (and fewer, in some sense) n*Fclk+/-Fc images are all that's > left in the output. This is nice because the analog output filter can > be lower order and have a wider transition band and still have the same > alias suppression. > > Am I missing anything about DAC interpolation? I know there are some > other more exotic uses (eg filtering to use a higher frequency alias > directly to avoid an upconversion step). > > -- > Ben Jackson > <ben@ben.com> > http://www.ben.com/You can use the digital filter to pre-compensate for the sinx/x roll-off you get from the DAC. Cheers Bhaskar

Posted by ●May 18, 2006

I'd like to test my understanding of the usefulness of interpolation in a DAC: If you feed a signal to a DAC at Fc < Fclk/2 then there is a primary image at Fc and (possibly unwanted) aliasing at Fclk +/-Fc and at harmoics of Fclk +/-Fc. Now, if you upsample (zero-stuff) the input to a higher Fclk, then the DAC runs faster, and the DAC-produced images are now at n*Fclk+/-Fc. However, the zero-stuffed data itself now has the images that would have appeared in the original DAC output, so the result is the same (?). So the next step is interpolation -- upsample + digital filter. The digital filter is cheaper and can have sharper cutoffs than an analog filter. Of course it can't filter beyond n*Fclk/2, but at least now the new, higher (and fewer, in some sense) n*Fclk+/-Fc images are all that's left in the output. This is nice because the analog output filter can be lower order and have a wider transition band and still have the same alias suppression. Am I missing anything about DAC interpolation? I know there are some other more exotic uses (eg filtering to use a higher frequency alias directly to avoid an upconversion step). -- Ben Jackson <ben@ben.com> http://www.ben.com/