Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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 UE
Commits
2bca0e9d
Commit
2bca0e9d
authored
Dec 16, 2020
by
cig
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Configuration of msg3_deltaPreamble @ UE
- according to clause 7.1.1. of TS 38.213
parent
898c3e53
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
7 additions
and
8 deletions
+7
-8
openair1/SIMULATION/NR_PHY/nr_dummy_functions_prach.c
openair1/SIMULATION/NR_PHY/nr_dummy_functions_prach.c
+0
-3
openair2/LAYER2/NR_MAC_UE/mac_defs.h
openair2/LAYER2/NR_MAC_UE/mac_defs.h
+0
-2
openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
+7
-3
No files found.
openair1/SIMULATION/NR_PHY/nr_dummy_functions_prach.c
View file @
2bca0e9d
...
@@ -205,9 +205,6 @@ void nr_get_prach_resources(module_id_t mod_id,
...
@@ -205,9 +205,6 @@ void nr_get_prach_resources(module_id_t mod_id,
AssertFatal
(
1
==
0
,
"Unknown messagePowerOffsetGroupB %lu
\n
"
,
nr_rach_ConfigCommon
->
groupBconfigured
->
messagePowerOffsetGroupB
);
AssertFatal
(
1
==
0
,
"Unknown messagePowerOffsetGroupB %lu
\n
"
,
nr_rach_ConfigCommon
->
groupBconfigured
->
messagePowerOffsetGroupB
);
}
}
// todo Msg3-DeltaPreamble should be provided from higher layers, otherwise is 0
mac
->
deltaPreamble_Msg3
=
0
;
deltaPreamble_Msg3
=
mac
->
deltaPreamble_Msg3
;
}
}
PLThreshold
=
prach_resources
->
RA_PCMAX
-
nr_rach_ConfigCommon
->
rach_ConfigGeneric
.
preambleReceivedTargetPower
-
deltaPreamble_Msg3
-
messagePowerOffsetGroupB
;
PLThreshold
=
prach_resources
->
RA_PCMAX
-
nr_rach_ConfigCommon
->
rach_ConfigGeneric
.
preambleReceivedTargetPower
-
deltaPreamble_Msg3
-
messagePowerOffsetGroupB
;
...
...
openair2/LAYER2/NR_MAC_UE/mac_defs.h
View file @
2bca0e9d
...
@@ -244,8 +244,6 @@ typedef struct {
...
@@ -244,8 +244,6 @@ typedef struct {
uint8_t
RA_contention_resolution_timer_active
;
uint8_t
RA_contention_resolution_timer_active
;
/// Random-access Contention Resolution Timer count value
/// Random-access Contention Resolution Timer count value
uint8_t
RA_contention_resolution_cnt
;
uint8_t
RA_contention_resolution_cnt
;
/// Msg3 Delta Preamble
int8_t
deltaPreamble_Msg3
;
/// Received TPC command (in dB) from RAR
/// Received TPC command (in dB) from RAR
int8_t
Msg3_TPC
;
int8_t
Msg3_TPC
;
/// Flag to monitor if matching RAPID was received in RAR
/// Flag to monitor if matching RAPID was received in RAR
...
...
openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
View file @
2bca0e9d
...
@@ -55,7 +55,6 @@ extern int64_t table_6_3_3_2_3_prachConfig_Index [256][9];
...
@@ -55,7 +55,6 @@ extern int64_t table_6_3_3_2_3_prachConfig_Index [256][9];
static
uint8_t
first_Msg3
=
0
;
static
uint8_t
first_Msg3
=
0
;
static
int
starting_preamble_nb
=
0
;
static
int
starting_preamble_nb
=
0
;
static
long
cb_preambles_per_ssb
;
// Nb of preambles per SSB
static
long
cb_preambles_per_ssb
;
// Nb of preambles per SSB
static
int
deltaPreamble_Msg3
=
0
;
static
uint8_t
RA_usedGroupA
;
static
uint8_t
RA_usedGroupA
;
void
nr_get_RA_window
(
NR_UE_MAC_INST_t
*
mac
);
void
nr_get_RA_window
(
NR_UE_MAC_INST_t
*
mac
);
...
@@ -146,6 +145,7 @@ void ra_preambles_config(NR_PRACH_RESOURCES_t *prach_resources, NR_UE_MAC_INST_t
...
@@ -146,6 +145,7 @@ void ra_preambles_config(NR_PRACH_RESOURCES_t *prach_resources, NR_UE_MAC_INST_t
int
sizeOfRA_PreamblesGroupA
=
0
;
int
sizeOfRA_PreamblesGroupA
=
0
;
int
messagePowerOffsetGroupB
=
0
;
int
messagePowerOffsetGroupB
=
0
;
int
PLThreshold
;
int
PLThreshold
;
long
deltaPreamble_Msg3
=
0
;
uint8_t
noGroupB
=
0
;
uint8_t
noGroupB
=
0
;
NR_ServingCellConfigCommon_t
*
scc
=
mac
->
scc
;
NR_ServingCellConfigCommon_t
*
scc
=
mac
->
scc
;
NR_RACH_ConfigCommon_t
*
nr_rach_ConfigCommon
=
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
;
NR_RACH_ConfigCommon_t
*
nr_rach_ConfigCommon
=
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
;
...
@@ -153,6 +153,12 @@ void ra_preambles_config(NR_PRACH_RESOURCES_t *prach_resources, NR_UE_MAC_INST_t
...
@@ -153,6 +153,12 @@ void ra_preambles_config(NR_PRACH_RESOURCES_t *prach_resources, NR_UE_MAC_INST_t
uint8_t
Msg3_size
=
mac
->
RA_Msg3_size
;
uint8_t
Msg3_size
=
mac
->
RA_Msg3_size
;
if
(
prach_resources
->
RA_TYPE
==
RA_4STEP
){
if
(
prach_resources
->
RA_TYPE
==
RA_4STEP
){
if
(
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
msg3_DeltaPreamble
){
deltaPreamble_Msg3
=
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
pusch_ConfigCommon
->
choice
.
setup
->
msg3_DeltaPreamble
;
LOG_D
(
MAC
,
"In %s: deltaPreamble_Msg3 set to %ld
\n
"
,
__FUNCTION__
,
deltaPreamble_Msg3
);
}
if
(
!
nr_rach_ConfigCommon
->
groupBconfigured
)
{
if
(
!
nr_rach_ConfigCommon
->
groupBconfigured
)
{
noGroupB
=
1
;
noGroupB
=
1
;
LOG_D
(
MAC
,
"In %s:%d: preambles group B is not configured...
\n
"
,
__FUNCTION__
,
__LINE__
);
LOG_D
(
MAC
,
"In %s:%d: preambles group B is not configured...
\n
"
,
__FUNCTION__
,
__LINE__
);
...
@@ -324,12 +330,10 @@ void nr_get_prach_resources(module_id_t mod_id,
...
@@ -324,12 +330,10 @@ void nr_get_prach_resources(module_id_t mod_id,
// todo:
// todo:
// - selection of SSB with SS-RSRP above rsrp-ThresholdSSB else select any SSB
// - selection of SSB with SS-RSRP above rsrp-ThresholdSSB else select any SSB
// - determine next available PRACH occasion
// - determine next available PRACH occasion
// - Msg3-DeltaPreamble should be provided from higher layers, otherwise is 0
// rsrp_ThresholdSSB = *nr_rach_ConfigCommon->rsrp_ThresholdSSB;
// rsrp_ThresholdSSB = *nr_rach_ConfigCommon->rsrp_ThresholdSSB;
int16_t
dl_pathloss
=
get_nr_PL
(
mod_id
,
CC_id
,
gNB_id
);
int16_t
dl_pathloss
=
get_nr_PL
(
mod_id
,
CC_id
,
gNB_id
);
ssb_rach_config
(
prach_resources
,
nr_rach_ConfigCommon
,
prach_pdu
);
ssb_rach_config
(
prach_resources
,
nr_rach_ConfigCommon
,
prach_pdu
);
mac
->
deltaPreamble_Msg3
=
deltaPreamble_Msg3
;
ra_preambles_config
(
prach_resources
,
mac
,
dl_pathloss
);
ra_preambles_config
(
prach_resources
,
mac
,
dl_pathloss
);
LOG_D
(
MAC
,
"[RAPROC] - Selected RA preamble index %d for contention-based random access procedure...
\n
"
,
prach_resources
->
ra_PreambleIndex
);
LOG_D
(
MAC
,
"[RAPROC] - Selected RA preamble index %d for contention-based random access procedure...
\n
"
,
prach_resources
->
ra_PreambleIndex
);
...
...
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