Question about how to run TX and RX calibration example model on zedboard with zynq

12 views (last 30 days)
I am doing an experiment: I combined the following two examples:
Transmitter example: https://ww2.mathworks.cn/help/supportpkg/xilinxzynqbasedradio/examples/frequency-offset-calibration-transmitter-using-analog-devices-ad9361-ad9364.html
Receiver example: https://ww2.mathworks.cn/help/supportpkg/xilinxzynqbasedradio/examples/frequency-offset-calibration-receiver-using-analog-devices-ad9361-ad9364.html
The combined model is shown in the image:
I have the boards: AD-FMCOMMS4-EBZ(which is AD9364) evaluation board) and Zedboard with Xilinx Zynq. when I run the model, the signal plotted in time scope is discontinuous sin wave but not continuous sin wave. | | Is the discontinuous sin wave plotted in time scope correct?||

Accepted Answer

Paul
Paul on 22 Oct 2018
Hi Ardeal,
Transmit and receive on one same hardware using Tx and Rx blocks is not recommended. As both documentation link you have shared are highlighting:
"
Make sure that you have both the transmitter script Frequency Offset Calibration Transmitter Using Analog Devices AD9361/AD9364 and the receiver script Frequency Offset Calibration Receiver Using Analog Devices AD9361/AD9364 open, with each configured to run on its own SDR hardware in its own instance of MATLAB.
"
If you give a look at the receiver block's "lost samples" output, you will likely see some frames being dropped. There will be performances issues by running both models on the same hardware at the same time.
I suggest you use the transmitRepeat function as highlighted here: Transmit and Receive On Single Device. You will be able to transmit and receive data on your device.
On a side note, these two scripts are meant to calibrate a frequency offset existing between two devices. There will be no frequency offset if the scripts are run on the same device.
I hope this helps you in your experiment!
Paul

More Answers (2)

Ardeal Liang
Ardeal Liang on 18 Oct 2018
In the Matlab help link: https://ww2.mathworks.cn/help/supportpkg/xilinxzynqbasedradio/examples/frequency-offset-calibration-using-analog-devices-ad9361-ad9364.html
I run Tx model in deployment mode, and then run the Rx model in external mode to monitor the received sin wave.
Obviously, I received nothing. why?

Ardeal Liang
Ardeal Liang on 22 Oct 2018
Edited: Ardeal Liang on 22 Oct 2018
Hi Paul,
Many thanks for your answer! according to your answer, I should not run tx and rx on one board. However, I cannot understand the board has both tx and rx functionality, why cannot they be run at the same time on one board?
I try the following example: http://nl.mathworks.com/help/supportpkg/xilinxzynqbasedradio/examples/receive-tone-signal-using-analog-devices-ad9361-ad9364.html this example explained the method to accelerate the Tx which choose DDS as the source and run it on FPGA.
I run this example on Matlab correctly, and the received signal is the same as the example. But I got t another issue: If I disconnect the loopback cable from TXA port to RXA port, the received singal keeeps unchanged. This is weird.
Do you have any idea about the weird issue?
Many thanks!
  1 Comment
Paul
Paul on 23 Oct 2018
There are some bottlenecks involved in running a receiver and a transmitter in Normal mode in Simulink at the same time on the same device. It requires for the data to go from the chip to the host with too high rates to ensure continuous streaming. This is not a supported use case.
That is why you should consider using the `transmitRepeat` functionality as highlighted above. It will let the transmitter transmit without being actively fed by the host, it will transmit a given waveform repeatedly.
As for your question on the loopback cable, please refer to my answer here to your similar question.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!