I'm using a PicoZed to send and receive samples form a OFDM signal. This samples are generated on a HDL modem developed by me. To create his project I followed the following steps:
- Compiled the analog devices hdl for PicoZed SDR available on analog devices GIT. I used the last version hdl_2018_r1.
- In the Vivado -> Block Design I connected the data input ports on the axi_ad9351_dac_fifo with the outputs ports from my OFDM modem.
The project was compiled and the hardware was exported to SDK. In the SDK project a application with the no-os was created.
The testing setup was composed by the PicoZed transmitting the samples at 2.4GHz to a RF splitter. From this splitter one output port was connected to a Spectrum analyzer and the other output port connected back to de PicoZed RF receiver port. Then on the SDK I used the adc_capture() function to read the received samples. This received signal was then feeded to a OFDM demodulator on matlab where, for example, the EVM was measured.
In this test run I got EVM values from 9% to 15% on a QPSK modulation. And the spectrum was the following:
I didn't understand why there was interference on the sidebands of the signal so I placed a ILA IPcore to read the samples from my OFDM modem rigth before the connection to the axi_ad9351_dac_fifo block. Then I used a VSG (Vector Signal Generator) to transmit the signal and the FPGA only for capturing-it. I got EVM values from 4% to 5% and the spectrum was nice and clear:
Then in a last instance I feeded the signal obtained from the ILA core directly to the Matlab without transmitting from any device. I got a EVM of 1%.
I don't know what is causing this problems, specially the spectrum artifacts on the sideband in the transmission of the signal. I gess the problem could be some ad9361 configuration on the No-OS but I'm not sure.
Does anyone have an idea of what may be causing this problem?
Thank you for you're time.