LimeSDR program in Matlab

8 次查看(过去 30 天)
Hey guys, thanks in advance.
I am developing a SAR passive radar in Matlab with LimeSDR. I am using jocover and RakhDamir programs to connect LimeSDR to matlab.
The code I present you, let me receive Fs*Ts samples and then when LimeSDR gets that samples it stops receiving. However, I want to receive samples continually, until I presss a button on the keypad to stop receiving on LimeSDR , and then save all the samples in a file to save in my computer. How can I do that, maybe with a while loop?
% Start the module
dev.start();
fprintf('Start of LimeSDR\n');
% Receive samples on RX0 channel
indRx = 1;
[samples, ~, samplesLength] = dev.receive(Fs*Ts,0);
bufferRx(indRx:indRx+samplesLength-1) = samples;
% Receive samples on RX1 channel
indRx1 = 1; % index of the last received sample
[samples1, ~, samplesLength1] = dev.receive(Fs*Ts,1);
bufferRx1(indRx1:indRx1+samplesLength1-1) = samples1;
pause(1)
% Cleanup and shutdown by stopping the RX stream and having MATLAB delete the handle object.
dev.stop();
clear dev;
fprintf('Stop of LimeSDR\n');

采纳的回答

Ben Cunningham
Ben Cunningham 2022-6-23
编辑:Ben Cunningham 2022-6-23
The following code will give you a while loop which can be stopped by clicking on the pop-up figure. It makes use of a global variable and a quick and dirty dialogue with a callback. Consider consulting the documentation for dialogs to make an optimised design.
global gStop % Global variable to stop while loop
gStop = false;
% Create a dialogue which when clicked calls the 'stopStream' function
stopBtn = dialog('Name', 'Click to Stop', "ButtonDownFcn",@stopStream);
drawnow
% Create while loop which runs until global gStop is true
while ~gStop
% Receive from SDR
drawnow % Gives dialog a chance to call stopStream and set the global variable
end
close(stopBtn) % Close once stopped
function stopStream(~,~,~)
% Sets global gStop to true
global gStop
gStop = true;
end
For saving to file consider using the matlab save function like:
save capturedDataFile.mat myData
For large quantities of data, and perhaps to write to a single file each while loop iteration consider using the baseband file writer.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Deploy to C++ Applications Using MATLAB Data API (C++11) 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by