[5G toolbox] how to generate CU Messages with multiple UE

13 views (last 30 days)
Dear all,
As the title mentioned I would like to generate sequences of eCPRI packets for both C and U plane using the 5G toolbox, but I would like to do it with multiple UE that are using different settings of modulation, bandwidth, scs etc.
The relevant tootorails that i followed are the following one:
Once I was capable to reproduce this example with the test waveform, provided by the standard and the function
hNRReferenceWaveformGenerator
  • At that point I moved to the second guide on how to generate a custom waveform configuration with multiple UE, following what is presented in 5G NR Uplink Vector Waveform Generation, which works as expected.
But I encountered some complications, that I don't really know how to overcome, or if there is a reason behind this implementation choice.
Basically, the custom waveform is generated correctly, and I can obtain the grid information as follows:
% Generate waveform and get resource grid of one frame of data
[~,gridSet] = nrWaveformGenerator(waveConf);
grid = gridSet.ResourceGrdids.ResourceGridBWP;
I've susbtituted the waveform generation function from the first tutorial with the one in the second.
Problems araises once I reach the function
hORANProtocolBuilder.getCUMessages(waveConf,mPlaneConfig,oranConfig,eCPRIConfig,ethernetConfig);
Indeed the waveConf object is not comaptible with the function, which assumes something more abstract and similar to
gridSet.ResourceGrids.Info
which contains the following info about the slots per subframe etc.
Indeed such information are used by 'hORANProtocolBuilder' but it expects only one "info" table, while in my scenario with two users I have two tables, one for each users.
We can see that in the 'hORANProtoclBuilder' class directly at the following lines:
% Prep for variation in parameter input structuring
if isfield(waveConfig,'ModulationInfo')
numerologyInfo = waveConfig.ModulationInfo;
else
numerologyInfo = waveConfig;
end
% If using Section Type 3 C-Plane then additional timing information needs to be calculated
if csectiontype == 3
numerologyInfo = expandTimeFreqInfo(numerologyInfo,grid);
end
% Make sure that a SCS parameter is available
if ~isfield(numerologyInfo,'SubcarrierSpacing')
numerologyInfo.SubcarrierSpacing = 15*numerologyInfo.SlotsPerSubframe;
end
% SlotId indexing increments for the data SCS
slotidinc = getSlotIdInc(mplaneConfig,numerologyInfo.SubcarrierSpacing);
so the object waveConfig (gridSet.ResourceGrids.Info) is used to obtain information about the number of symbols per slot and slots for each subframe. but doesn't take in consideration multiple the multi users scenario with different configurations of this parameters.
My question is the following one:
  • How should I modify the provided library to take in consideration multiple users? I don't need the piece of code that solves the prolem but also resources to study this argument would be highly appreciated, I'm still new to the radio in 5G. Or also hints or suggestions on how things should work.
  • Do you have suggestions on different classes/libraries that generate this kind of messages taking in consideration multiple users? maybe somebody has already takled this problem and shared the code on how to do it, but I didn't find it. I'm available to change library/tool as long I have the freedom to modify the parameters and having multiple users.
Thanks to everybody that can support me in this!
Mattia.
Ps to reproduce what I'm facing should be enough to concatenate the two examples provided by matlab, opening both with
openExample(...)
and adjusting the variable names/functions accordingly.
  2 Comments
Sasha Wessels
Sasha Wessels on 5 Mar 2024
Hello Mattia,
Could you please contact the Technical Support team to get help on this query by creating a Service Request at:
Thank you,
Sasha W.
MATTIA
MATTIA on 6 Mar 2024
Dear Sasha,
Thank you very much for the feedback, I just opened a ticket.
May I ask to keep this question open? so that I can later update it with the information received by the support team.
Thank you,
Mattia

Sign in to comment.

Answers (0)

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!