Difference between SDR transmitter and tx.transmitrepeat function

5 ビュー (過去 30 日間)
Hsiao Chien Chen
Hsiao Chien Chen 2017 年 10 月 30 日
コメント済み: Mugdha Jadhao 2019 年 2 月 9 日
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 件のコメント
Mugdha Jadhao
Mugdha Jadhao 2019 年 2 月 9 日
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.

サインインしてコメントする。

採用された回答

Neil MacEwen
Neil MacEwen 2017 年 10 月 30 日
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 件のコメント
Neil MacEwen
Neil MacEwen 2017 年 10 月 31 日
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 2017 年 11 月 1 日
Hi Neil,
I see. Thank you very much for your helpful answer.
Best regards,
Angie

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by