I am building a FPGA + LT1668 + LT1227 based direct digital synthesizer (DDS.) The DAC is clocked at 50 MHz and has 16 bit resolution. The DDS' phase memory is 16 bit deep (2^16 memory locations, each 2 byte wide.)
I am trying to test the purity of the output for a 1 MHz sine wave. Based on the above specifications, the noise due to quantization would be around 100 dB less than the signal, phase truncation error would be below 96 dB and the system is over sampled already, so there should not be any aliasing. The only remaining sources of noise for this system are DAC non linearities, DAC glitches and clock feedthrough. I can already see clock feedthrough in my spectrum analyzer at 50 MHz, 100 MHz, etc. which can be seen superimposed on the 1 MHz sine wave also.
When inspected with an oscilloscope and a spectrum analyse, I can clearly see some distortion in the output sinewave. I am not referring to distortion from the clock. Rather, there are harmonics of the fundamental which are very visible. At 2 MHz (first harmonic) it is only around 30 dB below the fundamental. The second harmonic at 3 MHz has similar power.
THe DAC datasheet shows a very clean spectrum for the same test conditions (50 MHz clock, 1.002 MHz wave.) I am trying to understand where this noise originates from.
Some more information: Phase accumulator bits - 34
Analog signal chain:
Please see below for scope and SA output for 1.002MHZ.