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
4f9aaa92
Commit
4f9aaa92
authored
3 years ago
by
Abhijith
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Access SCD parameters from config file
parent
af6807d3
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
410 additions
and
148 deletions
+410
-148
openair2/GNB_APP/RRC_nr_paramsvalues.h
openair2/GNB_APP/RRC_nr_paramsvalues.h
+27
-10
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+21
-11
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+0
-1
openair2/LAYER2/NR_MAC_UE/config_ue.c
openair2/LAYER2/NR_MAC_UE/config_ue.c
+16
-19
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
+0
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+1
-6
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+1
-5
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+4
-5
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+1
-1
openair2/RRC/NR/rrc_gNB_reconfig.c
openair2/RRC/NR/rrc_gNB_reconfig.c
+17
-36
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.SCD.conf
...ERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.SCD.conf
+320
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
+0
-51
No files found.
openair2/GNB_APP/RRC_nr_paramsvalues.h
View file @
4f9aaa92
...
...
@@ -228,13 +228,19 @@
#define GNB_CONFIG_STRING_ULPTRSREOFFSET_0 "ul_ptrsReOffset_0"
#define GNB_CONFIG_STRING_ULPTRSMAXPORTS_0 "ul_ptrsMaxPorts_0"
#define GNB_CONFIG_STRING_ULPTRSPOWER_0 "ul_ptrsPower_0"
#define GNB_CONFIG_STRING_DLBWP1_ID "bwp-Id_1"
#define GNB_CONFIG_STRING_DLBWP2_ID "bwp-Id_2"
#define GNB_CONFIG_STRING_DLBWP3_ID "bwp-Id_3"
#define GNB_CONFIG_STRING_DLBWP4_ID "bwp-Id_4"
#define GNB_CONFIG_STRING_FIRSTACTIVEDLBWP_ID "firstActiveDownlinkBWP-Id"
#define GNB_CONFIG_STRING_BWP_ID_0 "bwp-Id_0"
#define GNB_CONFIG_STRING_BWP_ID_1 "bwp-Id_1"
#define GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_0 "locationAndBandwidth_0"
#define GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_1 "locationAndBandwidth_1"
#define GNB_CONFIG_STRING_SCS_0 "subcarrierSpacing_0"
#define GNB_CONFIG_STRING_SCS_1 "subcarrierSpacing_1"
#define GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP1 "bwp1_locationAndBandwidth"
#define GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP2 "bwp2_locationAndBandwidth"
#define GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP3 "bwp3_locationAndBandwidth"
#define GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP4 "bwp4_locationAndBandwidth"
#define GNB_CONFIG_STRING_SCS_BWP1 "bwp1_subcarrierSpacing"
#define GNB_CONFIG_STRING_SCS_BWP2 "bwp2_subcarrierSpacing"
#define GNB_CONFIG_STRING_SCS_BWP3 "bwp3_subcarrierSpacing"
#define GNB_CONFIG_STRING_SCS_BWP4 "bwp4_subcarrierSpacing"
#define GNB_CONFIG_STRING_DEFAULTDLBWP_ID "defaultDownlinkBWP-Id"
#define GNB_CONFIG_STRING_FIRSTACTIVEULBWP_ID "firstActiveUplinkBWP-Id"
...
...
@@ -443,10 +449,21 @@
{GNB_CONFIG_STRING_ULPTRSREOFFSET_0,NULL,0,i64ptr:scd->uplinkConfig->uplinkBWP_ToAddModList->list.array[0]->bwp_Dedicated->pusch_Config->choice.setup->dmrs_UplinkForPUSCH_MappingTypeB->choice.setup->phaseTrackingRS->choice.setup->transformPrecoderDisabled->resourceElementOffset,defint64val:-1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_ULPTRSMAXPORTS_0,NULL,0,i64ptr:&scd->uplinkConfig->uplinkBWP_ToAddModList->list.array[0]->bwp_Dedicated->pusch_Config->choice.setup->dmrs_UplinkForPUSCH_MappingTypeB->choice.setup->phaseTrackingRS->choice.setup->transformPrecoderDisabled->maxNrofPorts,defint64val:0,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_ULPTRSPOWER_0,NULL,0,i64ptr:&scd->uplinkConfig->uplinkBWP_ToAddModList->list.array[0]->bwp_Dedicated->pusch_Config->choice.setup->dmrs_UplinkForPUSCH_MappingTypeB->choice.setup->phaseTrackingRS->choice.setup->transformPrecoderDisabled->ptrs_Power,defint64val:0,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_FIRSTACTIVEDLBWP_ID,NULL,0,i64ptr:scd->firstActiveDownlinkBWP_Id,defint64val:0,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_FIRSTACTIVEULBWP_ID,NULL,0,i64ptr:scd->uplinkConfig->firstActiveUplinkBWP_Id,defint64val:0,TYPE_INT64,0}} //, \
{GNB_CONFIG_STRING_BWP_ID_0,NULL,0,i64ptr:scd->downlinkBWP_ToAddModList->list.array[0].bwp_Id,defint64val:0,TYPE_INT64,0}}//, \
{GNB_CONFIG_STRING_BWP_ID_1,NULL,0,i64ptr:scd->downlinkBWP_ToAddModList->list.array[1]->bwp_Id,defint64val:0,TYPE_INT64,0}}
{GNB_CONFIG_STRING_FIRSTACTIVEDLBWP_ID,NULL,0,i64ptr:scd->firstActiveDownlinkBWP_Id,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_FIRSTACTIVEULBWP_ID,NULL,0,i64ptr:scd->uplinkConfig->firstActiveUplinkBWP_Id,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_DLBWP1_ID,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[0]->bwp_Id,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_DLBWP2_ID,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[1]->bwp_Id,defint64val:2,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_DLBWP3_ID,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[2]->bwp_Id,defint64val:3,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_DLBWP4_ID,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[3]->bwp_Id,defint64val:4,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_SCS_BWP1,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[0]->bwp_Common->genericParameters.subcarrierSpacing,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_SCS_BWP2,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[1]->bwp_Common->genericParameters.subcarrierSpacing,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_SCS_BWP3,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[2]->bwp_Common->genericParameters.subcarrierSpacing,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_SCS_BWP4,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[3]->bwp_Common->genericParameters.subcarrierSpacing,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP1,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[0]->bwp_Common->genericParameters.locationAndBandwidth,defint64val:0,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP2,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[1]->bwp_Common->genericParameters.locationAndBandwidth,defint64val:0,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP3,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[2]->bwp_Common->genericParameters.locationAndBandwidth,defint64val:0,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP4,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[3]->bwp_Common->genericParameters.locationAndBandwidth,defint64val:0,TYPE_INT64,0}}
...
...
This diff is collapsed.
Click to expand it.
openair2/GNB_APP/gnb_config.c
View file @
4f9aaa92
...
...
@@ -326,24 +326,32 @@ void fix_scc(NR_ServingCellConfigCommon_t *scc,uint64_t ssbmap) {
}
/* Function to allocate dedicated serving cell config strutures */
//Abhi : error at this function : when adding for loop to add new elements of downlinkBWP-ToAddModList.
void
prepare_scd
(
NR_ServingCellConfig_t
*
scd
)
{
void
prepare_scd
(
NR_ServingCellConfig_t
*
scd
,
int
scd_present
)
{
// Allocate downlink structures
scd
->
downlinkBWP_ToAddModList
=
CALLOC
(
1
,
sizeof
(
*
scd
->
downlinkBWP_ToAddModList
));
scd
->
uplinkConfig
=
CALLOC
(
1
,
sizeof
(
*
scd
->
uplinkConfig
));
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
=
CALLOC
(
1
,
sizeof
(
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
));
if
(
scd_present
)
{
scd
->
bwp_InactivityTimer
=
CALLOC
(
1
,
sizeof
(
*
scd
->
bwp_InactivityTimer
));
scd
->
uplinkConfig
->
firstActiveUplinkBWP_Id
=
CALLOC
(
1
,
sizeof
(
*
scd
->
uplinkConfig
->
firstActiveUplinkBWP_Id
));
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
=
CALLOC
(
1
,
sizeof
(
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
));
scd
->
firstActiveDownlinkBWP_Id
=
CALLOC
(
1
,
sizeof
(
*
scd
->
firstActiveDownlinkBWP_Id
));
*
scd
->
firstActiveDownlinkBWP_Id
=
1
;
*
scd
->
uplinkConfig
->
firstActiveUplinkBWP_Id
=
1
;
}
for
(
int
j
=
0
;
j
<
4
;
j
++
)
{
// Downlink bandwidth part
NR_BWP_Downlink_t
*
bwp
=
calloc
(
1
,
sizeof
(
*
bwp
));
bwp
->
bwp_Id
=
1
;
bwp
->
bwp_Id
=
j
+
1
;
// Allocate downlink dedicated bandwidth part and PDSCH structures
bwp
->
bwp_Common
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
));
// bwp->bwp_Common->genericParameters.locationAndBandwidth = calloc(1, sizeof(*bwp->bwp_Common->genericParameters.locationAndBandwidth) );
// bwp->bwp_Common->genericParameters.subcarrierSpacing = calloc(1, sizeof(*bwp->bwp_Common->genericParameters.subcarrierSpacing) );
bwp
->
bwp_Common
->
pdcch_ConfigCommon
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
->
pdcch_ConfigCommon
));
bwp
->
bwp_Common
->
pdsch_ConfigCommon
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
->
pdsch_ConfigCommon
));
bwp
->
bwp_Dedicated
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
));
...
...
@@ -406,7 +414,7 @@ for (int j = 0 ;j < 4 ; j++)
// UL bandwidth part
NR_BWP_Uplink_t
*
ubwp
=
CALLOC
(
1
,
sizeof
(
*
ubwp
));
ubwp
->
bwp_Id
=
1
;
ubwp
->
bwp_Id
=
j
+
1
;
ubwp
->
bwp_Common
=
CALLOC
(
1
,
sizeof
(
*
ubwp
->
bwp_Common
));
ubwp
->
bwp_Dedicated
=
CALLOC
(
1
,
sizeof
(
*
ubwp
->
bwp_Dedicated
));
...
...
@@ -837,11 +845,10 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
// Serving Cell Config Dedicated
NR_ServingCellConfig_t
*
scd
=
calloc
(
1
,
sizeof
(
NR_ServingCellConfig_t
));
memset
((
void
*
)
scd
,
0
,
sizeof
(
NR_ServingCellConfig_t
));
prepare_scd
(
scd
);
paramdef_t
SCDsParams
[]
=
SCDPARAMS_DESC
(
scd
);
printf
(
"RRC BWP 0: %d"
,
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Id
);
printf
(
"RRC BWP 1: %d"
,
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
1
]
->
bwp_Id
);
paramlist_def_t
SCDsParamList
=
{
GNB_CONFIG_STRING_SERVINGCELLCONFIGDEDICATED
,
NULL
,
0
};
prepare_scd
(
scd
,
SCDsParamList
.
numelt
);
paramdef_t
SCDsParams
[]
=
SCDPARAMS_DESC
(
scd
);
////////// Physical parameters
...
...
@@ -922,14 +929,17 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
if
(
SCDsParamList
.
numelt
>
0
)
{
sprintf
(
aprefix
,
"%s.[%i].%s.[%i]"
,
GNB_CONFIG_STRING_GNB_LIST
,
0
,
GNB_CONFIG_STRING_SERVINGCELLCONFIGDEDICATED
,
0
);
config_get
(
SCDsParams
,
sizeof
(
SCDsParams
)
/
sizeof
(
paramdef_t
),
aprefix
);
LOG_I
(
RRC
,
"Read in ServingCellConfigDedicated UL (FreqDensity_0 %d, FreqDensity_1 %d, TimeDensity_0 %d, TimeDensity_1 %d, TimeDensity_2 %d, RE offset %d,
BWP_ID
%d
\n
"
,
LOG_I
(
RRC
,
"Read in ServingCellConfigDedicated UL (FreqDensity_0 %d, FreqDensity_1 %d, TimeDensity_0 %d, TimeDensity_1 %d, TimeDensity_2 %d, RE offset %d,
First_active_BWP_ID %d SCS %d, LocationandBW
%d
\n
"
,
(
int
)
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
dmrs_UplinkForPUSCH_MappingTypeB
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
transformPrecoderDisabled
->
frequencyDensity
->
list
.
array
[
0
],
(
int
)
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
dmrs_UplinkForPUSCH_MappingTypeB
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
transformPrecoderDisabled
->
frequencyDensity
->
list
.
array
[
1
],
(
int
)
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
dmrs_UplinkForPUSCH_MappingTypeB
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
transformPrecoderDisabled
->
timeDensity
->
list
.
array
[
0
],
(
int
)
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
dmrs_UplinkForPUSCH_MappingTypeB
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
transformPrecoderDisabled
->
timeDensity
->
list
.
array
[
1
],
(
int
)
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
dmrs_UplinkForPUSCH_MappingTypeB
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
transformPrecoderDisabled
->
timeDensity
->
list
.
array
[
2
],
(
int
)
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
dmrs_UplinkForPUSCH_MappingTypeB
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
transformPrecoderDisabled
->
resourceElementOffset
,
(
int
)
*
scd
->
firstActiveDownlinkBWP_Id
);
(
int
)
*
scd
->
firstActiveDownlinkBWP_Id
,
(
int
)
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Common
->
genericParameters
.
subcarrierSpacing
,
(
int
)
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
);
}
fix_scd
(
scd
);
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
4f9aaa92
...
...
@@ -2880,7 +2880,6 @@ uint16_t nr_dci_size(const NR_ServingCellConfigCommon_t *scc,
dci_pdu
->
antenna_ports
.
nbits
=
getAntPortBitWidth
(
typeA
,
typeB
);
size
+=
dci_pdu
->
antenna_ports
.
nbits
;
// Tx Config Indication
//Abhi : Check this -- bwp_id to replaced with corset_id ? each BWP can have multiple CORSETs .. this has to be corset_id
int
corset_id
=
1
;
long
*
isTciEnable
=
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
controlResourceSetToAddModList
->
list
.
array
[
corset_id
-
1
]
->
tci_PresentInDCI
;
if
(
isTciEnable
!=
NULL
)
{
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_UE/config_ue.c
View file @
4f9aaa92
...
...
@@ -333,21 +333,20 @@ void config_bwp_ue(NR_UE_MAC_INST_t *mac, uint16_t *bwp_ind, uint8_t *dci_format
NR_ServingCellConfig_t
*
scd
=
mac
->
scg
->
spCellConfig
->
spCellConfigDedicated
;
//Abhi : TODO : uncomment this when DCI based swithching is available
// if (bwp_ind && dci_format){
// switch(*dci_format){
// case NR_UL_DCI_FORMAT_0_1:
// mac->UL_BWP_Id = *bwp_ind;
// break;
// case NR_DL_DCI_FORMAT_1_1:
// mac->DL_BWP_Id = *bwp_ind;
// break;
// default:
// LOG_E(MAC, "In %s: failed to configure BWP Id from DCI with format %d \n", __FUNCTION__, *dci_format);
// }
// } else {
if
(
bwp_ind
&&
dci_format
){
switch
(
*
dci_format
){
case
NR_UL_DCI_FORMAT_0_1
:
mac
->
UL_BWP_Id
=
*
bwp_ind
;
break
;
case
NR_DL_DCI_FORMAT_1_1
:
mac
->
DL_BWP_Id
=
*
bwp_ind
;
break
;
default:
LOG_E
(
MAC
,
"In %s: failed to configure BWP Id from DCI with format %d
\n
"
,
__FUNCTION__
,
*
dci_format
);
}
}
else
{
if
(
scd
->
firstActiveDownlinkBWP_Id
)
mac
->
DL_BWP_Id
=
*
scd
->
firstActiveDownlinkBWP_Id
;
...
...
@@ -361,7 +360,7 @@ void config_bwp_ue(NR_UE_MAC_INST_t *mac, uint16_t *bwp_ind, uint8_t *dci_format
else
mac
->
UL_BWP_Id
=
1
;
//
}
}
LOG_I
(
MAC
,
"In %s setting DL_BWP_Id %ld UL_BWP_Id %ld
\n
"
,
__FUNCTION__
,
mac
->
DL_BWP_Id
,
mac
->
UL_BWP_Id
);
...
...
@@ -374,12 +373,11 @@ void config_bwp_ue(NR_UE_MAC_INST_t *mac, uint16_t *bwp_ind, uint8_t *dci_format
*/
void
config_control_ue
(
NR_UE_MAC_INST_t
*
mac
){
//Abhi : Hardcoded CORSET ID here
uint8_t
coreset_id
=
1
,
ss_id
;
NR_ServingCellConfig_t
*
scd
=
mac
->
scg
->
spCellConfig
->
spCellConfigDedicated
;
AssertFatal
(
scd
->
downlinkBWP_ToAddModList
!=
NULL
,
"downlinkBWP_ToAddModList is null
\n
"
);
//AssertFatal(scd->downlinkBWP_ToAddModList->list.count == 1
, "downlinkBWP_ToAddModList->list->count is %d\n", scd->downlinkBWP_ToAddModList->list.count);
AssertFatal
(
scd
->
downlinkBWP_ToAddModList
->
list
.
count
<=
4
,
"downlinkBWP_ToAddModList->list->count is %d
\n
"
,
scd
->
downlinkBWP_ToAddModList
->
list
.
count
);
config_bwp_ue
(
mac
,
NULL
,
NULL
);
NR_BWP_Id_t
dl_bwp_id
=
mac
->
DL_BWP_Id
;
...
...
@@ -393,7 +391,6 @@ void config_control_ue(NR_UE_MAC_INST_t *mac){
NR_BWP_DownlinkDedicated_t
*
dl_bwp_Dedicated
=
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
dl_bwp_id
-
1
]
->
bwp_Dedicated
;
AssertFatal
(
dl_bwp_Dedicated
!=
NULL
,
"dl_bwp_Dedicated is null
\n
"
);
//Abhi : TODO : add assert statements for UL BWP!
NR_SetupRelease_PDCCH_Config_t
*
pdcch_Config
=
dl_bwp_Dedicated
->
pdcch_Config
;
AssertFatal
(
pdcch_Config
!=
NULL
,
"pdcch_Config is null
\n
"
);
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
View file @
4f9aaa92
...
...
@@ -224,7 +224,6 @@ void ue_dci_configuration(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_request_t *dl
RA_config_t
*
ra
=
&
mac
->
ra
;
int
ss_id
;
//Abhi : harcoded CORSET ID here
uint8_t
bwp_id
=
mac
->
DL_BWP_Id
;
uint8_t
coreset_id
=
1
;
//NR_ServingCellConfig_t *scd = mac->scg->spCellConfig->spCellConfigDedicated;
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
4f9aaa92
...
...
@@ -438,7 +438,6 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
AssertFatal
(
mac
->
DLbwp
[
0
]
!=
NULL
,
"DLbwp[0] should not be zero here!
\n
"
);
AssertFatal
(
mac
->
ULbwp
[
0
]
!=
NULL
,
"DLbwp[0] should not be zero here!
\n
"
);
//Abhi : TODO
const
uint16_t
n_RB_DLBWP
=
(
ra
->
ra_state
==
WAIT_RAR
||
ra
->
ra_state
==
WAIT_CONTENTION_RESOLUTION
)
?
NRRIV2BW
(
mac
->
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
)
:
NRRIV2BW
(
mac
->
DLbwp
[
dl_bwp_id
-
1
]
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
LOG_D
(
MAC
,
"In %s: Processing received DCI format %s (DL BWP %d)
\n
"
,
__FUNCTION__
,
dci_formats
[
dci_format
],
n_RB_DLBWP
);
...
...
@@ -791,11 +790,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
* 47 DMRS_SEQ_INI:
*/
//Abhi : temporarily commenting this out
// if (dci->bwp_indicator.val != 1) {
// LOG_W(MAC, "[%d.%d] bwp_indicator != 1! Possibly due to false DCI. Ignoring DCI!\n", frame, slot);
// return -1;
// }
config_bwp_ue
(
mac
,
&
dci
->
bwp_indicator
.
val
,
&
dci_format
);
NR_PDSCH_Config_t
*
pdsch_config
=
mac
->
DLbwp
[
dl_bwp_id
-
1
]
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
;
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
4f9aaa92
...
...
@@ -625,11 +625,7 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
}
else
if
(
*
dci_format
==
NR_UL_DCI_FORMAT_0_1
)
{
/* BANDWIDTH_PART_IND */
//Abhi : why must BWP always be 1 ?
// if (dci->bwp_indicator.val != 1) {
// LOG_W(MAC, "bwp_indicator != 1! Possibly due to false DCI. Ignoring DCI!\n");
// return -1;
// }
config_bwp_ue
(
mac
,
&
dci
->
bwp_indicator
.
val
,
dci_format
);
target_ss
=
NR_SearchSpace__searchSpaceType_PR_ue_Specific
;
ul_layers_config
(
mac
,
pusch_config_pdu
,
dci
);
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
4f9aaa92
...
...
@@ -1067,7 +1067,7 @@ void nr_generate_Msg2(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
dci_payload
.
mcs
=
pdsch_pdu_rel15
->
mcsIndex
[
0
];
dci_payload
.
tb_scaling
=
tb_scaling
;
LOG_
D
(
NR_MAC
,
LOG_
I
(
NR_MAC
,
"[RAPROC] DCI type 1 payload: freq_alloc %d (%d,%d,%d), time_alloc %d, vrb to prb %d, mcs %d tb_scaling %d
\n
"
,
dci_payload
.
frequency_domain_assignment
.
val
,
pdsch_pdu_rel15
->
rbStart
,
...
...
@@ -1078,7 +1078,7 @@ void nr_generate_Msg2(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
dci_payload
.
mcs
,
dci_payload
.
tb_scaling
);
LOG_
D
(
NR_MAC
,
LOG_
I
(
NR_MAC
,
"[RAPROC] DCI params: rnti 0x%x, rnti_type %d, dci_format %d coreset params: FreqDomainResource %llx, start_symbol %d n_symb %d
\n
"
,
pdcch_pdu_rel15
->
dci_pdu
[
0
].
RNTI
,
NR_RNTI_RA
,
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
4f9aaa92
...
...
@@ -954,12 +954,11 @@ void nr_schedule_ue_spec(module_id_t module_id,
// bwp indicator
const
int
n_dl_bwp
=
UE_info
->
secondaryCellGroup
[
UE_id
]
->
spCellConfig
->
spCellConfigDedicated
->
downlinkBWP_ToAddModList
->
list
.
count
;
// AssertFatal(n_dl_bwp == 1
,
//
"downlinkBWP_ToAddModList has %d BWP!\n",
//
n_dl_bwp);
AssertFatal
(
n_dl_bwp
<=
4
,
"downlinkBWP_ToAddModList has %d BWP!
\n
"
,
n_dl_bwp
);
// as per table 7.3.1.1.2-1 in 38.212
// Abhi :look into this
dci_payload
.
bwp_indicator
.
val
=
n_dl_bwp
<
4
?
bwp
->
bwp_Id
:
bwp
->
bwp_Id
-
1
;
dci_payload
.
bwp_indicator
.
val
=
n_dl_bwp
<=
4
?
bwp
->
bwp_Id
:
bwp
->
bwp_Id
-
1
;
AssertFatal
(
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
resourceAllocation
==
NR_PDSCH_Config__resourceAllocation_resourceAllocationType1
,
"Only frequency resource allocation type 1 is currently supported
\n
"
);
dci_payload
.
frequency_domain_assignment
.
val
=
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
4f9aaa92
...
...
@@ -615,7 +615,7 @@ void config_uldci(const NR_BWP_Uplink_t *ubwp,
case
NR_UL_DCI_FORMAT_0_1
:
dci_pdu_rel15
->
dai
[
0
].
val
=
0
;
//TODO
// bwp indicator as per table 7.3.1.1.2-1 in 38.212
dci_pdu_rel15
->
bwp_indicator
.
val
=
n_ubwp
<
4
?
bwp_id
:
bwp_id
-
1
;
dci_pdu_rel15
->
bwp_indicator
.
val
=
n_ubwp
<
=
4
?
bwp_id
:
bwp_id
-
1
;
// SRS resource indicator
if
(
ubwp
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
txConfig
!=
NULL
)
{
AssertFatal
(
*
ubwp
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
txConfig
==
NR_PUSCH_Config__txConfig_codebook
,
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/NR/rrc_gNB_reconfig.c
View file @
4f9aaa92
...
...
@@ -461,8 +461,6 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
downlinkBWP_ToReleaseList
=
NULL
;
//Abhi : Fix me
// Code has to loop thorough multiple BWP wherever necessary
NR_BWP_Downlink_t
*
bwp
=
NULL
;
for
(
int
bwp_loop
=
0
;
bwp_loop
<
4
;
bwp_loop
++
)
{
...
...
@@ -473,19 +471,16 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
downlinkBWP_ToAddModList
=
calloc
(
1
,
sizeof
(
*
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
downlinkBWP_ToAddModList
));
bwp
=
calloc
(
1
,
sizeof
(
*
bwp
));
}
bwp
->
bwp_Id
=
bwp_loop
+
1
;
//Abhi: remove this ? BWP is added to asn only when scd is not present
#pragma region bwp-downlink-Common
bwp
->
bwp_Common
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
));
// copy common BWP size from initial BWP except for bandwdith
bwp
->
bwp_Id
=
bwp_loop
+
1
;
memcpy
((
void
*
)
&
bwp
->
bwp_Common
->
genericParameters
,
&
servingcellconfigcommon
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
,
sizeof
(
bwp
->
bwp_Common
->
genericParameters
));
bwp
->
bwp_Common
->
genericParameters
.
subcarrierSpacing
=
1
;
bwp
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
=
PRBalloc_to_locationandbandwidth
(
servingcellconfigcommon
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
,
0
);
bwp
->
bwp_Common
->
genericParameters
.
subcarrierSpacing
=
1
;
//Abhi : hardcoded
}
#pragma region bwp_common->pdcch_ConfigCommon
bwp
->
bwp_Common
->
pdcch_ConfigCommon
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
->
pdcch_ConfigCommon
));
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
present
=
NR_SetupRelease_PDCCH_ConfigCommon_PR_setup
;
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
));
...
...
@@ -494,7 +489,6 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
int
curr_bwp
=
NRRIV2BW
(
bwp
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
,
275
);
#pragma region corset
NR_ControlResourceSet_t
*
coreset
=
calloc
(
1
,
sizeof
(
*
coreset
));
coreset
->
controlResourceSetId
=
1
;
// frequency domain resources depends on BWP size
...
...
@@ -532,13 +526,11 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
coreset
->
pdcch_DMRS_ScramblingID
=
NULL
;
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
->
commonControlResourceSet
=
coreset
;
#pragma endregion coreset
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
->
searchSpaceZero
=
NULL
;
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
->
commonSearchSpaceList
=
NULL
;
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
->
commonSearchSpaceList
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
->
commonSearchSpaceList
));
#pragma region CommonSearchSpace
NR_SearchSpace_t
*
ss
=
calloc
(
1
,
sizeof
(
*
ss
));
ss
->
searchSpaceId
=
1
;
ss
->
controlResourceSetId
=
calloc
(
1
,
sizeof
(
*
ss
->
controlResourceSetId
));
...
...
@@ -574,14 +566,12 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
->
ra_SearchSpace
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
->
ra_SearchSpace
));
*
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
->
ra_SearchSpace
=
1
;
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
->
ext1
=
NULL
;
#pragma endregion pdcch_ConfigCommon
bwp
->
bwp_Common
->
pdsch_ConfigCommon
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
->
pdsch_ConfigCommon
));
bwp
->
bwp_Common
->
pdsch_ConfigCommon
->
present
=
NR_SetupRelease_PDSCH_ConfigCommon_PR_setup
;
bwp
->
bwp_Common
->
pdsch_ConfigCommon
->
choice
.
setup
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
->
pdsch_ConfigCommon
->
choice
.
setup
));
bwp
->
bwp_Common
->
pdsch_ConfigCommon
->
choice
.
setup
->
pdsch_TimeDomainAllocationList
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
->
pdsch_ConfigCommon
->
choice
.
setup
->
pdsch_TimeDomainAllocationList
));
#pragma endregion bwp_Common->pdcch_ConfigCommon
// copy PDSCH TimeDomainResourceAllocation from InitialBWP
NR_PDSCH_TimeDomainResourceAllocation_t
*
pdschi
;
...
...
@@ -595,14 +585,12 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
pdschi
->
startSymbolAndLength
=
servingcellconfigcommon
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdsch_ConfigCommon
->
choice
.
setup
->
pdsch_TimeDomainAllocationList
->
list
.
array
[
i
]
->
startSymbolAndLength
;
ASN_SEQUENCE_ADD
(
&
bwp
->
bwp_Common
->
pdsch_ConfigCommon
->
choice
.
setup
->
pdsch_TimeDomainAllocationList
->
list
,
pdschi
);
}
#pragma endregion bwp_common
if
(
!
servingcellconfigdedicated
)
{
bwp
->
bwp_Dedicated
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
));
}
#pragma region bwp-downlink-Dedicated
bwp
->
bwp_Dedicated
->
pdcch_Config
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
->
pdcch_Config
));
bwp
->
bwp_Dedicated
->
pdcch_Config
->
present
=
NR_SetupRelease_PDCCH_Config_PR_setup
;
...
...
@@ -773,12 +761,11 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
if
(
!
servingcellconfigdedicated
)
{
ASN_SEQUENCE_ADD
(
&
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
downlinkBWP_ToAddModList
->
list
,
bwp
);
}
#pragma endregion bwp-downlink-Dedicated
//Abhi : FIX ME!
//
secondaryCellGroup->spCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id=calloc(1,sizeof(*secondaryCellGroup->spCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id));
//*secondaryCellGroup->spCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id=1; //Abhi: this has to be removed
if
(
!
servingcellconfigdedicated
)
{
//TODO : check if code goes here
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
firstActiveDownlinkBWP_Id
=
calloc
(
1
,
sizeof
(
*
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
firstActiveDownlinkBWP_Id
));
*
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
firstActiveDownlinkBWP_Id
=
1
;
}
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
bwp_InactivityTimer
=
NULL
;
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
defaultDownlinkBWP_Id
=
NULL
;
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
defaultDownlinkBWP_Id
=
calloc
(
1
,
sizeof
(
*
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
defaultDownlinkBWP_Id
));
...
...
@@ -788,7 +775,6 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
=
calloc
(
1
,
sizeof
(
*
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
));
}
#pragma region bwp-uplink
NR_BWP_UplinkDedicated_t
*
initialUplinkBWP
=
calloc
(
1
,
sizeof
(
*
initialUplinkBWP
));
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
=
initialUplinkBWP
;
initialUplinkBWP
->
pucch_Config
=
NULL
;
...
...
@@ -801,7 +787,6 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
pusch_Config
=
calloc
(
1
,
sizeof
(
*
pusch_Config
));
}
#pragma region pusch-config-ubwp-dedicated
initialUplinkBWP
->
pusch_Config
->
choice
.
setup
=
pusch_Config
;
pusch_Config
->
txConfig
=
calloc
(
1
,
sizeof
(
*
pusch_Config
->
txConfig
));
*
pusch_Config
->
txConfig
=
NR_PUSCH_Config__txConfig_codebook
;
...
...
@@ -895,7 +880,6 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
}
/*----------------------------------------------------------------------------------------------------------------------------*/
#pragma endregion PUSCH-Config-ubwp-dedicated
initialUplinkBWP
->
srs_Config
=
calloc
(
1
,
sizeof
(
*
initialUplinkBWP
->
srs_Config
));
initialUplinkBWP
->
srs_Config
->
present
=
NR_SetupRelease_SRS_Config_PR_setup
;
...
...
@@ -903,7 +887,6 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
initialUplinkBWP
->
srs_Config
->
choice
.
setup
=
srs_Config
;
srs_Config
->
srs_ResourceSetToReleaseList
=
NULL
;
#pragma region srs_Config-ubwp-dedicated
srs_Config
->
srs_ResourceSetToAddModList
=
calloc
(
1
,
sizeof
(
*
srs_Config
->
srs_ResourceSetToAddModList
));
NR_SRS_ResourceSet_t
*
srs_resset0
=
calloc
(
1
,
sizeof
(
*
srs_resset0
));
srs_resset0
->
srs_ResourceSetId
=
0
;
...
...
@@ -955,7 +938,6 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
srs_res0
->
spatialRelationInfo
->
referenceSignal
.
choice
.
csi_RS_Index
=
0
;
ASN_SEQUENCE_ADD
(
&
srs_Config
->
srs_ResourceToAddModList
->
list
,
srs_res0
);
#pragma endregion srs_config
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
uplinkBWP_ToReleaseList
=
NULL
;
NR_BWP_Uplink_t
*
ubwp
=
NULL
;
...
...
@@ -981,7 +963,6 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
ubwp
->
bwp_Dedicated
=
calloc
(
1
,
sizeof
(
*
ubwp
->
bwp_Dedicated
));
}
#pragma region bwp-uplink-Dedicated
ubwp
->
bwp_Dedicated
->
pucch_Config
=
calloc
(
1
,
sizeof
(
*
ubwp
->
bwp_Dedicated
->
pucch_Config
));
ubwp
->
bwp_Dedicated
->
pucch_Config
->
present
=
NR_SetupRelease_PUCCH_Config_PR_setup
;
...
...
@@ -1110,16 +1091,16 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
ubwp
->
bwp_Dedicated
->
srs_Config
->
choice
.
setup
=
srs_Config
;
ubwp
->
bwp_Dedicated
->
beamFailureRecoveryConfig
=
NULL
;
#pragma endregion bwp-uplink-Dedicated
if
(
!
servingcellconfigdedicated
)
{
ASN_SEQUENCE_ADD
(
&
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
,
ubwp
);
}
#pragma endregion bwp-uplink-Config
}
//secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->firstActiveUplinkBWP_Id = calloc(1,sizeof(*secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->firstActiveUplinkBWP_Id));
//*secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->firstActiveUplinkBWP_Id = 1;
if
(
!
servingcellconfigdedicated
)
{
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
firstActiveUplinkBWP_Id
=
calloc
(
1
,
sizeof
(
*
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
firstActiveUplinkBWP_Id
));
*
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
firstActiveUplinkBWP_Id
=
1
;
}
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
pusch_ServingCellConfig
=
calloc
(
1
,
sizeof
(
*
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
pusch_ServingCellConfig
));
NR_PUSCH_ServingCellConfig_t
*
pusch_scc
=
calloc
(
1
,
sizeof
(
*
pusch_scc
));
secondaryCellGroup
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
pusch_ServingCellConfig
->
present
=
NR_SetupRelease_PUSCH_ServingCellConfig_PR_setup
;
...
...
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.SCD.conf
0 → 100644
View file @
4f9aaa92
Active_gNBs
= (
"gNB-Eurecom-5GNRBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
gNBs
=
(
{
//////////
Identification
parameters
:
gNB_ID
=
0
xe00
;
cell_type
=
"CELL_MACRO_GNB"
;
gNB_name
=
"gNB-Eurecom-5GNRBox"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ({
mcc
=
208
;
mnc
=
93
;
mnc_length
=
2
;});
tr_s_preference
=
"local_mac"
//////////
Physical
parameters
:
ssb_SubcarrierOffset
=
0
;
pdsch_AntennaPorts
=
1
;
pusch_AntennaPorts
=
1
;
servingCellConfigCommon
= (
{
#spCellConfigCommon
physCellId
=
0
;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP), points to Subcarrier 0 of RB#10 of SSB block
absoluteFrequencySSB
=
641032
;
dl_frequencyBand
=
78
;
# this is 3600 MHz
dl_absoluteFrequencyPointA
=
640000
;
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing
=
1
;
dl_carrierBandwidth
=
106
;
#initialDownlinkBWP
#genericParameters
# this is RBstart=33 (Start RB of SSB block),L=24 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth
=
6358
;
#6368;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing
=
1
;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero
=
0
;
#12;
initialDLBWPsearchSpaceZero
=
0
;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0
=
0
;
# used for (full) DL slot
initialDLBWPmappingType_0
=
0
;
# 0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0
=
40
;
# this is SS=1,L=13
initialDLBWPk0_1
=
0
;
# used for DL part mixed slot
initialDLBWPmappingType_1
=
0
;
initialDLBWPstartSymbolAndLength_1
=
57
;
# this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand
=
78
;
#scs-SpecificCarrierList
ul_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing
=
1
;
ul_carrierBandwidth
=
106
;
pMax
=
20
;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth
=
6358
;
#6368;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex
=
98
;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
13
;
preambleReceivedTargetPower
= -
118
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep
=
1
;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow
=
4
;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
4
;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
15
;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer
=
7
;
rsrp_ThresholdSSB
=
19
;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR
=
2
;
prach_RootSequenceIndex
=
1
;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing
=
1
,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig
=
0
,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0
=
6
;
# used for (full) UL slot
initialULBWPmappingType_0
=
1
initialULBWPstartSymbolAndLength_0
=
41
;
# this is SS=0 L=13
initialULBWPk2_1
=
6
;
# used for UL part mixed slot
initialULBWPmappingType_1
=
1
;
initialULBWPstartSymbolAndLength_1
=
69
;
# this is SS=10 L=2
initialULBWPk2_2
=
7
;
# used for Msg.3 during RA
initialULBWPmappingType_2
=
1
;
initialULBWPstartSymbolAndLength_2
=
52
;
# this is SS=10 L=4
msg3_DeltaPreamble
=
1
;
p0_NominalWithGrant
=-
90
;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping
=
0
;
hoppingId
=
40
;
p0_nominal
= -
90
;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR
=
2
;
ssb_PositionsInBurst_Bitmap
=
0
x1
;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell
=
2
;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing
=
1
;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing
=
1
;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity
=
6
;
nrofDownlinkSlots
=
7
;
nrofDownlinkSymbols
=
6
;
nrofUplinkSlots
=
2
;
nrofUplinkSymbols
=
4
;
ssPBCH_BlockPower
= -
25
;
}
);
# Dedicated Serving Cell Configuration
servingCellConfigDedicated
= (
{
# BWP-Downlink
# BWP 1 Configuration
bwp
-
Id_1
=
1
;
bwp1_locationAndBandwidth
=
28908
; //
RBstart
=
33
,
L
=
106
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
bwp1_subcarrierSpacing
=
1
;
# BWP 2 Configuration
bwp
-
Id_2
=
2
;
bwp2_locationAndBandwidth
=
28908
; //
RBstart
=
33
,
L
=
106
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
bwp2_subcarrierSpacing
=
1
;
# BWP 3 Configuration
bwp
-
Id_3
=
3
;
bwp3_locationAndBandwidth
=
28908
; //
RBstart
=
33
,
L
=
106
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
bwp3_subcarrierSpacing
=
1
;
# BWP 4 Configuration
bwp
-
Id_4
=
4
;
bwp4_locationAndBandwidth
=
28908
; //
RBstart
=
33
,
L
=
106
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
bwp4_subcarrierSpacing
=
1
;
firstActiveDownlinkBWP
-
Id
=
2
;
#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 }
defaultDownlinkBWP
-
Id
=
1
;
#BWP-Id
# UplinkConfig
firstActiveUplinkBWP
-
Id
=
2
;
#BWP-Id
#BWP-Uplink
}
);
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"192.168.12.26"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
GNB_INTERFACE_NAME_FOR_S1_MME
=
"eth0"
;
GNB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.12.111/24"
;
GNB_INTERFACE_NAME_FOR_S1U
=
"eth0"
;
GNB_IPV4_ADDRESS_FOR_S1U
=
"192.168.12.111/24"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
pusch_proc_threads
=
8
;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
0
att_rx
=
0
;
bands
= [
7
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
50
;
eNB_instances
= [
0
];
## beamforming 1x2 matrix: 1 layer x 2 antennas
#bf_weights = [0x00007fff, 0x00007fff];
## beamforming 1x4 matrix: 1 layer x 4 antennas
#bf_weights = [0x00007fff, 0x0000,0x0000, 0x0000];
## beamforming 2x2 matrix:
#bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sdr_addrs
=
"addr=192.168.10.2,mgmt_addr=192.168.10.2,second_addr=192.168.20.2"
;
clock_src
=
"external"
;
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
:
{
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"medium"
;
phy_log_level
=
"info"
;
phy_log_verbosity
=
"medium"
;
mac_log_level
=
"info"
;
mac_log_verbosity
=
"high"
;
rlc_log_level
=
"info"
;
rlc_log_verbosity
=
"medium"
;
pdcp_log_level
=
"info"
;
pdcp_log_verbosity
=
"medium"
;
rrc_log_level
=
"info"
;
rrc_log_verbosity
=
"medium"
;
};
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
View file @
4f9aaa92
...
...
@@ -175,57 +175,6 @@ gNBs =
);
# Dedicated Serving Cell Configuration
servingCellConfigDedicated
= (
{
# BWP-Downlink
# DL PTRS related parameters.
# 3GPP TS 38.331 PTRS-DownlinkConfig
# BWP 1 Configuration
bwp
-
Id_0
=
1
;
locationAndBandwidth_0
=
1234
; //
TODO
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing_0
=
1
;
# BWP 2 Configuration
bwp
-
Id_1
=
1
;
locationAndBandwidth_1
=
1234
; //
TODO
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing_1
=
1
;
firstActiveDownlinkBWP
-
Id
=
2
;
#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 }
defaultDownlinkBWP
-
Id
=
1
;
#BWP-Id
# UplinkConfig
firstActiveUplinkBWP
-
Id
=
2
;
#BWP-Id
#BWP-Uplink
# UL PTRS related parameters.
# 3GPP TS 38.331 PTRS-UplinkConfig
# frequencyDensity value range: 1-276
# ptrs-Power
# 0 = p00, 1 = p01, 2 = p10, 3 = p11
#ul_ptrsPower_0 = 0;
}
);
# ------- SCTP definitions
SCTP
:
...
...
This diff is collapsed.
Click to expand it.
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