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.
回答(1 个)
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
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Communications Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!