Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
spbro
OpenXG-RAN
Commits
1af5062b
Commit
1af5062b
authored
Dec 22, 2022
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/NR_fix_intial_BWP_more_than_180' into integration_2022_wk51
parents
d21f6411
54641a14
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
24 additions
and
218 deletions
+24
-218
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+8
-3
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+7
-20
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+3
-3
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
...ENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
+0
-58
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf
...IC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf
+2
-37
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
...IC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
+0
-59
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.217PRB.2x2.usrpn300.conf
...IC-NR-5GC/CONF/gnb.sa.band78.fr1.217PRB.2x2.usrpn300.conf
+2
-36
No files found.
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
1af5062b
...
...
@@ -3190,10 +3190,15 @@ uint16_t nr_dci_size(const NR_BWP_DownlinkCommon_t *initialDownlinkBWP,
case
NR_UL_DCI_FORMAT_0_0
:
/// fixed: Format identifier 1, Hop flag 1, MCS 5, NDI 1, RV 2, HARQ PID 4, PUSCH TPC 2 Time Domain assgnmt 4 --20
size
+=
20
;
size
+=
(
uint8_t
)
ceil
(
log2
(
(
N_RB
*
(
N_RB
+
1
))
>>
1
)
);
// Freq domain assignment -- hopping scenario to be updated
dci_pdu
->
frequency_domain_assignment
.
nbits
=
(
uint8_t
)
ceil
(
log2
((
N_RB
*
(
N_RB
+
1
))
>>
1
));
// Freq domain assignment -- hopping scenario to be updated
size
+=
dci_pdu
->
frequency_domain_assignment
.
nbits
;
int
dci_10_size
=
nr_dci_size
(
initialDownlinkBWP
,
initialUplinkBWP
,
cg
,
dci_pdu
,
NR_DL_DCI_FORMAT_1_0
,
rnti_type
,
N_RB
,
bwp_id
,
coreset_id
,
cset0_bwp_size
);
AssertFatal
(
dci_10_size
>=
size
,
"NR_UL_DCI_FORMAT_0_0 size is bigger than NR_DL_DCI_FORMAT_1_0! 3GPP TS 38.212 Section 7.3.1.0: DCI size alignment is not fully implemented"
);
if
(
dci_10_size
>=
size
)
size
+=
dci_10_size
-
size
;
// Padding to match 1_0 size
else
{
dci_pdu
->
frequency_domain_assignment
.
nbits
-=
(
size
-
dci_10_size
);
size
=
dci_10_size
;
}
// UL/SUL indicator assumed to be 0
break
;
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
1af5062b
...
...
@@ -3244,7 +3244,7 @@ static uint8_t nr_extract_dci_info(NR_UE_MAC_INST_t *mac,
#endif
if
(
dci_pdu_rel15
->
format_indicator
==
1
)
return
1
;
// discard dci, format indicator not corresponding to dci_format
fsize
=
(
int
)
ceil
(
log2
(
(
N_RB_UL
*
(
N_RB_UL
+
1
))
>>
1
)
)
;
fsize
=
dci_pdu_rel15
->
frequency_domain_assignment
.
nbits
;
pos
+=
fsize
;
dci_pdu_rel15
->
frequency_domain_assignment
.
val
=
(
*
dci_pdu
>>
(
dci_size
-
pos
))
&
((
1
<<
fsize
)
-
1
);
#ifdef DEBUG_EXTRACT_DCI
...
...
@@ -3308,7 +3308,7 @@ static uint8_t nr_extract_dci_info(NR_UE_MAC_INST_t *mac,
#endif
if
(
dci_pdu_rel15
->
format_indicator
==
1
)
return
1
;
// discard dci, format indicator not corresponding to dci_format
fsize
=
(
int
)
ceil
(
log2
(
(
N_RB_UL
*
(
N_RB_UL
+
1
))
>>
1
)
)
;
fsize
=
dci_pdu_rel15
->
frequency_domain_assignment
.
nbits
;
pos
+=
fsize
;
dci_pdu_rel15
->
frequency_domain_assignment
.
val
=
(
*
dci_pdu
>>
(
dci_size
-
pos
))
&
((
1
<<
fsize
)
-
1
);
#ifdef DEBUG_EXTRACT_DCI
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
1af5062b
...
...
@@ -1934,10 +1934,6 @@ void nr_fill_rar(uint8_t Mod_idP,
NR_RA_HEADER_RAPID
*
rarh
=
(
NR_RA_HEADER_RAPID
*
)
(
dlsch_buffer
+
1
);
NR_MAC_RAR
*
rar
=
(
NR_MAC_RAR
*
)
(
dlsch_buffer
+
2
);
unsigned
char
csi_req
=
0
,
tpc_command
;
//uint8_t N_UL_Hop;
uint8_t
valid_bits
;
uint32_t
ul_grant
;
uint16_t
f_alloc
,
prb_alloc
,
bwp_size
,
truncation
=
0
;
tpc_command
=
3
;
// this is 0 dB
...
...
@@ -1973,24 +1969,15 @@ void nr_fill_rar(uint8_t Mod_idP,
ra
->
msg3_TPC
=
tpc_command
;
bwp_size
=
pusch_pdu
->
bwp_size
;
prb_alloc
=
PRBalloc_to_locationandbandwidth0
(
ra
->
msg3_nb_rb
,
ra
->
msg3_first_rb
,
bwp_size
);
if
(
bwp_size
>
180
)
{
AssertFatal
(
1
==
0
,
"Initial UBWP larger than 180 currently not supported"
);
}
else
{
valid_bits
=
(
uint8_t
)
ceil
(
log2
(
bwp_size
*
(
bwp_size
+
1
)
>>
1
));
}
if
(
pusch_pdu
->
frequency_hopping
){
if
(
pusch_pdu
->
frequency_hopping
)
AssertFatal
(
1
==
0
,
"PUSCH with frequency hopping currently not supported"
);
}
else
{
for
(
int
i
=
0
;
i
<
valid_bits
;
i
++
)
truncation
|=
(
1
<<
i
);
f_alloc
=
(
prb_alloc
&
truncation
);
}
ul_grant
=
csi_req
|
(
tpc_command
<<
1
)
|
(
pusch_pdu
->
mcs_index
<<
4
)
|
(
ra
->
Msg3_tda_id
<<
8
)
|
(
f_alloc
<<
12
)
|
(
pusch_pdu
->
frequency_hopping
<<
26
);
int
bwp_size
=
pusch_pdu
->
bwp_size
;
int
prb_alloc
=
PRBalloc_to_locationandbandwidth0
(
ra
->
msg3_nb_rb
,
ra
->
msg3_first_rb
,
bwp_size
);
int
valid_bits
=
14
;
int
f_alloc
=
prb_alloc
&
((
1
<<
valid_bits
)
-
1
);
uint32_t
ul_grant
=
csi_req
|
(
tpc_command
<<
1
)
|
(
pusch_pdu
->
mcs_index
<<
4
)
|
(
ra
->
Msg3_tda_id
<<
8
)
|
(
f_alloc
<<
12
)
|
(
pusch_pdu
->
frequency_hopping
<<
26
);
rar
->
UL_GRANT_1
=
(
uint8_t
)
(
ul_grant
>>
24
)
&
0x07
;
rar
->
UL_GRANT_2
=
(
uint8_t
)
(
ul_grant
>>
16
)
&
0xff
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
1af5062b
...
...
@@ -1670,7 +1670,7 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc,
pos
=
1
;
*
dci_pdu
|=
((
uint64_t
)
dci_pdu_rel15
->
format_indicator
&
1
)
<<
(
dci_size
-
pos
);
// Freq domain assignment max 16 bit
fsize
=
(
int
)
ceil
(
log2
((
N_RB
*
(
N_RB
+
1
))
>>
1
))
;
fsize
=
dci_pdu_rel15
->
frequency_domain_assignment
.
nbits
;
pos
+=
fsize
;
*
dci_pdu
|=
((
uint64_t
)
dci_pdu_rel15
->
frequency_domain_assignment
.
val
&
((
1
<<
fsize
)
-
1
))
<<
(
dci_size
-
pos
);
// Time domain assignment 4bit
...
...
@@ -1695,7 +1695,7 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc,
pos
+=
2
;
*
dci_pdu
|=
((
uint64_t
)
dci_pdu_rel15
->
tpc
&
0x3
)
<<
(
dci_size
-
pos
);
// Padding bits
for
(
int
a
=
pos
;
a
<
32
;
a
++
)
for
(
int
a
=
pos
;
a
<
dci_size
;
a
++
)
*
dci_pdu
|=
((
uint64_t
)
dci_pdu_rel15
->
padding
&
1
)
<<
(
dci_size
-
pos
++
);
// UL/SUL indicator – 1 bit
/* commented for now (RK): need to get this from BWP descriptor
...
...
@@ -1723,7 +1723,7 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc,
pos
=
1
;
*
dci_pdu
|=
((
uint64_t
)
dci_pdu_rel15
->
format_indicator
&
1
)
<<
(
dci_size
-
pos
);
// Freq domain assignment max 16 bit
fsize
=
(
int
)
ceil
(
log2
((
N_RB
*
(
N_RB
+
1
))
>>
1
))
;
fsize
=
dci_pdu_rel15
->
frequency_domain_assignment
.
nbits
;
pos
+=
fsize
;
*
dci_pdu
|=
((
uint64_t
)
dci_pdu_rel15
->
frequency_domain_assignment
.
val
&
((
1
<<
fsize
)
-
1
))
<<
(
dci_size
-
pos
);
// Time domain assignment 4bit
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
View file @
1af5062b
...
...
@@ -154,64 +154,6 @@ gNBs =
);
# Dedicated Serving Cell Configuration
servingCellConfigDedicated
= ({
# BWP-Downlink
# BWP 1 Configuration
dl_bwp
-
Id_1
=
1
;
dl_bwp1_locationAndBandwidth
=
28875
; //
RBstart
=
0
,
L
=
106
(
40
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp1_subcarrierSpacing
=
1
;
# BWP 2 Configuration
dl_bwp
-
Id_2
=
2
;
dl_bwp2_locationAndBandwidth
=
13750
; //
RBstart
=
0
,
L
=
51
(
20
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp2_subcarrierSpacing
=
1
;
# BWP 3 Configuration
dl_bwp
-
Id_3
=
3
;
dl_bwp3_locationAndBandwidth
=
6325
; //
RBstart
=
0
,
L
=
24
(
10
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp3_subcarrierSpacing
=
1
;
firstActiveDownlinkBWP
-
Id
=
1
;
#BWP-Id
defaultDownlinkBWP
-
Id
=
1
;
#BWP-Id
# bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30,
# ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500,
# ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8,
# spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
# UplinkConfig
# BWP-Uplink
# BWP 1 Configuration
ul_bwp
-
Id_1
=
1
;
ul_bwp1_locationAndBandwidth
=
28875
; //
RBstart
=
0
,
L
=
106
(
40
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp1_subcarrierSpacing
=
1
;
# BWP 2 Configuration
ul_bwp
-
Id_2
=
2
;
ul_bwp2_locationAndBandwidth
=
13750
; //
RBstart
=
0
,
L
=
51
(
20
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp2_subcarrierSpacing
=
1
;
# BWP 3 Configuration
ul_bwp
-
Id_3
=
3
;
ul_bwp3_locationAndBandwidth
=
6325
; //
RBstart
=
0
,
L
=
24
(
10
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp3_subcarrierSpacing
=
1
;
firstActiveUplinkBWP
-
Id
=
1
;
#BWP-Id
}
);
# ------- SCTP definitions
SCTP
:
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf
View file @
1af5062b
...
...
@@ -49,8 +49,7 @@ gNBs = (
# initialDownlinkBWP
# genericParameters
# this is RBstart=0,L=162 (275*(275-L+1))+(274-RBstart))
initialDLBWPlocationAndBandwidth
=
31624
;
initialDLBWPlocationAndBandwidth
=
1099
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing
=
1
;
...
...
@@ -72,7 +71,7 @@ gNBs = (
# initialUplinkBWP
# genericParameters
initialULBWPlocationAndBandwidth
=
31624
;
initialULBWPlocationAndBandwidth
=
1099
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
...
...
@@ -157,40 +156,6 @@ gNBs = (
);
# Dedicated Serving Cell Configuration
servingCellConfigDedicated
= (
{
# BWP-Downlink
# BWP 1 Configuration
dl_bwp
-
Id_1
=
1
;
dl_bwp1_locationAndBandwidth
=
1099
; //
RBstart
=
0
,
L
=
273
(
100
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp1_subcarrierSpacing
=
1
;
firstActiveDownlinkBWP
-
Id
=
1
;
#BWP-Id
defaultDownlinkBWP
-
Id
=
1
;
#BWP-Id
# bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30,
# ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500,
# ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8,
# spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
# UplinkConfig
# BWP-Uplink
# BWP 1 Configuration
ul_bwp
-
Id_1
=
1
;
ul_bwp1_locationAndBandwidth
=
1099
; //
RBstart
=
0
,
L
=
273
(
100
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp1_subcarrierSpacing
=
1
;
firstActiveUplinkBWP
-
Id
=
1
;
#BWP-Id
}
);
# ------- SCTP definitions
SCTP
:
{
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
View file @
1af5062b
...
...
@@ -158,65 +158,6 @@ gNBs =
);
# Dedicated Serving Cell Configuration
servingCellConfigDedicated
= ({
# BWP-Downlink
# BWP 1 Configuration
dl_bwp
-
Id_1
=
1
;
dl_bwp1_locationAndBandwidth
=
28875
; //
RBstart
=
0
,
L
=
106
(
40
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp1_subcarrierSpacing
=
1
;
# BWP 2 Configuration
dl_bwp
-
Id_2
=
2
;
dl_bwp2_locationAndBandwidth
=
13750
; //
RBstart
=
0
,
L
=
51
(
20
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp2_subcarrierSpacing
=
1
;
# BWP 3 Configuration
dl_bwp
-
Id_3
=
3
;
dl_bwp3_locationAndBandwidth
=
6325
; //
RBstart
=
0
,
L
=
24
(
10
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp3_subcarrierSpacing
=
1
;
firstActiveDownlinkBWP
-
Id
=
1
;
#BWP-Id
defaultDownlinkBWP
-
Id
=
1
;
#BWP-Id
# bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30,
# ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500,
# ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8,
# spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
# UplinkConfig
# BWP-Uplink
# BWP 1 Configuration
ul_bwp
-
Id_1
=
1
;
ul_bwp1_locationAndBandwidth
=
28875
; //
RBstart
=
0
,
L
=
106
(
40
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp1_subcarrierSpacing
=
1
;
# BWP 2 Configuration
ul_bwp
-
Id_2
=
2
;
ul_bwp2_locationAndBandwidth
=
13750
; //
RBstart
=
0
,
L
=
51
(
20
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp2_subcarrierSpacing
=
1
;
# BWP 3 Configuration
ul_bwp
-
Id_3
=
3
;
ul_bwp3_locationAndBandwidth
=
6325
; //
RBstart
=
0
,
L
=
24
(
10
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp3_subcarrierSpacing
=
1
;
firstActiveUplinkBWP
-
Id
=
1
;
#BWP-Id
}
);
# ------- SCTP definitions
SCTP
:
{
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.217PRB.2x2.usrpn300.conf
View file @
1af5062b
...
...
@@ -50,8 +50,7 @@ gNBs =
dl_carrierBandwidth
=
217
;
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=162 (275*(275-L+1))+(274-RBstart))
initialDLBWPlocationAndBandwidth
=
31624
;
initialDLBWPlocationAndBandwidth
=
16499
;
#
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
...
...
@@ -72,7 +71,7 @@ gNBs =
pMax
=
20
;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth
=
31624
;
initialULBWPlocationAndBandwidth
=
16499
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
...
...
@@ -159,39 +158,6 @@ gNBs =
);
# Dedicated Serving Cell Configuration
servingCellConfigDedicated
= ({
# BWP-Downlink
# BWP 1 Configuration
dl_bwp
-
Id_1
=
1
;
dl_bwp1_locationAndBandwidth
=
16499
; //
RBstart
=
0
,
L
=
217
(
80
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp1_subcarrierSpacing
=
1
;
firstActiveDownlinkBWP
-
Id
=
1
;
#BWP-Id
defaultDownlinkBWP
-
Id
=
1
;
#BWP-Id
# bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30,
# ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500,
# ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8,
# spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
# UplinkConfig
# BWP-Uplink
# BWP 1 Configuration
ul_bwp
-
Id_1
=
1
;
ul_bwp1_locationAndBandwidth
=
16499
; //
RBstart
=
0
,
L
=
217
(
80
MHz
BW
)
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp1_subcarrierSpacing
=
1
;
firstActiveUplinkBWP
-
Id
=
1
;
#BWP-Id
}
);
# ------- SCTP definitions
SCTP
:
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment