In Communication Toolbox Support Package for USRP Radio, how to synchronize Tx and Rx time stamps to achieve true full-duplex?

24 次查看(过去 30 天)
As I use MATLAB to process data associated with my USRP radio project, it would be easier for me to use MATLAB/Simulink to directly control USRP. I want to achieve real full-duplex operation, meaning that the Tx and Rx of the same USRP channel can operate simultaneously. To achieve this, I will need to control the time stamps of both the Tx and Rx.
For example, as a simple project, I have a USRP B200mini, which has one channel with a Tx and a Rx port. I connect a cable directly from the Tx port and the Rx port, and both Tx and Rx are configured at the same carrier frequency. This is a wired channel so there is no channel fading, so I am supposed to get very clear transmitted baseband samples at the Rx. However, without precise Tx-Rx time-stamp synchronization, this cannot be achieved. This is because no matter you write a MATLAB script (using SDRu Tx and SDRu Rx System Objects) or construct a Simulink model (using SDRu Tx and SDRu Rx blocks), the Tx and Rx won't work simultaneously. MATLAB script execute in sequence, and Simulink blocks also have a predefined execution order (it won't help changing the Simulink block execution priority or using a triggered subsystem).
I can do this conveniently in LabVIEW, because it has the "StartTrigger" VI and "SetTime" VI that allows me to specify the time both Tx and Rx start working, to millisecond precision. However, I haven't yet seen this utility in MATLAB/Simulink.
I have checked the link here: https://www.mathworks.com/help/supportpkg/usrpradio/ug/family-radio-service-frs-full-duplex-transceiver-with-usrp-r-hardware.html. Unfortunately it doesn't work for the above-described B200mini project.
Can anyone help me with this, or offer some workaround? Greatly appreciated.
  5 个评论
Guoyi Xu
Guoyi Xu 2023-8-9
@yusho nakawaki Hi Yusho Nakawaki, sorry for the delayed response as it didn't notify me when you commented. I was able to resolve it and it doesn't require time stamp synchronization. I think MATLAB/Simulink handles it by itself and we don't need to worry about it. Are you still having problems with it?

请先登录,再进行评论。

回答(1 个)

Karunya Choppara
Karunya Choppara 2023-9-20
编辑:Karunya Choppara 2023-9-20
Trigger time based transmit and receive is supported with MATLAB in R2023b. To get the latest version of MATLAB check the page https://in.mathworks.com/downloads/
Use the properties 'EnableTimeTrigger' and 'TriggerTime' in comm.SDRuReceiver and comm.SDRuTransmitter system objects in MATLAB to use trigger based receive and transmit respectively.
This functionality is also available with SImulink blocks.
Thanks

类别

Help CenterFile Exchange 中查找有关 Communications Toolbox 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by