I am using FPGA to generate 10Mbaud QPSK signal in two channels corresponding to two quadratures. Upsampling to 1GSample/s (using raised cos filter for interpolation) and complex upconversion (f_up=250MHz) is done in FPGA. This signal is sent to a DAC and detected back-to-back using Tektronix rsa607a spectrum analyzer. I sent 200k sampes and detected them using the analyzer.
This is a screenshot form the measurement. On the right side is unzoomed waveform in time where red dots represent sampling points in demodulation. On the left is constellation for the whole stream. As you can see the analyzer synchronizes well with the middle of the captured signal, however it goes off sync with time. If I measure shorter intervals EVM gets smaller. On the left side you can see measured frequency error which is the difference between transmitter frequency and analyzer's internal clock. This error is obviously different with time which tells me the FPGA clock might be unstable. However, I did other measurements when offloading a sine tone where I don't see these frequency drifts. Does anybody have intuition what can be the cause of this problem?