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)

    {

    dac_dma_setup(fmcSel);

    }

 

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;

mydata_i[index]=data_i;

mydata_q[index]=data_q;

}

 

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.

adc.jpg

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.

spectrum.jpg

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

Pls advice. Thank You

Outcomes