MATLAB Answers

Difference between SDR transmitter and tx.transmitrepeat function

16 views (last 30 days)
Hi, I used transmitter system object "sdrtx('ZedBoard and FMCOMMS2/3/4')" to connect to ZedBoard and AD9361, and I already successfully transmitted the waveform.
However, now I would like to transmit the same waveform on the Simulink, and I used the SDR Transmitter block (also ZedBoard and FMCOMMS2/3/4 version) in Communication System Toolbox for Xilinx Zynq-Based Radio. I encountered serious underflow problem on Simulink, since I changed the baseband sampling rate to 30M Hz. But it works well on original script version (using tx.transmitRepeat function) even if I modify the baseband sampling rate.
What is the difference between these two version and how could I solve this problem on simulink? (Opening the Burst mode wouldn't work.)
Thank you very much.
Angie
  1 Comment
Mugdha Jadhao
Mugdha Jadhao on 9 Feb 2019
Hello Angie,
I am new to working on SDR platform and wireless communication area.
In the question above you have mentioned that you were able to implement it successfully.
In, Transmission using SDR Hardware(code in above link),
bufferUnderflow = sdrTransmitter(txFrame(:,n));
if bufferUnderflow~=0
warning('Dropped samples')
bufferUnderflow's value is 1 always. Therefore, transmission is not happening due to dropped samples. Can you help? Some problem is happening with sdrTransmitter object I think.
- Mugdha.

Sign in to comment.

Accepted Answer

Neil MacEwen
Neil MacEwen on 30 Oct 2017
Hi Angie,
When you use the Simulink block, you are attempting to stream data from Simulink across the Ethernet link to the board. You will be unable to do this at high rates due to 1) the physical speed limitation of the Ethernet link and 2) the performance limits of Simulink. In your case, 30MHz is faster than the physical upper rate supported. In the documentation we recommend using burst mode at transmit rates of > 3MHz.
Note that burst mode only guarantees uninterrupted transmission of data within the burst, i.e. within FrameSize*NumberOfFramesInBurst samples. Outside of this burst of data, you will get underflows. The repeated transmitter function is a special mode that downloads the waveform onto the hardware, and repeatedly transmits from there. Because the waveform is not limited by Simulink/MATLAB performance or the Ethernet link, you can transmit at full rate. Note this capability is only available from MATLAB.
Kind regards,
Neil
  3 Comments
Hsiao Chien Chen
Hsiao Chien Chen on 1 Nov 2017
Hi Neil,
I see. Thank you very much for your helpful answer.
Best regards,
Angie

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by