When I compare the DDS output signal level using a low versus high frequency tuning word, the high frequency signal appears to be attenuated, even after accounting for the response of the reconstruction filter. Is this normal?
In theory, the DDS output level should be flat regardless of the output frequency. However, this is true only for the digital output of the DDS. A "complete" DDS includes the DAC, which translates the DDS's digital output to an analog signal. The DAC is the primary reason for attentuation of the DDS output signal level as the output frequency increases. Not because the DAC is flawed, but because of the fundamental way a DAC works.
The DAC takes each digital output word generated by the DDS and converts it to an analog equivalent (voltage or current, depending on the type of DAC). Note, however, that the DAC holds the analog value for one period of the system clock. In the time domain, the DAC's "holding" of the output level for a finite period of time is known as a zero-order hold effect. The frequency domain consequence of a zero-order hold in the time domain is attenuation of the DDS output level with increased DDS output frequency.
Fortunately, the zero-order hold effect produces a very predictable attenuation profile in the frequency domain. This profile is called a sin(x)/x, or sinc, response. To calculate the magnitude of the sinc response use the function:
y(k) = |sin(pi*k)/(pi*k)|
Then substitute Fo/Fs for k, where Fo is the DDS output frequency and Fs is the system clock frequency.
NOTE: When doing this on a calculator, be sure the calculator is set to radian mode when executing the sine operation.
At DC (Fo = 0) and we have y(0) = 1, which is always larger than any Fo > 0. Therefore, the DDS output level in decibels (dB) relative to DC is:
dB = 20*log(y(k))
For example, if Fs = 300 MHz and Fo = 50 MHz, then k = 50/300 and the sinc response is -0.4dB (or 0.4dB attenuation).
The attached Excel spreadsheet is a sinc response calculator tool. You enter data in the blue cells and the resulting calculations appear in the yellow cells. The input parameters are as follows:
1) System sample rate (Fs)
2) Reference frequency (Fr)
3) Target frequency (Ft)
The tool includes a graph of the sinc response with the frequency normalized to Fs. That is, 1 on the frequency scale corresponds to Fs.
The calculator calculates the value of the sinc response at each of the three input frequencies. It also calculates the difference between Fr and Ft and the difference in the sinc response at those frequencies.
For example, if you want to find the value of the sinc response as it appears on the graph, then enter 0 as Fr and the frequency in question as Ft.
On the other hand, if you are dealing with a modulated signal you may want to know the effect of the sinc response at some offset from the carrier frequency. In this case, enter the carrier frequency as the reference freqeuncy. The target frequency is the carrier frequency plus (or minus) the offset frequency. For example, assume a sample rate of 500 MHz, a carrier frequency of 180 MHz and an offset frequency of +50 MHz. In this case, you enter the following values:
Fs = 500E6
Fr = 180E6
Ft = 230E6 (180+50 MHz)
The results show that the sinc response imposes a loss of 1.33dB on a signal appearing at 50 MHz above the carrier relative to the same signal appearing at the carrier frequency.
Retrieving data ...