5G NR Downlink Carrier Waveform Generation

I'd like to know what value to assign to
bwp(1).NRB = ?;
bwp(2).NRB = ?;
For simulations with different SCS and Channel Bandwidth values than the toolbox example

 Accepted Answer

Hi Javier,
You can provide any values. But the best guide to run different simulations is the Transmission bandwidth configurations provided in the standard spec of TS 38.104 Section 5.3.2.
For example to configure a value of Channel Bandwidth of 30 MHz of 15 kHz SCS and 50 MHz bandwidth of 60 kHz SCS, make the following updates to carrier structure and bwp structure:
% Carriers Configuration
carriers = [];
carriers(1).SubcarrierSpacing = 15; % 15 kHz
carriers(1).NRB = 160; % 160 resource blocks comprise 30 MHz bandwidth
carriers(1).RBStart = 0;
carriers(2).SubcarrierSpacing = 60; % 60 kHz
carriers(2).NRB = 65; % 65 resource blocks comprise to 50 MHz bandwidth
carriers(2).RBStart = 0;
% Bandwidth parts configuration (Occupying complete carrier for both numerologies)
bwp = [];
bwp(1).SubcarrierSpacing = carriers(1).SubcarrierSpacing; % BWP Subcarrier Spacing same as carrier subcarrier spacing 1
bwp(1).CyclicPrefix = 'Normal'; % BWP Cyclic prefix for 15 kHz
bwp(1).NRB = carriers(1).NRB; % Size of BWP
bwp(1).RBOffset = 0; % Position of BWP in SCS carrier
bwp(2).SubcarrierSpacing = carriers(2).SubcarrierSpacing; % BWP Subcarrier Spacing
bwp(2).CyclicPrefix = 'Normal'; % BWP Cyclic prefix for 60 kHz
bwp(2).NRB = carriers(2).NRB; % Size of BWP
bwp(2).RBOffset = 0; % Position of BWP in SCS carrier
This will generate the output waveform for both the numerologies.
Hope this helps.
Regards,
Sriram

9 Comments

Thanks for the answer.
But not all specs of TS 38.104 Section 5.3.2 are valid. If you simulate with a Channel Bandwidth of 15 MHz of 15 and 30 kHz SCS , the following error is displayed
"The allocated PRB indices (0-based, largest value = 38) for PDSCH 2 exceed the NRB (38) for BWP 2"
Hi Javier,
As placed in the question, i focused only on those parameters. The other important field to be changed is AllocatedPRB of pdsch must be changed.
For your simulation setup, these should be the changes to work:
% Carriers Configuration
carriers(1).SubcarrierSpacing = 15;
carriers(1).NRB = 79;
carriers(1).RBStart = 0;
carriers(2).SubcarrierSpacing = 30;
carriers(2).NRB = 38;
carriers(2).RBStart = 0;
% Bandwidth parts configurations
bwp = [];
bwp(1).SubcarrierSpacing = carriers(1).SubcarrierSpacing; % BWP Subcarrier Spacing
bwp(1).CyclicPrefix = 'Normal'; % BWP Cyclic prefix for 15 kHz
bwp(1).NRB = carriers(1).NRB; % Size of BWP
bwp(1).RBOffset = 0; % Position of BWP in SCS carrier
bwp(2).SubcarrierSpacing = carriers(2).SubcarrierSpacing; % BWP Subcarrier Spacing
bwp(2).CyclicPrefix = 'Normal'; % BWP Cyclic prefix for 30 kHz
bwp(2).NRB = carriers(2).NRB; % Size of BWP
bwp(2).RBOffset = 0; % Position of BWP in SCS carrier
% PDSCH Instances configuration
pdsch(1).AllocatedPRB = 0:bwp(1).NRB-1; % PRB allocation (Placed here complete allocation, it can be changed based on requirement)
pdsch(2).AllocatedPRB = 0:10; % Placing here first 11 resource blocks, you can update this based on your need
Please update the AllocatedPRB filed based on your requirement and it will solve. By default the example parameter set to 40 MHz channel and the PRB allocated for PDSCH is in a way to cover that bandwidth part in non-contiguous allocation.
Hope this helps.
Regards,
Sriram
Thank you for the information. It was very helpful.
Glad that it helped. Thanks.
Hi Sriram.
I ahve one doubt. What is meaning of "carriers(1).RBStart = 0;" in the code described above.
Thank you in advance.
Hi Jyotirmayee,
The line carriers(1).RBStart = 0, implies that the starting resource block of the first carrier (present in the carriers structure), starts at the first resource block of common resource grid #CRB0.
Regards,
Sriram
Hi Sriram,
Thank you for your reply.
Is the RBstart is always 0 or we can assign some random value?
Hi Jyotirmayee,
You can assign some random value, for which you wanted to do the analysis.
Regards,
Sriram
It is really helpful.
Thank you Sriram.

Sign in to comment.

More Answers (0)

Categories

Products

Community Treasure Hunt

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

Start Hunting!