MATLAB Answers

5G NR Downlink Carrier Waveform Generation

12 views (last 30 days)
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

  0 Comments

Sign in to comment.

Accepted Answer

Sriram Tadavarty
Sriram Tadavarty on 27 Apr 2020
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

  4 Comments

Show 1 older comment
Sriram Tadavarty
Sriram Tadavarty on 28 Apr 2020
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
Javier Sola morras
Javier Sola morras on 29 Apr 2020
Thank you for the information. It was very helpful.

Sign in to comment.

More Answers (0)