The fidelity of a signal formed by recalling samples of a sinusoid from a lookup table is affected by both the phase and amplitude quantization of the process. The depth and width of the lookup table affect the phase angle resolution and the amplitude resolution of the signal, respectively. These resolution limits are equivalent to time base jitter and amplitude quantization of the signal and add spectral modulation lines and a white broad-band noise floor to the signal spectrum.
In conjunction with the system clock frequency, the phase width determines the frequency resolution of the DDS. The accumulator must have a sufficient field width to span the desired frequency resolution. For most practical applications, a large number of bits are allocated to the phase accumulator to satisfy the system frequency resolution requirements. By way of example, if the required resolution is 1 Hz and the clock frequency is 100 MHz, the required width of the accumulator is:
where ? denotes the ceiling operator. Due to excessive memory requirements, the full precision of the phase accumulator cannot be used to index the sine/cosine lookup table. A quantized (or truncated) version of the phase angle is used for this purpose. The block labeled Q1 in the phase truncation DDS, Figure 1, performs the phase angle quantization. The lookup table can be located in block or distributed memory.
Quantizing the phase accumulator introduces time base jitter in the output waveform. This jitter results in undesired phase modulation that is proportional to the quantization error, as shown by the following:
The following figure shows the lookup table addressing error, complex output time-series, and the spectral domain representation of the output waveform produced by the DDS structure shown in Figure 1. The normalized frequency for this signal is 0.022 Hz, which corresponds to phase accumulation steps of 7.92° per output sample. The angular resolution of the 256-point lookup table is 360/256 or 1.40625° per address, which is equivalent to 7.92/1.40625 or 5.632 addresses per output sample. Because the address must be an integer, the fractional part is discarded and the resultant phase jitter is the cause of the spectral artifacts.
- (a)
- Phase angle addressing error
- (b)
- Complex output time series
- (c)
- Output spectrum
The following figure provides an exploded view of the spectral plot in the preceding figure.
Two observations related to the phase jitter structure level can be made. First, observe that the fractional part of the address count is a periodic (sawtooth) error sequence, which is responsible for the harmonic rich (and aliased) low-level phase modulation evident in the preceding figure. Also, the peak distortion level due to incidental phase modulation is approximately 48 dB below the desired signal level, which is consistent with 6 dB/bit of address space. Put another way, if S dB of spur suppression is required in the output waveform, as referenced to the 0 dB primary tone, the DDS lookup table must support the dB of spur suppression divided by 6 (where 6 is the dB/bit off address space). For example, if S = 70 dB, which means that the highest spur is 70 dB below the main signal, the minimum number of address bits for the lookup table is the integer ceiling of 70 divided by 6, which is 12 bits; that is, a 4096-deep table.
The following figures demonstrate the performance of a similar DDS to the one presented in Figure 1, but in this example, 16-bit precision output samples have been used. Observe that the highest spur is still at the – 48 dB level, and allocating four additional bits to the output samples has not contributed to any further spur reduction. For a phase truncation DDS, the only option to further reduce the spur levels is to increase the depth of the lookup table.
- (a)
- Phase angle addressing error
- (b)
- Complex output time series
- (c)
- Output spectrum