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
Michael Black
OpenXG-RAN
Commits
4d689e80
Commit
4d689e80
authored
Dec 10, 2021
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
another attempt to fix phy simulators
parent
d93cc63a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
89 additions
and
89 deletions
+89
-89
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+1
-1
openair1/SIMULATION/NR_PHY/nr_unitary_defs.h
openair1/SIMULATION/NR_PHY/nr_unitary_defs.h
+1
-87
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+1
-1
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+86
-0
No files found.
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
4d689e80
...
...
@@ -762,7 +762,7 @@ int main(int argc, char **argv)
NR_CellGroupConfig_t
*
secondaryCellGroup
=
calloc
(
1
,
sizeof
(
*
secondaryCellGroup
));
prepare_scc
(
rrc
.
carrier
.
servingcellconfigcommon
);
uint64_t
ssb_bitmap
=
1
;
fill_scc
(
rrc
.
carrier
.
servingcellconfigcommon
,
&
ssb_bitmap
,
N_RB_DL
,
N_RB_DL
,
mu
,
mu
);
fill_scc
_sim
(
rrc
.
carrier
.
servingcellconfigcommon
,
&
ssb_bitmap
,
N_RB_DL
,
N_RB_DL
,
mu
,
mu
);
ssb_bitmap
=
1
;
// Enable only first SSB with index ssb_indx=0
fix_scc
(
scc
,
ssb_bitmap
);
...
...
openair1/SIMULATION/NR_PHY/nr_unitary_defs.h
View file @
4d689e80
...
...
@@ -59,93 +59,7 @@ int oai_nfapi_rach_ind(nfapi_rach_indication_t *rach_ind) {return(0);}
//NR_IF_Module_t *NR_IF_Module_init(int Mod_id){return(NULL);}
int
oai_nfapi_ul_config_req
(
nfapi_ul_config_request_t
*
ul_config_req
)
{
return
(
0
);
}
void
fill_scc
(
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->n_TimingAdvanceOffset=NR_ServingCellConfigCommon__n_TimingAdvanceOffset_n0;
*
scc
->
ssb_periodicityServingCell
=
NR_ServingCellConfigCommon__ssb_periodicityServingCell_ms20
;
scc
->
dmrs_TypeA_Position
=
NR_ServingCellConfigCommon__dmrs_TypeA_Position_pos2
;
*
scc
->
ssbSubcarrierSpacing
=
NR_SubcarrierSpacing_kHz30
;
*
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
absoluteFrequencySSB
=
641032
;
*
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
frequencyBandList
.
list
.
array
[
0
]
=
78
;
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
absoluteFrequencyPointA
=
640000
;
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
offsetToCarrier
=
0
;
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
subcarrierSpacing
=
NR_SubcarrierSpacing_kHz30
;
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
=
N_RB_DL
;
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
.
locationAndBandwidth
=
13036
;
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
.
subcarrierSpacing
=
mu_dl
;
//NR_SubcarrierSpacing_kHz30;
*
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdcch_ConfigCommon
->
choice
.
setup
->
controlResourceSetZero
=
12
;
*
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdcch_ConfigCommon
->
choice
.
setup
->
searchSpaceZero
=
0
;
struct
NR_PDSCH_TimeDomainResourceAllocation
*
timedomainresourceallocation0
=
CALLOC
(
1
,
sizeof
(
NR_PDSCH_TimeDomainResourceAllocation_t
));
timedomainresourceallocation0
->
mappingType
=
NR_PDSCH_TimeDomainResourceAllocation__mappingType_typeA
;
timedomainresourceallocation0
->
startSymbolAndLength
=
40
;
ASN_SEQUENCE_ADD
(
&
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdsch_ConfigCommon
->
choice
.
setup
->
pdsch_TimeDomainAllocationList
->
list
,
timedomainresourceallocation0
);
struct
NR_PDSCH_TimeDomainResourceAllocation
*
timedomainresourceallocation1
=
CALLOC
(
1
,
sizeof
(
NR_PDSCH_TimeDomainResourceAllocation_t
));
timedomainresourceallocation1
->
mappingType
=
NR_PDSCH_TimeDomainResourceAllocation__mappingType_typeA
;
timedomainresourceallocation1
->
startSymbolAndLength
=
57
;
ASN_SEQUENCE_ADD
(
&
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdsch_ConfigCommon
->
choice
.
setup
->
pdsch_TimeDomainAllocationList
->
list
,
timedomainresourceallocation1
);
*
scc
->
uplinkConfigCommon
->
frequencyInfoUL
->
frequencyBandList
->
list
.
array
[
0
]
=
78
;
*
scc
->
uplinkConfigCommon
->
frequencyInfoUL
->
absoluteFrequencyPointA
=-
1
;
scc
->
uplinkConfigCommon
->
frequencyInfoUL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
offsetToCarrier
=
0
;
scc
->
uplinkConfigCommon
->
frequencyInfoUL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
subcarrierSpacing
=
NR_SubcarrierSpacing_kHz30
;
scc
->
uplinkConfigCommon
->
frequencyInfoUL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
=
N_RB_UL
;
*
scc
->
uplinkConfigCommon
->
frequencyInfoUL
->
p_Max
=
20
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
.
locationAndBandwidth
=
13036
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
.
subcarrierSpacing
=
mu_ul
;
//NR_SubcarrierSpacing_kHz30;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
prach_ConfigurationIndex
=
98
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
msg1_FDM
=
NR_RACH_ConfigGeneric__msg1_FDM_one
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
msg1_FrequencyStart
=
0
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
zeroCorrelationZoneConfig
=
13
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
preambleReceivedTargetPower
=-
118
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
preambleTransMax
=
NR_RACH_ConfigGeneric__preambleTransMax_n10
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
powerRampingStep
=
NR_RACH_ConfigGeneric__powerRampingStep_dB2
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
ra_ResponseWindow
=
NR_RACH_ConfigGeneric__ra_ResponseWindow_sl20
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
->
present
=
NR_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_one
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
->
choice
.
one
=
NR_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n64
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
ra_ContentionResolutionTimer
=
NR_RACH_ConfigCommon__ra_ContentionResolutionTimer_sf64
;
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rsrp_ThresholdSSB
=
19
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
prach_RootSequenceIndex
.
present
=
NR_RACH_ConfigCommon__prach_RootSequenceIndex_PR_l139
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
prach_RootSequenceIndex
.
choice
.
l139
=
0
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
restrictedSetConfig
=
NR_RACH_ConfigCommon__restrictedSetConfig_unrestrictedSet
;
struct
NR_PUSCH_TimeDomainResourceAllocation
*
pusch_timedomainresourceallocation0
=
CALLOC
(
1
,
sizeof
(
struct
NR_PUSCH_TimeDomainResourceAllocation
));
pusch_timedomainresourceallocation0
->
k2
=
CALLOC
(
1
,
sizeof
(
long
));
*
pusch_timedomainresourceallocation0
->
k2
=
6
;
pusch_timedomainresourceallocation0
->
mappingType
=
NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB
;
pusch_timedomainresourceallocation0
->
startSymbolAndLength
=
55
;
ASN_SEQUENCE_ADD
(
&
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
pusch_TimeDomainAllocationList
->
list
,
pusch_timedomainresourceallocation0
);
struct
NR_PUSCH_TimeDomainResourceAllocation
*
pusch_timedomainresourceallocation1
=
CALLOC
(
1
,
sizeof
(
struct
NR_PUSCH_TimeDomainResourceAllocation
));
pusch_timedomainresourceallocation1
->
k2
=
CALLOC
(
1
,
sizeof
(
long
));
*
pusch_timedomainresourceallocation1
->
k2
=
6
;
pusch_timedomainresourceallocation1
->
mappingType
=
NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB
;
pusch_timedomainresourceallocation1
->
startSymbolAndLength
=
38
;
ASN_SEQUENCE_ADD
(
&
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
pusch_TimeDomainAllocationList
->
list
,
pusch_timedomainresourceallocation1
);
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
msg3_DeltaPreamble
=
1
;
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
p0_NominalWithGrant
=-
90
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pucch_ConfigCommon
->
choice
.
setup
->
pucch_GroupHopping
=
NR_PUCCH_ConfigCommon__pucch_GroupHopping_neither
;
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pucch_ConfigCommon
->
choice
.
setup
->
hoppingId
=
40
;
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pucch_ConfigCommon
->
choice
.
setup
->
p0_nominal
=-
90
;
scc
->
ssb_PositionsInBurst
->
present
=
NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap
;
*
ssb_bitmap
=
0xff
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
referenceSubcarrierSpacing
=
NR_SubcarrierSpacing_kHz30
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern1
.
dl_UL_TransmissionPeriodicity
=
NR_TDD_UL_DL_Pattern__dl_UL_TransmissionPeriodicity_ms5
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern1
.
nrofDownlinkSlots
=
7
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern1
.
nrofDownlinkSymbols
=
6
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern1
.
nrofUplinkSlots
=
2
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern1
.
nrofUplinkSymbols
=
4
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern2
->
dl_UL_TransmissionPeriodicity
=
321
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern2
->
nrofDownlinkSlots
=-
1
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern2
->
nrofDownlinkSymbols
=-
1
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern2
->
nrofUplinkSlots
=-
1
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern2
->
nrofUplinkSymbols
=-
1
;
scc
->
ss_PBCH_BlockPower
=
20
;
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
msg1_SubcarrierSpacing
=-
1
;
}
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
);
void
fix_scc
(
NR_ServingCellConfigCommon_t
*
scc
,
uint64_t
ssbmap
);
void
prepare_scc
(
NR_ServingCellConfigCommon_t
*
scc
);
void
prepare_scd
(
NR_ServingCellConfig_t
*
scd
);
...
...
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
4d689e80
...
...
@@ -707,7 +707,7 @@ int main(int argc, char **argv)
NR_CellGroupConfig_t
*
secondaryCellGroup
=
calloc
(
1
,
sizeof
(
*
secondaryCellGroup
));
prepare_scc
(
rrc
.
carrier
.
servingcellconfigcommon
);
uint64_t
ssb_bitmap
;
fill_scc
(
rrc
.
carrier
.
servingcellconfigcommon
,
&
ssb_bitmap
,
N_RB_DL
,
N_RB_DL
,
mu
,
mu
);
fill_scc
_sim
(
rrc
.
carrier
.
servingcellconfigcommon
,
&
ssb_bitmap
,
N_RB_DL
,
N_RB_DL
,
mu
,
mu
);
fix_scc
(
scc
,
ssb_bitmap
);
...
...
openair2/GNB_APP/gnb_config.c
View file @
4d689e80
...
...
@@ -207,6 +207,92 @@ void prepare_scc(NR_ServingCellConfigCommon_t *scc) {
}
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->n_TimingAdvanceOffset=NR_ServingCellConfigCommon__n_TimingAdvanceOffset_n0;
*
scc
->
ssb_periodicityServingCell
=
NR_ServingCellConfigCommon__ssb_periodicityServingCell_ms20
;
scc
->
dmrs_TypeA_Position
=
NR_ServingCellConfigCommon__dmrs_TypeA_Position_pos2
;
*
scc
->
ssbSubcarrierSpacing
=
NR_SubcarrierSpacing_kHz30
;
*
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
absoluteFrequencySSB
=
641032
;
*
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
frequencyBandList
.
list
.
array
[
0
]
=
78
;
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
absoluteFrequencyPointA
=
640000
;
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
offsetToCarrier
=
0
;
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
subcarrierSpacing
=
NR_SubcarrierSpacing_kHz30
;
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
=
N_RB_DL
;
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
.
locationAndBandwidth
=
13036
;
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
.
subcarrierSpacing
=
mu_dl
;
//NR_SubcarrierSpacing_kHz30;
*
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdcch_ConfigCommon
->
choice
.
setup
->
controlResourceSetZero
=
12
;
*
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdcch_ConfigCommon
->
choice
.
setup
->
searchSpaceZero
=
0
;
struct
NR_PDSCH_TimeDomainResourceAllocation
*
timedomainresourceallocation0
=
CALLOC
(
1
,
sizeof
(
NR_PDSCH_TimeDomainResourceAllocation_t
));
timedomainresourceallocation0
->
mappingType
=
NR_PDSCH_TimeDomainResourceAllocation__mappingType_typeA
;
timedomainresourceallocation0
->
startSymbolAndLength
=
40
;
ASN_SEQUENCE_ADD
(
&
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdsch_ConfigCommon
->
choice
.
setup
->
pdsch_TimeDomainAllocationList
->
list
,
timedomainresourceallocation0
);
struct
NR_PDSCH_TimeDomainResourceAllocation
*
timedomainresourceallocation1
=
CALLOC
(
1
,
sizeof
(
NR_PDSCH_TimeDomainResourceAllocation_t
));
timedomainresourceallocation1
->
mappingType
=
NR_PDSCH_TimeDomainResourceAllocation__mappingType_typeA
;
timedomainresourceallocation1
->
startSymbolAndLength
=
57
;
ASN_SEQUENCE_ADD
(
&
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdsch_ConfigCommon
->
choice
.
setup
->
pdsch_TimeDomainAllocationList
->
list
,
timedomainresourceallocation1
);
*
scc
->
uplinkConfigCommon
->
frequencyInfoUL
->
frequencyBandList
->
list
.
array
[
0
]
=
78
;
*
scc
->
uplinkConfigCommon
->
frequencyInfoUL
->
absoluteFrequencyPointA
=-
1
;
scc
->
uplinkConfigCommon
->
frequencyInfoUL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
offsetToCarrier
=
0
;
scc
->
uplinkConfigCommon
->
frequencyInfoUL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
subcarrierSpacing
=
NR_SubcarrierSpacing_kHz30
;
scc
->
uplinkConfigCommon
->
frequencyInfoUL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
carrierBandwidth
=
N_RB_UL
;
*
scc
->
uplinkConfigCommon
->
frequencyInfoUL
->
p_Max
=
20
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
.
locationAndBandwidth
=
13036
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
.
subcarrierSpacing
=
mu_ul
;
//NR_SubcarrierSpacing_kHz30;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
prach_ConfigurationIndex
=
98
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
msg1_FDM
=
NR_RACH_ConfigGeneric__msg1_FDM_one
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
msg1_FrequencyStart
=
0
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
zeroCorrelationZoneConfig
=
13
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
preambleReceivedTargetPower
=-
118
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
preambleTransMax
=
NR_RACH_ConfigGeneric__preambleTransMax_n10
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
powerRampingStep
=
NR_RACH_ConfigGeneric__powerRampingStep_dB2
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
ra_ResponseWindow
=
NR_RACH_ConfigGeneric__ra_ResponseWindow_sl20
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
->
present
=
NR_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR_one
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
->
choice
.
one
=
NR_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n64
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
ra_ContentionResolutionTimer
=
NR_RACH_ConfigCommon__ra_ContentionResolutionTimer_sf64
;
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rsrp_ThresholdSSB
=
19
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
prach_RootSequenceIndex
.
present
=
NR_RACH_ConfigCommon__prach_RootSequenceIndex_PR_l139
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
prach_RootSequenceIndex
.
choice
.
l139
=
0
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
restrictedSetConfig
=
NR_RACH_ConfigCommon__restrictedSetConfig_unrestrictedSet
;
struct
NR_PUSCH_TimeDomainResourceAllocation
*
pusch_timedomainresourceallocation0
=
CALLOC
(
1
,
sizeof
(
struct
NR_PUSCH_TimeDomainResourceAllocation
));
pusch_timedomainresourceallocation0
->
k2
=
CALLOC
(
1
,
sizeof
(
long
));
*
pusch_timedomainresourceallocation0
->
k2
=
6
;
pusch_timedomainresourceallocation0
->
mappingType
=
NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB
;
pusch_timedomainresourceallocation0
->
startSymbolAndLength
=
55
;
ASN_SEQUENCE_ADD
(
&
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
pusch_TimeDomainAllocationList
->
list
,
pusch_timedomainresourceallocation0
);
struct
NR_PUSCH_TimeDomainResourceAllocation
*
pusch_timedomainresourceallocation1
=
CALLOC
(
1
,
sizeof
(
struct
NR_PUSCH_TimeDomainResourceAllocation
));
pusch_timedomainresourceallocation1
->
k2
=
CALLOC
(
1
,
sizeof
(
long
));
*
pusch_timedomainresourceallocation1
->
k2
=
6
;
pusch_timedomainresourceallocation1
->
mappingType
=
NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB
;
pusch_timedomainresourceallocation1
->
startSymbolAndLength
=
38
;
ASN_SEQUENCE_ADD
(
&
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
pusch_TimeDomainAllocationList
->
list
,
pusch_timedomainresourceallocation1
);
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
msg3_DeltaPreamble
=
1
;
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
p0_NominalWithGrant
=-
90
;
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pucch_ConfigCommon
->
choice
.
setup
->
pucch_GroupHopping
=
NR_PUCCH_ConfigCommon__pucch_GroupHopping_neither
;
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pucch_ConfigCommon
->
choice
.
setup
->
hoppingId
=
40
;
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pucch_ConfigCommon
->
choice
.
setup
->
p0_nominal
=-
90
;
scc
->
ssb_PositionsInBurst
->
present
=
NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap
;
*
ssb_bitmap
=
0xff
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
referenceSubcarrierSpacing
=
NR_SubcarrierSpacing_kHz30
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern1
.
dl_UL_TransmissionPeriodicity
=
NR_TDD_UL_DL_Pattern__dl_UL_TransmissionPeriodicity_ms5
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern1
.
nrofDownlinkSlots
=
7
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern1
.
nrofDownlinkSymbols
=
6
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern1
.
nrofUplinkSlots
=
2
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern1
.
nrofUplinkSymbols
=
4
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern2
->
dl_UL_TransmissionPeriodicity
=
321
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern2
->
nrofDownlinkSlots
=-
1
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern2
->
nrofDownlinkSymbols
=-
1
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern2
->
nrofUplinkSlots
=-
1
;
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern2
->
nrofUplinkSymbols
=-
1
;
scc
->
ss_PBCH_BlockPower
=
20
;
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
msg1_SubcarrierSpacing
=-
1
;
}
void
fix_scc
(
NR_ServingCellConfigCommon_t
*
scc
,
uint64_t
ssbmap
)
{
...
...
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