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
04c8f736
Commit
04c8f736
authored
Jul 02, 2024
by
Bartosz Podrygajlo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix a bug where PUSCH max TX power was not dependant on number of PUSCH RBs or qm.
parent
cd8f0769
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
76 additions
and
3 deletions
+76
-3
openair2/LAYER2/NR_MAC_UE/nr_ue_power_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_power_procedures.c
+2
-2
openair2/LAYER2/NR_MAC_UE/tests/test_nr_ue_power_procedures.cpp
...r2/LAYER2/NR_MAC_UE/tests/test_nr_ue_power_procedures.cpp
+74
-1
No files found.
openair2/LAYER2/NR_MAC_UE/nr_ue_power_procedures.c
View file @
04c8f736
...
...
@@ -522,12 +522,12 @@ int get_pusch_tx_power_ue(NR_UE_MAC_INST_t *mac,
mac
->
nr_band
,
mac
->
frame_type
,
mac
->
frequency_range
,
2
,
qm
,
false
,
mac
->
current_UL_BWP
->
scs
,
mac
->
current_UL_BWP
->
BWPSize
,
transform_precoding
,
1
,
num_rb
,
start_prb
);
int
P_O_PUSCH
=
P_O_NOMINAL_PUSCH
+
P_O_UE_PUSCH
;
...
...
openair2/LAYER2/NR_MAC_UE/tests/test_nr_ue_power_procedures.cpp
View file @
04c8f736
...
...
@@ -439,7 +439,17 @@ TEST(pusch_power_control, pusch_power_control_state)
current_UL_BWP
.
p0_NominalWithGrant
=
&
p0_NominalWithGrant
;
mac
.
frame_type
=
TDD
;
int
P_CMAX
=
nr_get_Pcmax
(
23
,
mac
.
nr_band
,
mac
.
frame_type
,
FR1
,
Qm
,
false
,
current_UL_BWP
.
scs
,
current_UL_BWP
.
BWPSize
,
transform_precoding
,
num_rb
,
start_prb
);
int
P_CMAX
=
nr_get_Pcmax
(
23
,
mac
.
nr_band
,
mac
.
frame_type
,
FR1
,
Qm
,
false
,
current_UL_BWP
.
scs
,
current_UL_BWP
.
BWPSize
,
transform_precoding
,
num_rb
,
start_prb
);
int
power
=
get_pusch_tx_power_ue
(
&
mac
,
num_rb
,
...
...
@@ -496,6 +506,69 @@ TEST(pusch_power_control, pusch_power_control_state)
}
}
TEST
(
pusch_power_control
,
pusch_power_100_rb
)
{
NR_UE_MAC_INST_t
mac
=
{
0
};
NR_UE_UL_BWP_t
current_UL_BWP
=
{
0
};
current_UL_BWP
.
scs
=
1
;
current_UL_BWP
.
BWPSize
=
106
;
mac
.
current_UL_BWP
=
&
current_UL_BWP
;
NR_RACH_ConfigCommon_t
nr_rach_ConfigCommon
=
{
0
};
current_UL_BWP
.
rach_ConfigCommon
=
&
nr_rach_ConfigCommon
;
mac
.
nr_band
=
78
;
mac
.
f_b_f_c
=
0
;
mac
.
pusch_power_control_initialized
=
true
;
bool
is_rar_tx_retx
=
false
;
int
num_rb
=
5
;
int
start_prb
=
0
;
uint16_t
nb_symb_sch
=
3
;
uint16_t
nb_dmrs_prb
=
6
;
uint16_t
nb_ptrs_prb
=
0
;
uint16_t
Qm
=
2
;
uint16_t
R
=
6790
;
uint16_t
beta_offset_csi1
=
0
;
uint32_t
sum_bits_in_codeblocks
=
192
;
int
delta_pusch
=
1
;
bool
transform_precoding
=
false
;
NR_PUSCH_Config_t
pusch_Config
=
{
0
};
current_UL_BWP
.
pusch_Config
=
&
pusch_Config
;
NR_PUSCH_PowerControl
pusch_PowerControl
=
{
0
};
pusch_Config
.
pusch_PowerControl
=
&
pusch_PowerControl
;
long
p0_NominalWithGrant
=
0
;
current_UL_BWP
.
p0_NominalWithGrant
=
&
p0_NominalWithGrant
;
int
power
=
get_pusch_tx_power_ue
(
&
mac
,
num_rb
,
start_prb
,
nb_symb_sch
,
nb_dmrs_prb
,
nb_ptrs_prb
,
Qm
,
R
,
beta_offset_csi1
,
sum_bits_in_codeblocks
,
delta_pusch
,
is_rar_tx_retx
,
transform_precoding
);
num_rb
=
100
;
sum_bits_in_codeblocks
=
nr_compute_tbs
(
Qm
,
R
,
num_rb
,
nb_symb_sch
,
nb_dmrs_prb
,
0
,
0
,
1
);
int
power_100_prbs
=
get_pusch_tx_power_ue
(
&
mac
,
num_rb
,
start_prb
,
nb_symb_sch
,
nb_dmrs_prb
,
nb_ptrs_prb
,
Qm
,
R
,
beta_offset_csi1
,
sum_bits_in_codeblocks
,
delta_pusch
,
is_rar_tx_retx
,
transform_precoding
);
EXPECT_GT
(
power_100_prbs
,
power
);
}
int
main
(
int
argc
,
char
**
argv
)
{
logInit
();
...
...
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