Difference between SDR transmitter and tx.transmitrepeat function
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
le 9 Fév 2019
Hello Angie,
I am new to working on SDR platform and wireless communication area.
I am trying to implement over the air LTE transmission by following this link: https://in.mathworks.com/help/supportpkg/xilinxzynqbasedradio/examples/lte-transmitter-using-analog-devices-ad9361-ad9364.html
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.
Réponse acceptée
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
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
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!