Does the NR HDL Downlink Receiver work on real raw data?
Hi, I have run the Downlink Receiver code with simulations (generated from the 5G Waveform Generator in MATLAB) and there are no issues there, however, when I try to tun the same code through collected raw data, it has never worked before (it says PSS not found). The collected data is confirmed to contain relevant information by other members of my research team, so the problem does not lie with the data itself. Has anyone faced a similar issue?
Do note that both the SSB detection code and the cell search code do not work.
Thank you so much for your help!
Here is the spectrogram of the data for reference:
Here is my code snippet for reference:
loaded_data = load("srsRAN_octoclock_samprate_2304_10MHz_scscommon_15khz_b200_fdd_n71_pci_1_2phones_onevoice.mat");
num_entries = 2e6; % number of entries to considered
rxWaveform = loaded_data.transposedData(1:num_entries);
minChanBW = 5;
Lmax = 100;
FoCoarse = 0;
rxSampleRate = 10e6;
%% Plot the spectogram of the waveform.
scsSSB = 15;
figure(2); clf;
nfft = round(rxSampleRate/(scsSSB*1e3));
spectrogram(rxWaveform(:,1),ones(nfft,1),0,nfft,’centered’,rxSampleRate,’yaxis’,’MinThreshold’,-110);
title(‘Spectrogram of the Received Waveform (15 KHz)’)
%% Detect SSBs
scsSSB = 15
[pssList,diagnostics] = nrhdlexamples.ssbDetect(rxWaveform,FoCoarse,scsSSB);
% Check if any PSS have been detected
if isempty(pssList)
disp(‘No PSS found during SSB detection.’);
return;
end
disp(‘Detected PSS list:’)
disp(struct2table(pssList));
%% Search for Cells
%%
% Define the frequency range endpoints and subcarrier spacing search space
% and call the |nrhdlexamples.cellSearch| function. The function displays
% information on the search progress as it runs.
% The frequency range endpoints must be multiples of half the
% maximum subcarrier spacing.
frequencyRange = [-120 120];
subcarrierSpacings = [15 30];
[ssBlockInfo,ssbGrid] = nrhdlexamples.cellSearch(rxWaveform,frequencyRange,subcarrierSpacings,struct(…
‘DisplayPlots’,false,…
‘DisplayCommandWindowOutput’,true));
% Check cell search successfully found and demodulated SSB.
if isempty(ssBlockInfo)
disp(‘Cell search failed to find or demodulate SSB.’);
return;
endHi, I have run the Downlink Receiver code with simulations (generated from the 5G Waveform Generator in MATLAB) and there are no issues there, however, when I try to tun the same code through collected raw data, it has never worked before (it says PSS not found). The collected data is confirmed to contain relevant information by other members of my research team, so the problem does not lie with the data itself. Has anyone faced a similar issue?
Do note that both the SSB detection code and the cell search code do not work.
Thank you so much for your help!
Here is the spectrogram of the data for reference:
Here is my code snippet for reference:
loaded_data = load("srsRAN_octoclock_samprate_2304_10MHz_scscommon_15khz_b200_fdd_n71_pci_1_2phones_onevoice.mat");
num_entries = 2e6; % number of entries to considered
rxWaveform = loaded_data.transposedData(1:num_entries);
minChanBW = 5;
Lmax = 100;
FoCoarse = 0;
rxSampleRate = 10e6;
%% Plot the spectogram of the waveform.
scsSSB = 15;
figure(2); clf;
nfft = round(rxSampleRate/(scsSSB*1e3));
spectrogram(rxWaveform(:,1),ones(nfft,1),0,nfft,’centered’,rxSampleRate,’yaxis’,’MinThreshold’,-110);
title(‘Spectrogram of the Received Waveform (15 KHz)’)
%% Detect SSBs
scsSSB = 15
[pssList,diagnostics] = nrhdlexamples.ssbDetect(rxWaveform,FoCoarse,scsSSB);
% Check if any PSS have been detected
if isempty(pssList)
disp(‘No PSS found during SSB detection.’);
return;
end
disp(‘Detected PSS list:’)
disp(struct2table(pssList));
%% Search for Cells
%%
% Define the frequency range endpoints and subcarrier spacing search space
% and call the |nrhdlexamples.cellSearch| function. The function displays
% information on the search progress as it runs.
% The frequency range endpoints must be multiples of half the
% maximum subcarrier spacing.
frequencyRange = [-120 120];
subcarrierSpacings = [15 30];
[ssBlockInfo,ssbGrid] = nrhdlexamples.cellSearch(rxWaveform,frequencyRange,subcarrierSpacings,struct(…
‘DisplayPlots’,false,…
‘DisplayCommandWindowOutput’,true));
% Check cell search successfully found and demodulated SSB.
if isempty(ssBlockInfo)
disp(‘Cell search failed to find or demodulate SSB.’);
return;
end Hi, I have run the Downlink Receiver code with simulations (generated from the 5G Waveform Generator in MATLAB) and there are no issues there, however, when I try to tun the same code through collected raw data, it has never worked before (it says PSS not found). The collected data is confirmed to contain relevant information by other members of my research team, so the problem does not lie with the data itself. Has anyone faced a similar issue?
Do note that both the SSB detection code and the cell search code do not work.
Thank you so much for your help!
Here is the spectrogram of the data for reference:
Here is my code snippet for reference:
loaded_data = load("srsRAN_octoclock_samprate_2304_10MHz_scscommon_15khz_b200_fdd_n71_pci_1_2phones_onevoice.mat");
num_entries = 2e6; % number of entries to considered
rxWaveform = loaded_data.transposedData(1:num_entries);
minChanBW = 5;
Lmax = 100;
FoCoarse = 0;
rxSampleRate = 10e6;
%% Plot the spectogram of the waveform.
scsSSB = 15;
figure(2); clf;
nfft = round(rxSampleRate/(scsSSB*1e3));
spectrogram(rxWaveform(:,1),ones(nfft,1),0,nfft,’centered’,rxSampleRate,’yaxis’,’MinThreshold’,-110);
title(‘Spectrogram of the Received Waveform (15 KHz)’)
%% Detect SSBs
scsSSB = 15
[pssList,diagnostics] = nrhdlexamples.ssbDetect(rxWaveform,FoCoarse,scsSSB);
% Check if any PSS have been detected
if isempty(pssList)
disp(‘No PSS found during SSB detection.’);
return;
end
disp(‘Detected PSS list:’)
disp(struct2table(pssList));
%% Search for Cells
%%
% Define the frequency range endpoints and subcarrier spacing search space
% and call the |nrhdlexamples.cellSearch| function. The function displays
% information on the search progress as it runs.
% The frequency range endpoints must be multiples of half the
% maximum subcarrier spacing.
frequencyRange = [-120 120];
subcarrierSpacings = [15 30];
[ssBlockInfo,ssbGrid] = nrhdlexamples.cellSearch(rxWaveform,frequencyRange,subcarrierSpacings,struct(…
‘DisplayPlots’,false,…
‘DisplayCommandWindowOutput’,true));
% Check cell search successfully found and demodulated SSB.
if isempty(ssBlockInfo)
disp(‘Cell search failed to find or demodulate SSB.’);
return;
end 5g, signal processing, ssb MATLAB Answers — New Questions