While loop is taking too much time to execute, also within the loop elapsed time is large

纵然是瞬间 提交于 2020-01-06 06:02:14

问题


I’m working on a radar project using USRP N210 with UBX-40 daughterboard using MATLAB. I am facing a problem when I run the code for receiving the echo of the transmitted pulse. It is taking 4 seconds for the board to start receiving and collecting first sample, which doesn’t suit at all my case. After the first sample, receiving elapsed time for the other echoes is in milliseconds which not good because, echoes in radars should be received within microseconds or less and not seconds and milliseconds!!

clear;
clc;
Fs= 50e6; % Sampling freq
t=0:1/Fs:10-1/Fs;   %Time vector
PRI = 10e-6; %PRI 
pw = 0.04e-6; %pulse width
d= 0:PRI:10; %delay vector
y_pulse = ones(Fs*pw,1);


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'}
  address = connectedRadios(1).IPAddress;
 end
else
radioFound = false;
address = '192.168.10.2';
platform = 'N200/N210/USRP2';
end

 gn = 23;
 inf1=2;
 rfTxFreq = 5e9; % RF Transmitter Center Frequency (Hz)

  radioTx = comm.SDRuTransmitter('Platform', platform, ...
    'IPAddress', address, ...
    'CenterFrequency', rfTxFreq,...
    'Gain', gn, ...
    'InterpolationFactor', inf1)


    radioRx = comm.SDRuReceiver(...
    'Platform',         platform, ...
    'IPAddress',        address, ...
    'CenterFrequency',  rfTxFreq,...
    'Gain',             gn, ...
    'DecimationFactor', inf1,...
    'SamplesPerFrame',  498,...
    'OutputDataType','single')  

   for i=1:5
   step(radioTx,y_pulse)


    timeCounter = 0;
   tic
   while timeCounter < 1
     [x, len] = step(radioRx);
   pulses(:,i)=x ;
    if len > 0

    timeCounter = timeCounter + 1;
      end
  end
      end
   toc
   release(radioTx)
   release (radioRx)

    clear radioRx

来源:https://stackoverflow.com/questions/49844527/while-loop-is-taking-too-much-time-to-execute-also-within-the-loop-elapsed-time

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!