AnsweredAssumed Answered

dac signals are offset, incomplete or missing ?

Question asked by mr_nazrin on Apr 15, 2015
Latest reply on May 6, 2015 by mr_nazrin

Hi ,

I ‘m successful using FMCOMMS1 to capture signal form a signal generator that feed into RF in and pass through this signal to RF out and then connected to spectrum analyser.


In main.c , I called this function

while (1)





Then in test.c , I do some modification to add this following code..


    int sample;

    sample =1024;

      uint16_t mydata_i[1024];

      uint16_t mydata_q[1024];

      int64_t rdata;

adc_capture(fmcSel, sample, DDR_BASEADDR);


for(index = 0; index < sample; index ++)


rdata = Xil_In32(DDR_BASEADDR+(index*4));

data_i = rdata & 0xFFFF;

data_q = (rdata >> 16) & 0xFFFF;





tx_count = sizeof(mydata_i) / sizeof(uint16_t);

//*******************send data to DAC********************

for(index = 0; index < tx_count; index ++)


            data_i = (mydata_i[index] << 16);

            data_q = (mydata_q[index] << 0);

            Xil_Out32(DDRDAC_BASEADDR + index * 4,  data_i | data_q  );


Then I connect RF cable from external signal generator to RF in FMCOMMS1 and another RF cable from RF out to spectrum analyzer. In Signal generator I setting up the fc 2.4Ghz with -10dbm.


From chipscope I can see perfect adc as shown in figure below.


However in dac, I see the waveform seems incomplete cycle or some cylce are missing as shown in following figure.

dac missing cycle.jpg

As a result the output from spectrum analyzer shows a lot of unwanted frequency.


My question, how can I eliminate this phenomenon? Its is because of synchronization issue? Any C code should be redefine ?

Pls advice. Thank You