Garbage Data received for USRP X310 using Loopback Test (Wireless Testbench)

14 views (last 30 days)
I am trying to do a LoopBack Test for USRP X310 using MATLAB 2022b's Wireless Testbench support package for NI USRP. I have successfully setup the USRP and gone through that process. I have also run the example of Loopback test given in MATLAB in the following link
I have modified and selected X310 and got the waveform as shown below. It shows there is some noise in the received signal compared to the one shown in example
Furthermore, when I tried to use some random bits for QPSK modulation and then send confirm the transmission using Loopback I am getting some ridiculously large data points. Attached is my code..!!!
The constellation point for QPSK should NOT be greater than 0.707 for both in-phase and Quadrature samples, however I am getting the following values (sample snippet)
I have been trying this in the older versions but due to the Wireless Testbench shifted to 2022b. Any helps in why I am getting this is much appreciated
Thank you..!!

Answers (1)

Martin Enderwitz
Martin Enderwitz on 16 Dec 2022
Hi Uzair,
I've tried your script on our own X310 setup and was unable to reproduce the noisy spectrum you've shown. The signal looks to be particularly low in power (-20 dBm at the peak) - are you using loopback cables or antennas with the radio? You may also need to adjust the values for the CaptureRadioGain and TransmitRadioGain properties on the basebandTransceiver object to tune this to your particular environment and ensure you are receiving a strong signal.
With regards to the size of the data you are receiving, the capture method of the basebandTransceiver returns data as complex int16, compared to the compelx double type being transmitted.
Finally, if you're not already familiar with the QPSK Transmitter & Reciever example, you may find this useful. In particular, you may need to incorporate recovery and synchronization on your received data to ensure your constellation plot and bit error calculations are working as expected.
Regards,
Martin
  10 Comments
Martin Enderwitz
Martin Enderwitz on 22 Dec 2022
If you open and inspect the code for the QPSK Transmitter & Receiver Example I mentioned previously, you'll see there's a FrameSynchronizer system object which is used within the receiver. In particular, if you look at the stepImpl method of the receiver you'll see the various stages of compensation/recovery/synchronization used on the signal before decoding and calculating the BER. Hopefully that helps!
Uzair Mughal
Uzair Mughal on 25 Dec 2022
Edited: Uzair Mughal on 25 Dec 2022
There is Frame synchronization, but it does not work well when used with end-to-end applications for USRP. I confirm that it works just fine for simulation purposes, I have tried and gone through it in the debugging mode. For hardware supported applications, the BER seems to have gone as high as 50%. Moreover, I have tried "transmit" function for the end-to-end application and it did not work either (The script stuch without any meaningful message being displayed for the user). Is MATLAB just not good enough for such applications ?? Because it seems under tested this "Wireless Testbench" specially.

Sign in to comment.

Categories

Find more on Communications Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!