Why is this USRP not receiving continuously?
14 views (last 30 days)
Show older comments
hi,
I'm trying to implement a simple tx-rx setup with 2 USRP(both B210 USRPs) to validate a channel equalization function.
For that I'm using 1 USRP as transmitter and other as receiver. The information I'm trying to transmit is already modulate so the USRP are only use as up/down converters and sending/receiving the information.
With this in mind I got together the following script:
%%Settings
CenterFrequency = 1.821e9;
%TX
TXGain = 30;
TXMasterCLK = 10e6;
TXInterFactor = 1;
%RX
RXGain = 35;
RXMasterCLK = 10e6;
RXDecimFactor = 1;
%%Load Frame
load('dataTx_usrp.mat');
%%Discover Radio
connectedRadios = findsdru;
addressRX = '30FDE52';
platformRX = 'B210';
addressTX = '30FDE62';
platformTX = 'B210';
%%Initialization
%TX
tx = comm.SDRuTransmitter(...
'Platform', platformTX,...
'SerialNum', addressTX,...
'CenterFrequency', CenterFrequency,...
'Gain', TXGain,...
'MasterClockRate', TXMasterCLK,...
'InterpolationFactor', TXInterFactor...
)
%RX
rx_SDRu = comm.SDRuReceiver(...
'Platform', platformRX,...
'SerialNum', addressRX,...
'CenterFrequency', CenterFrequency,...
'Gain', RXGain,...
'MasterClockRate', RXMasterCLK,...
'DecimationFactor', RXDecimFactor,...
'SamplesPerFrame', length(dataTx_usrp),...
'OutputDataType', 'double' ...
)
%%Signal transmission and reception
dataRX = [];
for counter = 1:1000
tx(dataTx_usrp);
%data = rx_SDRu();
[rcvdSignal, len] = step(rx_SDRu);
if len > 0
dataRX = [dataRX; rcvdSignal];
end
%rx_log(data);
end
With this I'm able to transmit and receive the data on the dataTx_usrp variable but I think I'm missing some configuration on the USRP initialization because the process of transmission and reception is not continuous. Both USRP have LED that indicate when they are transmitting and receiving and those LED's are blinking. The result of that is a reception signal that is not continuous.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/188242/image.png)
I don't understand why is that. It's not a USRP problem because I tried one example of a FM receiver and the receiver LED was always on.
Does someone know what is causing this problem?
Thank you for your time! Ricardo Loureiro
2 Comments
Mir Lodro
on 22 Feb 2020
Hi,
This problem could be because of high sampling rates, try to reduce the sampling rate with appropriate interpolation and decimation factor. This might help you figure out where is the problem. But this is usually because of high sampling rates, NIC tunning etc.
Regards
Mir
Alvaro Lopez
on 23 Aug 2020
Hello,
Same problem here. All USRP examples work correctly but my simulink script doesn't work. The LEDs are blinking and I am not receiving or transmitting a signal. The USRP parameters are taken from the examples. There are no overrun or underrun signals on its ports.
Regards,
Álvaro
Answers (1)
See Also
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!