How to extract two signals from two different USRP devices connected with MIMO expansion cable?
12 ビュー (過去 30 日間)
古いコメントを表示
I am working tith Matlab2020a and USRP Support Package. I want to present a concept of diversity in mobile communications, therefore I am using two N210 USRP devices (SBX motherboard) and Rx port on each of them. Two USRP devices are connected with MIMO expansion cable. Both of USRP's have static IP address '192.168.10.2' and my computer network IP address is set to '192.168.10.1'.
Problem that I am facing is not being able to extract two signals, one from every USRP. When I call the findsdru command:
connectedRadios = findsdru;
I get structure 1x2 where I can see that both of USRP's are connected successfully. When I tried connecting one USRP device, using the command comm.SDRuReceiver I was able to get received signal x1 from the receiving anntena. I did that in the following way:
connectedRadios = findsdru;
if strncmp(connectedRadios(1).Status, 'Success', 7)
radioFound = true;
platform = connectedRadios(1).Platform;
switch connectedRadios(1).Platform
case {'B200','B210'}
address = connectedRadios(1).SerialNum;
case {'N200/N210/USRP2','X300','X310','N300','N310','N320/N321'}
address = connectedRadios(1).IPAddress;
end
else
radioFound = false;
address = '192.168.10.2';
platform = 'N200/N210/USRP2';
end
fmRxParams = getParamsSdruFMExamples(platform)
switch platform
case {'B200','B210'}
radio1 = comm.SDRuReceiver(...
'Platform', platform, ...
'SerialNum', address, ...
'MasterClockRate', fmRxParams.RadioMasterClockRate);
case {'X300','X310','N300','N310','N320/N321'}
radio1 = comm.SDRuReceiver(...
'Platform', platform, ...
'IPAddress', address, ...
'MasterClockRate', fmRxParams.RadioMasterClockRate);
case {'N200/N210/USRP2'}
radio1 = comm.SDRuReceiver(...
'Platform', platform, ...
'IPAddress', address);
end
radio1 = comm.SDRuReceiver('192.168.10.2');
radio1.CenterFrequency = 500000000;
radio1.Gain = fmRxParams.RadioGain;
radio1.DecimationFactor = fmRxParams.RadioDecimationFactor;
radio1.SamplesPerFrame = fmRxParams.RadioFrameLength;
radio1.OutputDataType = 'single'
hwInfo = info(radio1)
fmBroadcastDemod = comm.FMBroadcastDemodulator(...
'SampleRate', fmRxParams.RadioSampleRate, ...
'FrequencyDeviation', fmRxParams.FrequencyDeviation, ...
'FilterTimeConstant', fmRxParams.FilterTimeConstant, ...
'AudioSampleRate', fmRxParams.AudioSampleRate, ...
'PlaySound', true, ...
'BufferSize', fmRxParams.BufferSize, ...
'Stereo', true);
if radioFound
% Loop until the example reaches the target stop time, which is 10
% seconds.
timeCounter = 0;
while timeCounter < fmRxParams.StopTime
[x1, len] = step(radio1);
if len > 0
% FM demodulation
step(fmBroadcastDemod, x1);
% Update counter
timeCounter = timeCounter + fmRxParams.AudioFrameTime;
end
end
else
warning(message('sdru:sysobjdemos:MainLoop'))
end
release(fmBroadcastDemod)
release(radio1)
Now, I would like to get signal x2 in the same way from the second USRP, but I don't know how. Am I supposed to change the IP address of one of the USRP's or I can manage this problem using the Matlab functions.
1 件のコメント
Firas Dawod
2022 年 3 月 10 日
Hi Dzana,
Could you able to have phase coherence (or sychronization) between two USRP N210 using MiMO extension cable? I tried the samething with MATLAB Simulink but it did not work, as there was no option to receive the clock through the MiMO cable in the SDRu receiver block.
please let me know if it is possible to do that in MATLAB Simulink.
Thanks
Firas
採用された回答
Karunya Choppara
2021 年 7 月 20 日
Hi
You can set a new IP address to the N210 radio using setsdruip function, as described on this page
https://in.mathworks.com/help/supportpkg/usrpradio/ug/setsdruip.html
その他の回答 (1 件)
Firas Dawod
2022 年 4 月 15 日
I tried also to synchronize (phase cohernce) two USRP N200 with MIMO cable but it did not work as there is no option for mimo cable in sdruReciver. Therefore, we purchase USRP B210.
1 件のコメント
Karunya Choppara
2024 年 8 月 27 日
MIMO cable synchronization for USRP N210 radios is available in R2024b release MATLAB
参考
カテゴリ
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!