Flexible Numerology scenario

Dear Sir,

**When I tried to run flexibleNumerology scenario using main.m script, I got an error in the case of using 15kHz subcarrier spacing. **
I changed the parameter in the scenario like that:
% numerology setup: to obtain the three different numerologies, change the following parameters as shown in the inline comments
scStr.modulation.numberOfSubcarriers = [384]; % 384, 96, 48
scStr.modulation.subcarrierSpacing = [15e3]; % 15e3, 60e3, 120e3
scStr.modulation.nSymbolsTotal = [14]; % 14, 56, 112
scStr.modulation.nGuardSymbols = [1]; % 1, 4, 8

scStr.schedule.fixedScheduleDL{1} = [‘UE1:384’]; % [‘UE1:384’], [‘UE1:96’] or [‘UE1:48’]

I got the following error message:
Warning: For fully digital precoding the number of port is set equal to the number of antennas

In Parameters/SimulationParameters/checkParameters (line 317)
In Parameters.SimulationParameters (line 30)
In main (line 25)
The sampling rate was set to 11.700000 MHz.
Sampling rate does not match the predefined delays of the channel model!
Delay taps are changed according to (top = desired value; bottom = chosen value):
1.0e-06 *

Columns 1 through 9

     0    0.0172    0.0181    0.0264    0.0207    0.0242    0.0302    0.0259    0.0343
     0         0         0         0         0         0         0         0         0

Columns 10 through 18

0.0692    0.0854    0.1001    0.0977    0.1122    0.1130    0.1376    0.1836    0.2006
0.0855    0.0855    0.0855    0.0855    0.0855    0.0855    0.1709    0.1709    0.1709

Columns 19 through 23

0.2056    0.2158    0.2253    0.2387    0.4346
0.1709    0.2564    0.2564    0.2564    0.4274

Warning: For fully digital precoding the number of port is set equal to the number of antennas

In Parameters/SimulationParameters/checkParameters (line 317)
In Parameters/SimulationParameters/UpdateSweepValue (line 1196)
In main (line 26)
Sampling rate does not match the predefined delays of the channel model!
Delay taps are changed according to (top = desired value; bottom = chosen value):
1.0e-06 *

Columns 1 through 9

     0    0.0172    0.0181    0.0264    0.0207    0.0242    0.0302    0.0259    0.0343
     0         0         0         0         0         0         0         0         0

Columns 10 through 18

0.0692    0.0854    0.1001    0.0977    0.1122    0.1130    0.1376    0.1836    0.2006
0.0855    0.0855    0.0855    0.0855    0.0855    0.0855    0.1709    0.1709    0.1709

Columns 19 through 23

0.2056    0.2158    0.2253    0.2387    0.4346
0.1709    0.2564    0.2564    0.2564    0.4274

------- Started -------
Warning: The temporary variable ‘signalLength’ will be cleared at the beginning of each
iteration of the parfor-loop. If ‘signalLength’ is used before it is set, a runtime error will
occur. For more information, see Parallel for Loops in MATLAB, “Uninitialized Temporaries”.

In main (line 52)
Warning: The temporary variable ‘primaryLink’ will be cleared at the beginning of each
iteration of the parfor-loop. If ‘primaryLink’ is used before it is set, a runtime error will
occur. For more information, see Parallel for Loops in MATLAB, “Uninitialized Temporaries”.
In main (line 52)
Warning: For fully digital precoding the number of port is set equal to the number of antennas
Warning: For fully digital precoding the number of port is set equal to the number of antennas
Warning: For fully digital precoding the number of port is set equal to the number of antennas
Warning: For fully digital precoding the number of port is set equal to the number of antennas
Warning: For fully digital precoding the number of port is set equal to the number of antennas
Warning: For fully digital precoding the number of port is set equal to the number of antennas
In Parameters/SimulationParameters/checkParameters (line 317)
In Parameters/SimulationParameters/UpdateSweepValue (line 1196)
In parallel_function>make_general_channel/channel_general (line 837)
In remoteParallelFunction (line 67)
Sampling rate does not match the predefined delays of the channel model!
Delay taps are changed according to (top = desired value; bottom = chosen value):
1.0e-06 *

Columns 1 through 17

     0    0.0172    0.0181    0.0264    0.0207    0.0242    0.0302    0.0259    0.0343    0.0692    0.0854    0.1001    0.0977    0.1122    0.1130    0.1376    0.1836
     0         0         0         0         0         0         0         0         0    0.0855    0.0855    0.0855    0.0855    0.0855    0.0855    0.1709    0.1709

Columns 18 through 23

0.2006    0.2056    0.2158    0.2253    0.2387    0.4346
0.1709    0.1709    0.2564    0.2564    0.2564    0.4274

Warning: Pilot pattern is LTE Downlink like, but not standard compliant for a number of 13 symbols per slot!

In ChannelEstimation.PilotSymbolAidedChannelEstimation (line 134)
In Parameters/SimulationParameters/initializeLinks (line 1948)
In parallel_function>make_general_channel/channel_general (line 837)
In remoteParallelFunction (line 67)
Warning: For fully digital precoding the number of port is set equal to the number of antennas
Error using ChannelEstimation.PilotSymbolAidedChannelEstimation
Size inputs must be integers.

Error in Parameters.SimulationParameters/initializeLinks (line 1948)
ChannelEstimator = ChannelEstimation.PilotSymbolAidedChannelEstimation( …

Error in main (line 52)
parfor iSweep = 1:length(simParams.simulation.sweepValue) % this may be ‘for’ or ‘parfor’

Please tell me how to run this case without an error.
**Note : **
I use MATLAB 2022b and The Vienna 5G Link Level Simulator v1.3

Dear Mohamed,

The pilot pattern causes this issue. You have two options:

  • Change the pilot pattern for the DL to Diamond
  • Change nSymbolsTotal to 15

Best,
Mariam

Dear Mariam,
Thank you very much for your reply. The two options are already working.

I tried to run the flexible Numerology scenario for different subcarrier spacing, it worked very well when I simulate for one subcarrier spacing each time.

When I tried to use flexible Numerology scenario to simulate two different subcarriers using two base stations and two user equipment. unfortunately, I did not get curves as expected for the two users.

Please, tell me where is the problem.

I changed the parameter in the scenario like that:
scStr.topology.nodes = [‘BS1,BS2,UE1,UE2’];
scStr.topology.primaryLinks = [‘BS1:UE1,’ …
‘BS2:UE2,’ ];

scStr.simulation.pilotPatternDownlink = ‘Diamond’;

scStr.modulation.numberOfSubcarriers = [384,96];
scStr.modulation.subcarrierSpacing = [15e3,60e3];
scStr.modulation.nSymbolsTotal = [15,60];
scStr.modulation.nGuardSymbols = [1,4];

scStr.schedule.fixedScheduleDL{1} = [‘UE1:384’];
scStr.schedule.fixedScheduleDL{2} = [‘UE2:96’];

Best Regards,
Mohamed

Dear Mohamed,

You get a throughput of zero because the interference is too high. You have to reduce the interference by increasing the interferer attenuation ‘topology.interferer.attenuation’.

Best,
Mariam