Commit ba2d7aad authored by Robert Schmidt's avatar Robert Schmidt

Merge branch 'integration_2024_w38' into 'develop'

Integration: `2024.w38`

See merge request oai/openairinterface5g!2970

* !2932 Minor: Set correct USRP flags when not transmitting
* !2961 prevent UE to declare RLF in phy-test mode
* !2962 prevent UE to print HARQ processing error log for MSG2
* !2958 Automatic selection of SSB bitmap length
* !2967 bugfix: reject malformed rrcSetupComplete message
* !2947 Add 5G/NR MAC documentation
* !2959 nr rlc: fix standalone tests
parents 469d58f9 93a3abaf
...@@ -116,9 +116,7 @@ gNBs = ...@@ -116,9 +116,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -119,9 +119,7 @@ gNBs = ...@@ -119,9 +119,7 @@ gNBs =
hoppingId = 40; hoppingId = 40;
p0_nominal = -70; p0_nominal = -70;
n_TimingAdvanceOffset = 0; n_TimingAdvanceOffset = 0;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -116,9 +116,7 @@ gNBs = ...@@ -116,9 +116,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -117,9 +117,7 @@ gNBs = ...@@ -117,9 +117,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -143,9 +143,7 @@ gNBs = ...@@ -143,9 +143,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -117,9 +117,7 @@ gNBs = ...@@ -117,9 +117,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -117,9 +117,7 @@ gNBs = ...@@ -117,9 +117,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -111,9 +111,7 @@ gNBs = ...@@ -111,9 +111,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80; ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -116,9 +116,7 @@ gNBs = ...@@ -116,9 +116,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80; ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -116,9 +116,7 @@ gNBs = ...@@ -116,9 +116,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 3;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -113,9 +113,7 @@ gNBs = ...@@ -113,9 +113,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -120,9 +120,7 @@ gNBs = ...@@ -120,9 +120,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -70; p0_nominal = -70;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -123,9 +123,7 @@ gNBs = ...@@ -123,9 +123,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 0; hoppingId = 0;
p0_nominal = -96; p0_nominal = -96;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 0x1; ssb_PositionsInBurst_Bitmap = 0x1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -127,10 +127,6 @@ gNBs = ( ...@@ -127,10 +127,6 @@ gNBs = (
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1; subcarrierSpacing = 1;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1 # 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
......
...@@ -111,9 +111,7 @@ gNBs = ...@@ -111,9 +111,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -124,9 +124,7 @@ gNBs = ...@@ -124,9 +124,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -70; p0_nominal = -70;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -118,9 +118,7 @@ gNBs = ...@@ -118,9 +118,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -120,9 +120,7 @@ gNBs = ...@@ -120,9 +120,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -117,9 +117,7 @@ gNBs = ...@@ -117,9 +117,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -110,9 +110,7 @@ gNBs = ...@@ -110,9 +110,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -130,9 +130,7 @@ gNBs = ...@@ -130,9 +130,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -131,9 +131,7 @@ gNBs = ...@@ -131,9 +131,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -112,9 +112,7 @@ gNBs = ...@@ -112,9 +112,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -126,9 +126,7 @@ gNBs = ...@@ -126,9 +126,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 0; hoppingId = 0;
p0_nominal = -96; p0_nominal = -96;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 0x1; ssb_PositionsInBurst_Bitmap = 0x1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -70; p0_nominal = -70;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -119,9 +119,7 @@ gNBs = ...@@ -119,9 +119,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -96; p0_nominal = -96;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -110,9 +110,7 @@ gNBs = ...@@ -110,9 +110,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -118,9 +118,7 @@ gNBs = ...@@ -118,9 +118,7 @@ gNBs =
hoppingId = 40; hoppingId = 40;
#p0_nominal = -90; #p0_nominal = -90;
p0_nominal = -118; p0_nominal = -118;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80; ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -116,9 +116,7 @@ gNBs = ...@@ -116,9 +116,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80; ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -130,10 +130,8 @@ gNBs = ...@@ -130,10 +130,8 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long ssb_PositionsInBurst_Bitmap = 1;
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1 # 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
......
...@@ -127,9 +127,7 @@ gNBs = ...@@ -127,9 +127,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -135,9 +135,7 @@ gNBs = ...@@ -135,9 +135,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -110,9 +110,7 @@ gNBs = ...@@ -110,9 +110,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80; ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80; ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -113,9 +113,7 @@ gNBs = ...@@ -113,9 +113,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -112,9 +112,7 @@ gNBs = ...@@ -112,9 +112,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -111,9 +111,7 @@ gNBs = ...@@ -111,9 +111,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
This document describes the basic functioning of the 5G MAC scheduler,
describes the periodic output, and explains
out the various configuration options that influence its behavior.
[[_TOC_]]
# General
The 5G MAC scheduler is a proportional fair (PF) scheduler, "approximating
wide-band CQI" (for lack of a better term, but CQI is typically used for PF)
through the selection of an MCS to use.
Concretely, the scheduler loops through all UEs and calculates the PF
coefficient using the currently selected MCS, and the historical achieved rate.
The UE with highest coefficient wins and is scheduled RBs until all resources
are used, or until it has no more data to fill RBs, in which the scheduler
continues with the UE with the second-best coefficient.
UEs with retransmissions are allocated first; similarly, UEs that have not been
scheduled for some time in UL are scheduled automatically in UL and have
therefore priority over data with "normal" traffic.
The MCS selection is done in `get_mcs_from_bler()` in file
[`gNB_scheduler_primitives.c`](../../openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c).
It consider two thresholds for a "BLER" that is computed from the number of
first-round retransmissions over total transmissions in the last window (50ms).
If that ratio is higher than an "upper" threshold (see
`dl/ul_bler_target_upper` in the configuration section below), it is
interpreted as "bad channel" and MCS is decremented by 1. If the ratio is
lower than a "lower" threshold (see `dl/ul_bler_target_lower`), it is
interpreted as "good channel" and MCS is incremented by 1. This happens each
window.
The actual scheduler implementation can be found in functions `pf_dl()` and
`pf_ul()` in files
[`gNB_scheduler_dlsch.c`](../../openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c)
(for DL) and
[`gNB_scheduler_ulsch.c`](../../openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c)
(for UL), respectively.
# Periodic output and interpretation
The scheduler periodically outputs statistics that can help you judge the radio
channel quality, i.e., why a UE does not perform as you would expect. The
scheduler outputs this info in log level "INFO". The same information is also
available in the the file `nrMAC-stats.log` in the same directory in which
`nr-softmodem` is run.
Example:
```
UE RNTI 2460 CU-UE-ID 2 in-sync PH 28 dB PCMAX 24 dBm, average RSRP -74 (8 meas)
UE 2460: CQI 15, RI 2, PMI (14,1)
UE 2460: UL-RI 2 TPMI 0
UE 2460: dlsch_rounds 32917/5113/1504/560, dlsch_errors 211, pucch0_DTX 1385, BLER 0.19557 MCS (1) 23
UE 2460: ulsch_rounds 3756/353/182/179, ulsch_errors 170, ulsch_DTX 285, BLER 0.33021 MCS (1) 27 (Qm 8 dB) NPRB 5 SNR 31.0 dB
UE 2460: MAC: TX 1530943191 RX 194148 bytes
UE 2460: LCID 1: TX 651 RX 3031 bytes
UE 2460: LCID 2: TX 0 RX 0 bytes
UE 2460: LCID 4: TX 1526169592 RX 16152 bytes
```
In the first line,
* `UE RNTI` (here `2460`): this is also used as the DU UE ID over F1; each line
is prepended with the RNTI
* `CU UE ID` (`2`): separate identifier from the RNTI to handle multiple
UEs across DUs (in which case RNTI conflicts are possible)
* whether a UE is `in-sync` (actively being scheduled) or `out-of-sync` (the UE
is not being scheduled, because it did not respond when being scheduled in UL
or since it has radio-link failure
* `PH` (`28`): Power Headroom, the amount of power the UE has left. If it is > 40 you
can achieve full UL throughput. `PCMAX` (`24 dBm`) is what the UE reported as
maximum UL transmit power it can output in the channel.
* `RSRP` (`-74`): measured power of the DL reference signals at the UE. >-80dBm
you should have full DL throughput. <-95 dBm, you are very limited in terms
of connectivity.
The second and third line reflect channel state information (CSI) as
reported by the UE, and only appear if CSI-RS/SRS are enabled and _received_
(for some bands, they cannot be enabled):
* `CQI` (`15`): the channel quality indicator is a number between 0 and 15. It
indicates the achievable spectral efficiency of the UE. 15 means highest, 0
is lowest. This corresponds to a 4-bit table in 38.214 with actual spectral
efficiencies in bits/s/Hz
* `RI`: Rank indicator 1-4. If 1 it means limited to 1 layer transmission on DL. 2 two layers, etc.
* `PMI`: precoding matrix indicator. It's a measure of the spatial-direction of
the gNBs transmit array as seen by the UE. It indicates the precoding that
the gNB applies. It should be more or less stationary unless the UE is moving
around quickly. It can jump when objects move around the UE
* `UL-RI`, `TPMI`: same as DL.
The fourth and fifth line show HARQ-related information:
* `dlsch_rounds A/B/C/D` (`32917/5113/1504/560`). This is the number of
transmissions by the gNB for each round of the HARQ protocol. `A` is the first
round, B is the second, etc. If `A` is high and `B` is low, `C` is lower and `D` is
around 0, then things work well. If `B` is around the same as `A`, then the first
round is almost always in error. This is not usually good unless the UE is
far from the gNB.
* `dlsch_errors` (`211`) is the number of errors, meaning that after 4
transmissions the MAC transport block was not received by the UE. A high
number is not good/it should be a very low number, again unless there are
severe radio conditions.
* `pucch0_DTX`: this is the number of PUCCH format 0 (or 1 later) missed
detections (unreceived ack/nak). This means that either the UL is very bad
and ACK/NAK cannot be conveyed properly or DL DCIs are missed by the UE. This
is also something that should be very small compared to `A` in
`dlsch_rounds`.
* `DLSCH BLER` is the current measured block-error rate of the DLSCH. Basically
a moving average of `B`/`A` in `dlsch_rounds`. This is something that should always
be close to the target bler that the MAC scheduler uses. typically 10-30% if
we want a high throughput scheduling policy.
* `MCS (Q) M`: M (0-28) is the current MCS used by the MAC scheduler and Q is
the mcs table: 0=64QAM, 1=256QAM, 2=low SE table for URLLC
* `ulsch_rounds`/`ulsch_errors`: same as DLSCH but for UL.
* `ulsch_DTX` (`285`): number of PUSCH missed detection (i.e. signal energy below
threshold in configuration file, `L1s.pusch_dtx_threshold`, which is 10 times the
actual unnormalized digital signal level). This is an indication of either
very poor radio conditions (UE cannot reach the gNB), power control problems,
or missed DCI 0\_x DCIs. It should be low compared to `A` in `ulsch_rounds`
when things are working properly.
* ULSCH `BLER/MCS`: same as DLSCH but for UL.
* ULSCH `Qm X deltaMCS Y dB`: modulation order: 2=QPSK, 4=16QAM, 6=64QAM,
8=256QAM and the dB offset for deltaMCS component in PUSCH power control law.
If deltaMCS is disabled (this is the default) then it indicates 0. When
deltaMCS is enabled it indicates the current power offset applied by the UE
on the UL corresponding to the scheduled MCS
* ULSCH `NPRB`: current number of PRBs scheduled by the gNB. This will
fluctuate a lot but when doing high throughput with iperf, it indicates the
number of PRBs that the UE is actually able to use with its power budget and
should be high.
* ULSCH `SNR`: the current SNR that the gNB receives the UE signal with. It
should be close to the target in the gNB configuration file,
`pusch_TargetSNRx10`, which should be around 10 times the value shown in the
log
In the last lines:
* `MAC` shows the amount of MAC PDU bytes scheduled in transmit (`TX`,
`1530943191`) and receive (`RX`, `194148`) directions
* `LCID X` shows the amount of MAC SDU/RLC PDU data for Logical Channel ID with
ID `X` in transmit and receive directions. LCIDs 1 and 2 are mapped to SRBs 1
and 2. LCIDs 4 and onward are mapped to DRBs 1 onward. If you have an LCID 4,
it means you have a PDU session.
# Configuration of the MAC
## Split-related options
See [nFAPI documentation](../L2NFAPI.md) or [Aerial
tutorial](../Aerial_FAPI_Split_Tutorial.md).
## MAC scheduler-related configuration options
The following options have an influence on the MAC scheduler operation (for all
UEs, if applicable), either on the MAC scheduler operation directly or how a UE
is configured.
In the `MACRLCs` section of the gNB/DU configuration file:
* `ulsch_max_frame_inactivity` (default 10): number of frames before a UE is
scheduled automatically in UL. Lowering can improve latency at the expense of
more resources in idle (which limits the number of UEs, and increases UE
power consumption)
* `pusch_TargetSNRx10` (default 200): target SNR in PUSCH times 10 (200
corresponds to 20dB target SNR)
* `pucch_TargetSNRx10` (default 150): target SNR in PUCCH times 10 (as above)
* `ul_prbblack_SNR_threshold` (default 10): target SNR for disabling RB
scheduling in uplink on affected RBs.
* `pucch_FailureThres` (default 10): number of DTX on PUCCH after which
scheduler declares UE in radio link failure and moves it to "out-of-sync
state". **Currently not used**.
* `pusch_FailureThres` (default 10): number of DTX on PUSCH after which
scheduler declares UE in radio link failure and moves it to "out-of-sync
state"
* `dl_bler_target_upper` (default 0.15): upper threshold of BLER (first round
retransmission over initial transmission) to decrease MCS by 1
* `dl_bler_target_lower` (default 0.05): lower threshold of BLER (first round
retransmission over initial transmission) to increase MCS by 1
* `dl_max_mcs` (default 28): maximum MCS to use
* `ul_bler_target_upper` (default 0.15): as `dl_bler_target_upper`
* `ul_bler_target_lower` (default 0.05): as `dl_bler_target_lower`
* `ul_max_mcs` (default 28): as `dl_max_mcs`
* `dl_harq_round_max` (default 4): maximum number of HARQ rounds, i.e.,
retransmissions to perform, in DL
* `ul_harq_round_max` (default 4): as `dl_harq_round_max`
* `min_grant_prb` (default 5): number of PRBs to schedule for UE after activity
(see `ulsch_max_frame_inactivity`) or after scheduling request (SR)
* `min_grant_mcs` (default 9): MCS to use for UE after activity (see
`ulsch_max_frame_inactivity`) or after scheduling request (SR)
* `identity_precoding_matrix` (default 0=false): flag to enable to use only
the identity precoding matrix in DL precoding
* `set_analog_beamforming` (default 0=false): flag to enable analog
beamforming
* `beam_duration`: duration/number of consecutive slots for a given set of
beams, depending on hardware switching performance
* `beams_per_period`: set of beams that can be simultaneously allocated in a
period (`beam_duration`)
In the `gNBs` section of the gNB/DU configuration file: some of the parameters
affect RRC configuration (CellGroupConfig) of a UE, and are therefore listed
here, *also they pertain to the DU*, i.e., the scheduler.
* `pdsch_AntennaPorts_XP` (default 1): number of XP logical antenna
ports in PDSCH (see also [`RUNMODEM.md`](../RUNMODEM.md))
* `pdsch_AntennaPorts_N1` (default 1): number of horizontal logical antenna
ports in PDSCH (see also [`RUNMODEM.md`](../RUNMODEM.md))
* `pdsch_AntennaPorts_N2` (default 1): number of vertical logical antenna
ports in PDSCH (see also [`RUNMODEM.md`](../RUNMODEM.md))
* `pusch_AntennaPorts` (default 1): number of antenna ports in PUSCH
* `maxMIMO_layers` (default -1=unlimited): maximum number of MIMO layers to use
in downlink
* `sib1_tda` (default 1): time domain allocation (TDA) indices to use for SIB1
(38.214 section 5.1.2.1.1)
* `do_CSIRS` (default 0): flag whether to use channel-state information
reference signal (CSI-RS)
* `do_SRS` (default 0): flag whether to use sounding reference signal (SRS)
* `min_rxtxtime` (default 2): minimum feedback time for UE to respond to
transmissions (k1 and k2 in 3GPP spec)
* `ul_prbblacklist`: PRBs that should not be used for UL scheduling. Cf with
parameter `ul_prbblack_SNR_threshold` that does a similar thing based on
measurements
* `force_256qam_off` (default 0=false): flag whether to disable 256QAM (limit to
64QAM) in DL
* `force_UL256qam_off` (default 0=false): flag whether to disable 256QAM (limit to
64QAM) in DL
* `disable_harq` (default 0=false): flag whether to disable HARQ completely
(useful for NTN operation, see <../RUNMODEM.md>). **this is a Rel-17 feature
and you need to have a capable UE for this**
* `use_deltaMCS` (default 0=false): flag whether to enable deltaMCS (**this is not fully tested
and might not work** and you might need to adjust other parameters such as
target SNRs)
* `num_dlharq` (default 16): number of HARQ processes to use in DL (other valid
options are 2, 4, 6, 8, 10, 12, 32; **32 is a Rel-17 features**)
* `num_ulharq` (default 16): as `num_dlharq` for UL (other valid option is 32;
**32 is i Rel-17 feature**)
...@@ -69,6 +69,7 @@ Legacy unmaintained files: ...@@ -69,6 +69,7 @@ Legacy unmaintained files:
- [Information on how NR nFAPI works](./NR_NFAPI_archi.md) - [Information on how NR nFAPI works](./NR_NFAPI_archi.md)
- [Flow graph of the L1 in gNB](SW-archi-graph.md) - [Flow graph of the L1 in gNB](SW-archi-graph.md)
- [L1 threads in NR-UE](./nr-ue-design.md) - [L1 threads in NR-UE](./nr-ue-design.md)
- [Information on gNB MAC](./MAC/mac-usage.md)
Legacy unmaintained files: Legacy unmaintained files:
- [`5Gnas.md`](./5Gnas.md) - [`5Gnas.md`](./5Gnas.md)
......
...@@ -110,7 +110,8 @@ people, in order to simplify the history, and allow the usage of tools such as ...@@ -110,7 +110,8 @@ people, in order to simplify the history, and allow the usage of tools such as
`git bisect` to search for bugs. `git bisect` to search for bugs.
After some time, we make a stable release. For this, we simply merge develop After some time, we make a stable release. For this, we simply merge develop
into master, and give a semantic versioning number, e.g., `v1.1`. into master, and give a semantic versioning number, e.g., `v1.1`. We target to
make releases bi-yearly.
## How to manage your own branch ## How to manage your own branch
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80; ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -445,10 +445,12 @@ static void RU_write(nr_rxtx_thread_data_t *rxtxD, bool sl_tx_action) ...@@ -445,10 +445,12 @@ static void RU_write(nr_rxtx_thread_data_t *rxtxD, bool sl_tx_action)
radio_tx_burst_flag_t flags = TX_BURST_INVALID; radio_tx_burst_flag_t flags = TX_BURST_INVALID;
if (UE->received_config_request && openair0_cfg[0].duplex_mode == duplex_mode_TDD && !get_softmodem_params()->continuous_tx) { if (UE->received_config_request) {
if (openair0_cfg[0].duplex_mode == duplex_mode_FDD || get_softmodem_params()->continuous_tx) {
flags = TX_BURST_MIDDLE;
// In case of Sidelink, USRP write needed only in case transmission // In case of Sidelink, USRP write needed only in case transmission
// needs to be done in this slot and not based on tdd ULDL configuration. // needs to be done in this slot and not based on tdd ULDL configuration.
if (UE->sl_mode == 2) { } else if (UE->sl_mode == 2) {
if (sl_tx_action) if (sl_tx_action)
flags = TX_BURST_START_AND_END; flags = TX_BURST_START_AND_END;
} else { } else {
...@@ -465,8 +467,6 @@ static void RU_write(nr_rxtx_thread_data_t *rxtxD, bool sl_tx_action) ...@@ -465,8 +467,6 @@ static void RU_write(nr_rxtx_thread_data_t *rxtxD, bool sl_tx_action)
flags = TX_BURST_MIDDLE; flags = TX_BURST_MIDDLE;
} }
} }
} else {
flags = TX_BURST_MIDDLE;
} }
int tmp = openair0_write_reorder(&UE->rfdevice, proc->timestamp_tx, txp, rxtxD->writeBlockSize, fp->nb_antennas_tx, flags); int tmp = openair0_write_reorder(&UE->rfdevice, proc->timestamp_tx, txp, rxtxD->writeBlockSize, fp->nb_antennas_tx, flags);
......
...@@ -92,7 +92,6 @@ ...@@ -92,7 +92,6 @@
#define GNB_CONFIG_STRING_PUCCHRES "pucch_ResourceCommon" #define GNB_CONFIG_STRING_PUCCHRES "pucch_ResourceCommon"
#define GNB_CONFIG_STRING_SSBPOSITIONSINBURSTPR "ssb_PositionsInBurst_PR"
#define GNB_CONFIG_STRING_SSBPOSITIONSINBURST "ssb_PositionsInBurst_Bitmap" #define GNB_CONFIG_STRING_SSBPOSITIONSINBURST "ssb_PositionsInBurst_Bitmap"
#define GNB_CONFIG_STRING_SSBPERIODICITYSERVINGCELL "ssb_periodicityServingCell" #define GNB_CONFIG_STRING_SSBPERIODICITYSERVINGCELL "ssb_periodicityServingCell"
#define GNB_CONFIG_STRING_DMRSTYPEAPOSITION "dmrs_TypeA_Position" #define GNB_CONFIG_STRING_DMRSTYPEAPOSITION "dmrs_TypeA_Position"
...@@ -219,7 +218,6 @@ ...@@ -219,7 +218,6 @@
{GNB_CONFIG_STRING_HOPPINGID, NULL,0,.i64ptr=scc->uplinkConfigCommon->initialUplinkBWP->pucch_ConfigCommon->choice.setup->hoppingId,.defint64val=40,TYPE_INT64,0},\ {GNB_CONFIG_STRING_HOPPINGID, NULL,0,.i64ptr=scc->uplinkConfigCommon->initialUplinkBWP->pucch_ConfigCommon->choice.setup->hoppingId,.defint64val=40,TYPE_INT64,0},\
{GNB_CONFIG_STRING_P0NOMINAL, NULL,0,.i64ptr=scc->uplinkConfigCommon->initialUplinkBWP->pucch_ConfigCommon->choice.setup->p0_nominal,.defint64val=1,TYPE_INT64,0},\ {GNB_CONFIG_STRING_P0NOMINAL, NULL,0,.i64ptr=scc->uplinkConfigCommon->initialUplinkBWP->pucch_ConfigCommon->choice.setup->p0_nominal,.defint64val=1,TYPE_INT64,0},\
{GNB_CONFIG_STRING_PUCCHRES, NULL,0,.i64ptr=scc->uplinkConfigCommon->initialUplinkBWP->pucch_ConfigCommon->choice.setup->pucch_ResourceCommon,.defint64val=0,TYPE_INT64,0},\ {GNB_CONFIG_STRING_PUCCHRES, NULL,0,.i64ptr=scc->uplinkConfigCommon->initialUplinkBWP->pucch_ConfigCommon->choice.setup->pucch_ResourceCommon,.defint64val=0,TYPE_INT64,0},\
{GNB_CONFIG_STRING_SSBPOSITIONSINBURSTPR,NULL,0,.uptr=&scc->ssb_PositionsInBurst->present,.defuintval=NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap,TYPE_UINT,0/*140*/}, \
{GNB_CONFIG_STRING_SSBPOSITIONSINBURST,NULL,0,.u64ptr=&ssb_bitmap,.defintval=0xff,TYPE_UINT64,0}, \ {GNB_CONFIG_STRING_SSBPOSITIONSINBURST,NULL,0,.u64ptr=&ssb_bitmap,.defintval=0xff,TYPE_UINT64,0}, \
{GNB_CONFIG_STRING_REFERENCESUBCARRIERSPACING,NULL,0,.i64ptr=&scc->tdd_UL_DL_ConfigurationCommon->referenceSubcarrierSpacing,.defint64val=NR_SubcarrierSpacing_kHz30,TYPE_INT64,0},\ {GNB_CONFIG_STRING_REFERENCESUBCARRIERSPACING,NULL,0,.i64ptr=&scc->tdd_UL_DL_ConfigurationCommon->referenceSubcarrierSpacing,.defint64val=NR_SubcarrierSpacing_kHz30,TYPE_INT64,0},\
{GNB_CONFIG_STRING_DLULTRANSMISSIONPERIODICITY,NULL,0,.i64ptr=&scc->tdd_UL_DL_ConfigurationCommon->pattern1.dl_UL_TransmissionPeriodicity,.defint64val=NR_TDD_UL_DL_Pattern__dl_UL_TransmissionPeriodicity_ms0p5,TYPE_INT64,0},\ {GNB_CONFIG_STRING_DLULTRANSMISSIONPERIODICITY,NULL,0,.i64ptr=&scc->tdd_UL_DL_ConfigurationCommon->pattern1.dl_UL_TransmissionPeriodicity,.defint64val=NR_TDD_UL_DL_Pattern__dl_UL_TransmissionPeriodicity_ms0p5,TYPE_INT64,0},\
......
...@@ -97,9 +97,6 @@ ...@@ -97,9 +97,6 @@
extern uint16_t sf_ahead; extern uint16_t sf_ahead;
extern int config_check_band_frequencies(int ind, int16_t band, uint64_t downlink_frequency,
int32_t uplink_frequency_offset, uint32_t frame_type);
void prepare_scc(NR_ServingCellConfigCommon_t *scc) { void prepare_scc(NR_ServingCellConfigCommon_t *scc) {
NR_FreqBandIndicatorNR_t *dl_frequencyBandList,*ul_frequencyBandList; NR_FreqBandIndicatorNR_t *dl_frequencyBandList,*ul_frequencyBandList;
...@@ -221,8 +218,40 @@ void prepare_scc(NR_ServingCellConfigCommon_t *scc) { ...@@ -221,8 +218,40 @@ void prepare_scc(NR_ServingCellConfigCommon_t *scc) {
scc->ext2->ntn_Config_r17->cellSpecificKoffset_r17 = CALLOC(1, sizeof(*scc->ext2->ntn_Config_r17->cellSpecificKoffset_r17)); scc->ext2->ntn_Config_r17->cellSpecificKoffset_r17 = CALLOC(1, sizeof(*scc->ext2->ntn_Config_r17->cellSpecificKoffset_r17));
} }
void fill_scc_sim(NR_ServingCellConfigCommon_t *scc,uint64_t *ssb_bitmap,int N_RB_DL,int N_RB_UL,int mu_dl,int mu_ul) { // Section 4.1 in 38.213
NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR get_ssb_len(NR_ServingCellConfigCommon_t *scc)
{
NR_FrequencyInfoDL_t *frequencyInfoDL = scc->downlinkConfigCommon->frequencyInfoDL;
int scs = *scc->ssbSubcarrierSpacing;
int nr_band = *frequencyInfoDL->frequencyBandList.list.array[0];
long freq = from_nrarfcn(nr_band, scs, frequencyInfoDL->absoluteFrequencyPointA);
frame_type_t frame_type = get_frame_type(nr_band, scs);
if (scs == 0) {
if (freq < 3000000000)
return NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_shortBitmap;
else
return NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap;
}
if (scs == 1) {
if (nr_band == 5 || nr_band == 24 || nr_band == 66 || frame_type == FDD) { // case B or paired spectrum
if (freq < 3000000000)
return NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_shortBitmap;
else
return NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap;
}
else { // case C and unpaired spectrum
if (freq < 1880000000)
return NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_shortBitmap;
else
return NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap;
}
}
// FR2
return NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_longBitmap;
}
void fill_scc_sim(NR_ServingCellConfigCommon_t *scc, uint64_t *ssb_bitmap, int N_RB_DL, int N_RB_UL, int mu_dl, int mu_ul)
{
*scc->physCellId=0; \ *scc->physCellId=0; \
// *scc->n_TimingAdvanceOffset=NR_ServingCellConfigCommon__n_TimingAdvanceOffset_n0; // *scc->n_TimingAdvanceOffset=NR_ServingCellConfigCommon__n_TimingAdvanceOffset_n0;
*scc->ssb_periodicityServingCell=NR_ServingCellConfigCommon__ssb_periodicityServingCell_ms20; *scc->ssb_periodicityServingCell=NR_ServingCellConfigCommon__ssb_periodicityServingCell_ms20;
...@@ -317,44 +346,40 @@ void fill_scc_sim(NR_ServingCellConfigCommon_t *scc,uint64_t *ssb_bitmap,int N_R ...@@ -317,44 +346,40 @@ void fill_scc_sim(NR_ServingCellConfigCommon_t *scc,uint64_t *ssb_bitmap,int N_R
} }
void fix_scc(NR_ServingCellConfigCommon_t *scc,uint64_t ssbmap) { void fix_scc(NR_ServingCellConfigCommon_t *scc, uint64_t ssbmap)
{
int ssbmaplen = (int)scc->ssb_PositionsInBurst->present; scc->ssb_PositionsInBurst->present = get_ssb_len(scc);
uint8_t curr_bit; uint8_t curr_bit;
AssertFatal(ssbmaplen==NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_shortBitmap ||
ssbmaplen==NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap ||
ssbmaplen==NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_longBitmap, "illegal ssbmaplen %d\n",ssbmaplen);
// changing endianicity of ssbmap and filling the ssb_PositionsInBurst buffers // changing endianicity of ssbmap and filling the ssb_PositionsInBurst buffers
if(ssbmaplen==NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_shortBitmap){ if(scc->ssb_PositionsInBurst->present == NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_shortBitmap) {
scc->ssb_PositionsInBurst->choice.shortBitmap.size = 1; scc->ssb_PositionsInBurst->choice.shortBitmap.size = 1;
scc->ssb_PositionsInBurst->choice.shortBitmap.bits_unused = 4; scc->ssb_PositionsInBurst->choice.shortBitmap.bits_unused = 4;
scc->ssb_PositionsInBurst->choice.shortBitmap.buf = CALLOC(1,1); scc->ssb_PositionsInBurst->choice.shortBitmap.buf = CALLOC(1, 1);
scc->ssb_PositionsInBurst->choice.shortBitmap.buf[0] = 0; scc->ssb_PositionsInBurst->choice.shortBitmap.buf[0] = 0;
for (int i=0; i<8; i++) { for (int i = 0; i < 8; i++) {
if (i<scc->ssb_PositionsInBurst->choice.shortBitmap.bits_unused) if (i<scc->ssb_PositionsInBurst->choice.shortBitmap.bits_unused)
curr_bit = 0; curr_bit = 0;
else else
curr_bit = (ssbmap>>(7-i))&0x01; curr_bit = (ssbmap >> (7 - i)) & 0x01;
scc->ssb_PositionsInBurst->choice.shortBitmap.buf[0] |= curr_bit<<i; scc->ssb_PositionsInBurst->choice.shortBitmap.buf[0] |= curr_bit << i;
} }
}else if(ssbmaplen==NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap){ } else if(scc->ssb_PositionsInBurst->present == NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap) {
scc->ssb_PositionsInBurst->choice.mediumBitmap.size = 1; scc->ssb_PositionsInBurst->choice.mediumBitmap.size = 1;
scc->ssb_PositionsInBurst->choice.mediumBitmap.bits_unused = 0; scc->ssb_PositionsInBurst->choice.mediumBitmap.bits_unused = 0;
scc->ssb_PositionsInBurst->choice.mediumBitmap.buf = CALLOC(1,1); scc->ssb_PositionsInBurst->choice.mediumBitmap.buf = CALLOC(1, 1);
scc->ssb_PositionsInBurst->choice.mediumBitmap.buf[0] = 0; scc->ssb_PositionsInBurst->choice.mediumBitmap.buf[0] = 0;
for (int i=0; i<8; i++) for (int i = 0; i < 8; i++)
scc->ssb_PositionsInBurst->choice.mediumBitmap.buf[0] |= (((ssbmap>>(7-i))&0x01)<<i); scc->ssb_PositionsInBurst->choice.mediumBitmap.buf[0] |= (((ssbmap >> (7 - i)) & 0x01) << i);
}else { } else {
scc->ssb_PositionsInBurst->choice.longBitmap.size = 8; scc->ssb_PositionsInBurst->choice.longBitmap.size = 8;
scc->ssb_PositionsInBurst->choice.longBitmap.bits_unused = 0; scc->ssb_PositionsInBurst->choice.longBitmap.bits_unused = 0;
scc->ssb_PositionsInBurst->choice.longBitmap.buf = CALLOC(1,8); scc->ssb_PositionsInBurst->choice.longBitmap.buf = CALLOC(1, 8);
for (int j=0; j<8; j++) { for (int j = 0; j < 8; j++) {
scc->ssb_PositionsInBurst->choice.longBitmap.buf[j] = 0; scc->ssb_PositionsInBurst->choice.longBitmap.buf[j] = 0;
curr_bit = (ssbmap>>(j<<3))&(0xff); curr_bit = (ssbmap >> (j << 3)) & 0xff;
for (int i=0; i<8; i++) for (int i = 0; i < 8; i++)
scc->ssb_PositionsInBurst->choice.longBitmap.buf[j] |= (((curr_bit>>(7-i))&0x01)<<i); scc->ssb_PositionsInBurst->choice.longBitmap.buf[j] |= (((curr_bit >> (7 - i)) & 0x01) << i);
} }
} }
......
...@@ -341,7 +341,7 @@ static void config_common_ue(NR_UE_MAC_INST_t *mac, ...@@ -341,7 +341,7 @@ static void config_common_ue(NR_UE_MAC_INST_t *mac,
switch (scc->ssb_PositionsInBurst->present) { switch (scc->ssb_PositionsInBurst->present) {
case 1 : case 1 :
cfg->ssb_table.ssb_mask_list[0].ssb_mask = scc->ssb_PositionsInBurst->choice.shortBitmap.buf[0] << 24; cfg->ssb_table.ssb_mask_list[0].ssb_mask = ((uint32_t) scc->ssb_PositionsInBurst->choice.shortBitmap.buf[0]) << 24;
cfg->ssb_table.ssb_mask_list[1].ssb_mask = 0; cfg->ssb_table.ssb_mask_list[1].ssb_mask = 0;
break; break;
case 2 : case 2 :
......
...@@ -501,7 +501,7 @@ static void config_common(gNB_MAC_INST *nrmac, nr_pdsch_AntennaPorts_t pdsch_Ant ...@@ -501,7 +501,7 @@ static void config_common(gNB_MAC_INST *nrmac, nr_pdsch_AntennaPorts_t pdsch_Ant
switch (scc->ssb_PositionsInBurst->present) { switch (scc->ssb_PositionsInBurst->present) {
case 1: case 1:
cfg->ssb_table.ssb_mask_list[0].ssb_mask.value = scc->ssb_PositionsInBurst->choice.shortBitmap.buf[0] << 24; cfg->ssb_table.ssb_mask_list[0].ssb_mask.value = ((uint32_t)scc->ssb_PositionsInBurst->choice.shortBitmap.buf[0]) << 24;
cfg->ssb_table.ssb_mask_list[1].ssb_mask.value = 0; cfg->ssb_table.ssb_mask_list[1].ssb_mask.value = 0;
break; break;
case 2: case 2:
......
...@@ -156,21 +156,16 @@ size_t dump_mac_stats(gNB_MAC_INST *gNB, char *output, size_t strlen, bool reset ...@@ -156,21 +156,16 @@ size_t dump_mac_stats(gNB_MAC_INST *gNB, char *output, size_t strlen, bool reset
for (int i = 1; i < gNB->ul_bler.harq_round_max; i++) for (int i = 1; i < gNB->ul_bler.harq_round_max; i++)
output += snprintf(output, end - output, "/%"PRIu64, stats->ul.rounds[i]); output += snprintf(output, end - output, "/%"PRIu64, stats->ul.rounds[i]);
char deltaMCS_str[100]="\0";
if (UE->current_UL_BWP.pusch_Config && UE->current_UL_BWP.pusch_Config->pusch_PowerControl->deltaMCS) {
sprintf(deltaMCS_str,"deltaMCS %d\n",UE->mac_stats.deltaMCS);
}
output += snprintf(output, output += snprintf(output,
end - output, end - output,
", ulsch_errors %"PRIu64", ulsch_DTX %d, BLER %.5f MCS (%d) %d (Qm %d %s dB) NPRB %d SNR %d.%d dB\n", ", ulsch_errors %"PRIu64", ulsch_DTX %d, BLER %.5f MCS (%d) %d (Qm %d deltaMCS %d dB) NPRB %d SNR %d.%d dB\n",
stats->ul.errors, stats->ul.errors,
stats->ulsch_DTX, stats->ulsch_DTX,
sched_ctrl->ul_bler_stats.bler, sched_ctrl->ul_bler_stats.bler,
UE->current_UL_BWP.mcs_table, UE->current_UL_BWP.mcs_table,
sched_ctrl->ul_bler_stats.mcs, sched_ctrl->ul_bler_stats.mcs,
nr_get_Qm_ul(sched_ctrl->ul_bler_stats.mcs,UE->current_UL_BWP.mcs_table), nr_get_Qm_ul(sched_ctrl->ul_bler_stats.mcs,UE->current_UL_BWP.mcs_table),
deltaMCS_str, UE->mac_stats.deltaMCS,
UE->mac_stats.NPRB, UE->mac_stats.NPRB,
sched_ctrl->pusch_snrx10 / 10, sched_ctrl->pusch_snrx10 / 10,
sched_ctrl->pusch_snrx10 % 10); sched_ctrl->pusch_snrx10 % 10);
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include "LOG/log.h" #include "LOG/log.h"
#include "common/utils/time_stat.h" #include "common/utils/time_stat.h"
#include "common/utils/assertions.h"
static void nr_rlc_entity_get_stats( static void nr_rlc_entity_get_stats(
nr_rlc_entity_t *entity, nr_rlc_entity_t *entity,
......
...@@ -207,6 +207,15 @@ void max_retx_reached_ue(void *max_retx_reached_data, ...@@ -207,6 +207,15 @@ void max_retx_reached_ue(void *max_retx_reached_data,
exit(1); exit(1);
} }
#ifdef _STANDALONE_TESTING_
void exit_function(const char *file, const char *function, const int line, const char *s, const int assert)
{
exit(1);
}
#endif
int test_main(void) int test_main(void)
{ {
nr_rlc_entity_t *gnb = NULL; nr_rlc_entity_t *gnb = NULL;
......
...@@ -1092,9 +1092,10 @@ static int8_t handle_dlsch(NR_UE_MAC_INST_t *mac, nr_downlink_indication_t *dl_i ...@@ -1092,9 +1092,10 @@ static int8_t handle_dlsch(NR_UE_MAC_INST_t *mac, nr_downlink_indication_t *dl_i
if (get_softmodem_params()->emulate_l1) if (get_softmodem_params()->emulate_l1)
dl_info->rx_ind->rx_indication_body[pdu_id].pdsch_pdu.harq_pid = g_harq_pid; dl_info->rx_ind->rx_indication_body[pdu_id].pdsch_pdu.harq_pid = g_harq_pid;
update_harq_status(mac, if (mac->ra.ra_state != nrRA_WAIT_RAR) // no HARQ for MSG2
dl_info->rx_ind->rx_indication_body[pdu_id].pdsch_pdu.harq_pid, update_harq_status(mac,
dl_info->rx_ind->rx_indication_body[pdu_id].pdsch_pdu.ack_nack); dl_info->rx_ind->rx_indication_body[pdu_id].pdsch_pdu.harq_pid,
dl_info->rx_ind->rx_indication_body[pdu_id].pdsch_pdu.ack_nack);
if(dl_info->rx_ind->rx_indication_body[pdu_id].pdsch_pdu.ack_nack) if(dl_info->rx_ind->rx_indication_body[pdu_id].pdsch_pdu.ack_nack)
nr_ue_send_sdu(mac, dl_info, pdu_id); nr_ue_send_sdu(mac, dl_info, pdu_id);
......
...@@ -1518,6 +1518,11 @@ static int handle_rrcSetupComplete(const protocol_ctxt_t *const ctxt_pP, ...@@ -1518,6 +1518,11 @@ static int handle_rrcSetupComplete(const protocol_ctxt_t *const ctxt_pP,
uint8_t xid = setup_complete->rrc_TransactionIdentifier; uint8_t xid = setup_complete->rrc_TransactionIdentifier;
UE->xids[xid] = RRC_ACTION_NONE; UE->xids[xid] = RRC_ACTION_NONE;
if (setup_complete->criticalExtensions.present != NR_RRCSetupComplete__criticalExtensions_PR_rrcSetupComplete) {
LOG_E(NR_RRC, "malformed RRCSetupComplete received from UE %lx\n", ctxt_pP->rntiMaybeUEid);
return -1;
}
NR_RRCSetupComplete_IEs_t *setup_complete_ies = setup_complete->criticalExtensions.choice.rrcSetupComplete; NR_RRCSetupComplete_IEs_t *setup_complete_ies = setup_complete->criticalExtensions.choice.rrcSetupComplete;
if (setup_complete_ies->ng_5G_S_TMSI_Value != NULL) { if (setup_complete_ies->ng_5G_S_TMSI_Value != NULL) {
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
*/ */
#include "openair2/RRC/NR_UE/rrc_proto.h" #include "openair2/RRC/NR_UE/rrc_proto.h"
#include "executables/softmodem-common.h"
void init_SI_timers(NR_UE_RRC_SI_INFO *SInfo) void init_SI_timers(NR_UE_RRC_SI_INFO *SInfo)
{ {
...@@ -573,7 +574,8 @@ void handle_rlf_sync(NR_UE_Timers_Constants_t *tac, ...@@ -573,7 +574,8 @@ void handle_rlf_sync(NR_UE_Timers_Constants_t *tac,
else { else {
// OUT_OF_SYNC // OUT_OF_SYNC
tac->N311_cnt = 0; tac->N311_cnt = 0;
if(nr_timer_is_active(&tac->T300) || if(get_softmodem_params()->phy_test ||
nr_timer_is_active(&tac->T300) ||
nr_timer_is_active(&tac->T301) || nr_timer_is_active(&tac->T301) ||
nr_timer_is_active(&tac->T304) || nr_timer_is_active(&tac->T304) ||
nr_timer_is_active(&tac->T310) || nr_timer_is_active(&tac->T310) ||
......
...@@ -120,9 +120,7 @@ gNBs = ...@@ -120,9 +120,7 @@ gNBs =
hoppingId = 40; hoppingId = 40;
#p0_nominal = -90; #p0_nominal = -90;
p0_nominal = -118; p0_nominal = -118;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80; ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 3;
ssb_PositionsInBurst_Bitmap = 0x0001000100010001L; ssb_PositionsInBurst_Bitmap = 0x0001000100010001L;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 3;
ssb_PositionsInBurst_Bitmap = 0x0001000100010001L; ssb_PositionsInBurst_Bitmap = 0x0001000100010001L;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 3;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 3;
ssb_PositionsInBurst_Bitmap = 0x0001000100010001L; ssb_PositionsInBurst_Bitmap = 0x0001000100010001L;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -116,9 +116,7 @@ gNBs = ...@@ -116,9 +116,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -117,9 +117,7 @@ gNBs = ...@@ -117,9 +117,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -117,9 +117,7 @@ gNBs = ...@@ -117,9 +117,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 0x1; ssb_PositionsInBurst_Bitmap = 0x1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 0x1; ssb_PositionsInBurst_Bitmap = 0x1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 15; ssb_PositionsInBurst_Bitmap = 15;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -113,9 +113,7 @@ gNBs = ...@@ -113,9 +113,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -113,9 +113,7 @@ gNBs = ...@@ -113,9 +113,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 0x1; ssb_PositionsInBurst_Bitmap = 0x1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -113,9 +113,7 @@ gNBs = ...@@ -113,9 +113,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 255; ssb_PositionsInBurst_Bitmap = 255;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 255; ssb_PositionsInBurst_Bitmap = 255;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80; ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80; ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80; ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -117,9 +117,7 @@ gNBs = ...@@ -117,9 +117,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80; ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -116,9 +116,7 @@ gNBs = ...@@ -116,9 +116,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -162,9 +162,7 @@ gNBs = ...@@ -162,9 +162,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -126,9 +126,7 @@ gNBs = ...@@ -126,9 +126,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 0; hoppingId = 0;
p0_nominal = -96; p0_nominal = -96;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 0x10001L; ssb_PositionsInBurst_Bitmap = 0x10001L;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -145,9 +145,7 @@ gNBs = ...@@ -145,9 +145,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -127,9 +127,7 @@ gNBs = ...@@ -127,9 +127,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -146,9 +146,7 @@ gNBs = ...@@ -146,9 +146,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -150,9 +150,7 @@ gNBs = ...@@ -150,9 +150,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -117,9 +117,6 @@ gNBs = ...@@ -117,9 +117,6 @@ gNBs =
p0_nominal = -70; p0_nominal = -70;
n_TimingAdvanceOffset = 0; n_TimingAdvanceOffset = 0;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -118,9 +118,7 @@ gNBs = ...@@ -118,9 +118,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -70; p0_nominal = -70;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 3;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -111,9 +111,7 @@ gNBs = ...@@ -111,9 +111,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -117,9 +117,7 @@ gNBs = ...@@ -117,9 +117,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -112,9 +112,7 @@ gNBs = ...@@ -112,9 +112,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -128,9 +128,7 @@ gNBs = ...@@ -128,9 +128,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -130,9 +130,7 @@ gNBs = ...@@ -130,9 +130,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -130,9 +130,7 @@ gNBs = ...@@ -130,9 +130,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -126,9 +126,7 @@ gNBs = ...@@ -126,9 +126,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 0; hoppingId = 0;
p0_nominal = -96; p0_nominal = -96;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 0x1; ssb_PositionsInBurst_Bitmap = 0x1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -124,10 +124,6 @@ gNBs = ( ...@@ -124,10 +124,6 @@ gNBs = (
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1; subcarrierSpacing = 1;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1 # 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
......
...@@ -124,10 +124,6 @@ gNBs = ( ...@@ -124,10 +124,6 @@ gNBs = (
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1; subcarrierSpacing = 1;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1 # 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
......
...@@ -126,9 +126,7 @@ gNBs = ...@@ -126,9 +126,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 0; hoppingId = 0;
p0_nominal = -96; p0_nominal = -96;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 0x1; ssb_PositionsInBurst_Bitmap = 0x1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -126,9 +126,7 @@ gNBs = ...@@ -126,9 +126,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 0; hoppingId = 0;
p0_nominal = -96; p0_nominal = -96;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 0x1; ssb_PositionsInBurst_Bitmap = 0x1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -125,9 +125,7 @@ gNBs = ...@@ -125,9 +125,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 0; hoppingId = 0;
p0_nominal = -96; p0_nominal = -96;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 0x1; ssb_PositionsInBurst_Bitmap = 0x1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -70; p0_nominal = -70;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -113,9 +113,7 @@ gNBs = ...@@ -113,9 +113,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -112,9 +112,7 @@ gNBs = ...@@ -112,9 +112,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -112,9 +112,7 @@ gNBs = ...@@ -112,9 +112,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -70; p0_nominal = -70;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -114,9 +114,7 @@ gNBs = ...@@ -114,9 +114,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -70; p0_nominal = -70;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -112,9 +112,7 @@ gNBs = ...@@ -112,9 +112,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 3;
ssb_PositionsInBurst_Bitmap = 0x0001000100010001L; ssb_PositionsInBurst_Bitmap = 0x0001000100010001L;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -150,9 +150,7 @@ gNBs = ...@@ -150,9 +150,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -115,9 +115,7 @@ gNBs = ...@@ -115,9 +115,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 3;
ssb_PositionsInBurst_Bitmap = 0x0002000200020002L; ssb_PositionsInBurst_Bitmap = 0x0002000200020002L;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -149,9 +149,7 @@ gNBs = ...@@ -149,9 +149,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 2; ssb_PositionsInBurst_Bitmap = 2;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
...@@ -130,9 +130,7 @@ gNBs = ...@@ -130,9 +130,7 @@ gNBs =
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -90; p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell # ssb_periodicityServingCell
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment