Difference between SDR transmitter and tx.transmitrepeat function

2 vues (au cours des 30 derniers jours)
Hsiao Chien Chen
Hsiao Chien Chen le 30 Oct 2017
Commenté : Mugdha Jadhao le 9 Fév 2019
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 commentaire
Mugdha Jadhao
Mugdha Jadhao le 9 Fév 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.

Connectez-vous pour commenter.

Réponse acceptée

Neil MacEwen
Neil MacEwen le 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 commentaires
Neil MacEwen
Neil MacEwen le 31 Oct 2017
Hi Angie,
I'm afraid the only way to call that function is from MATLAB. If you wish to generate your data in Simulink, you can do that and use a To Workspace block to save the data to a workspace variable. You can then use that variable with the transmitRepeat function.
Cheers,
Neil
Hsiao Chien Chen
Hsiao Chien Chen le 1 Nov 2017
Hi Neil,
I see. Thank you very much for your helpful answer.
Best regards,
Angie

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by