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
7264f9e0
Commit
7264f9e0
authored
Jun 28, 2024
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/nr-ue-pusch-power-control' into integration_2024_w26b
parents
5af81bbc
8ea2e77a
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
569 additions
and
88 deletions
+569
-88
common/utils/nr/nr_common.c
common/utils/nr/nr_common.c
+2
-2
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
+1
-0
openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
+1
-0
openair2/LAYER2/NR_MAC_UE/config_ue.c
openair2/LAYER2/NR_MAC_UE/config_ue.c
+5
-0
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/mac_proto.h
+26
-10
openair2/LAYER2/NR_MAC_UE/nr_ue_power_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_power_procedures.c
+234
-63
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+16
-0
openair2/LAYER2/NR_MAC_UE/tests/test_nr_ue_power_procedures.cpp
...r2/LAYER2/NR_MAC_UE/tests/test_nr_ue_power_procedures.cpp
+284
-13
No files found.
common/utils/nr/nr_common.c
View file @
7264f9e0
...
...
@@ -356,8 +356,8 @@ bool compare_relative_ul_channel_bw(int nr_band, int scs, int nb_ul, frame_type_
int
band_size_khz
=
get_supported_bw_mhz
(
nr_band
>
256
?
FR2
:
FR1
,
scs
,
nb_ul
)
*
1000
;
float
limit
=
frame_type
==
TDD
?
0
.
04
:
0
.
03
;
float
rel_bw
=
(
float
)
(
2
*
band_size_khz
)
/
(
float
)
(
nr_bandtable
[
index
].
ul_max
+
nr_bandtable
[
index
].
ul_min
);
return
rel_bw
<=
limit
;
float
rel_bw
=
(
float
)
(
band_size_khz
)
/
(
float
)
(
nr_bandtable
[
index
].
ul_max
-
nr_bandtable
[
index
].
ul_min
);
return
rel_bw
>
limit
;
}
uint16_t
get_band
(
uint64_t
downlink_frequency
,
int32_t
delta_duplex
)
...
...
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
View file @
7264f9e0
...
...
@@ -359,6 +359,7 @@ typedef struct
nfapi_nr_ue_ul_beamforming_t
beamforming
;
//OAI specific
int8_t
absolute_delta_PUSCH
;
int16_t
tx_power
;
fapi_nr_tx_request_body_t
tx_request_body
;
}
nfapi_nr_ue_pusch_pdu_t
;
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
View file @
7264f9e0
...
...
@@ -571,6 +571,7 @@ typedef struct NR_UE_UL_BWP {
uint8_t
mcs_table
;
nr_dci_format_t
dci_format
;
int
max_fb_time
;
long
*
p0_NominalWithGrant
;
}
NR_UE_UL_BWP_t
;
// non-BWP serving cell configuration
...
...
openair2/LAYER2/NR_MAC_UE/config_ue.c
View file @
7264f9e0
...
...
@@ -1409,11 +1409,14 @@ static void configure_common_BWP_ul(NR_UE_MAC_INST_t *mac, int bwp_id, NR_BWP_Up
ul_common
->
pusch_ConfigCommon
->
choice
.
setup
->
pusch_TimeDomainAllocationList
,
NR_PUSCH_TimeDomainResourceAllocationList_t
);
UPDATE_IE
(
bwp
->
msg3_DeltaPreamble
,
ul_common
->
pusch_ConfigCommon
->
choice
.
setup
->
msg3_DeltaPreamble
,
long
);
UPDATE_IE
(
bwp
->
p0_NominalWithGrant
,
ul_common
->
pusch_ConfigCommon
->
choice
.
setup
->
p0_NominalWithGrant
,
long
);
}
if
(
ul_common
->
pusch_ConfigCommon
->
present
==
NR_SetupRelease_PUSCH_ConfigCommon_PR_release
)
{
asn1cFreeStruc
(
asn_DEF_NR_PUSCH_TimeDomainResourceAllocationList
,
bwp
->
tdaList_Common
);
free
(
bwp
->
msg3_DeltaPreamble
);
bwp
->
msg3_DeltaPreamble
=
NULL
;
free
(
bwp
->
p0_NominalWithGrant
);
bwp
->
p0_NominalWithGrant
=
NULL
;
}
}
}
...
...
@@ -2130,6 +2133,8 @@ void release_ul_BWP(NR_UE_MAC_INST_t *mac, int index)
asn1cFreeStruc
(
asn_DEF_NR_SRS_Config
,
bwp
->
srs_Config
);
free
(
bwp
->
msg3_DeltaPreamble
);
bwp
->
msg3_DeltaPreamble
=
NULL
;
free
(
bwp
->
p0_NominalWithGrant
);
bwp
->
p0_NominalWithGrant
=
NULL
;
free
(
bwp
);
}
...
...
openair2/LAYER2/NR_MAC_UE/mac_proto.h
View file @
7264f9e0
...
...
@@ -219,6 +219,20 @@ int16_t get_pucch_tx_power_ue(NR_UE_MAC_INST_t *mac,
int
subframe_number
,
int
O_uci
,
uint16_t
start_prb
);
int
get_pusch_tx_power_ue
(
NR_UE_MAC_INST_t
*
mac
,
int
num_rb
,
int
start_prb
,
uint16_t
nb_symb_sch
,
uint16_t
nb_dmrs_prb
,
uint16_t
nb_ptrs_prb
,
uint16_t
qm
,
uint16_t
R
,
uint16_t
beta_offset_csi1
,
uint32_t
sum_bits_in_codeblocks
,
int
delta_pusch
,
bool
is_rar_tx_retx
,
bool
transform_precoding
);
int
nr_ue_configure_pucch
(
NR_UE_MAC_INST_t
*
mac
,
int
slot
,
...
...
@@ -227,16 +241,18 @@ int nr_ue_configure_pucch(NR_UE_MAC_INST_t *mac,
PUCCH_sched_t
*
pucch
,
fapi_nr_ul_config_pucch_pdu
*
pucch_pdu
);
int
nr_get_Pcmax
(
int
p_Max
,
uint16_t
nr_band
,
frequency_range_t
frequency_range
,
int
Qm
,
bool
powerBoostPi2BPSK
,
int
scs
,
int
N_RB_UL
,
bool
is_transform_precoding
,
int
n_prbs
,
int
start_prb
);
float
nr_get_Pcmax
(
int
p_Max
,
uint16_t
nr_band
,
frequency_range_t
frequency_range
,
int
Qm
,
bool
powerBoostPi2BPSK
,
int
scs
,
int
N_RB_UL
,
bool
is_transform_precoding
,
int
n_prbs
,
int
start_prb
);
float
nr_get_Pcmin
(
int
scs
,
int
nr_band
,
int
N_RB_UL
);
int
get_sum_delta_pucch
(
NR_UE_MAC_INST_t
*
mac
,
int
slot
,
frame_t
frame
);
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_power_procedures.c
View file @
7264f9e0
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
7264f9e0
...
...
@@ -913,6 +913,22 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
pusch_config_pdu
->
pusch_data
.
tb_size
=
mac
->
ul_harq_info
[
pid
].
TBS
;
}
bool
is_rar_tx_retx
=
rnti_type
==
TYPE_TC_RNTI_
;
pusch_config_pdu
->
tx_power
=
get_pusch_tx_power_ue
(
mac
,
pusch_config_pdu
->
rb_size
,
pusch_config_pdu
->
rb_start
,
pusch_config_pdu
->
nr_of_symbols
,
nb_dmrs_re_per_rb
*
number_dmrs_symbols
,
0
,
//TODO: count PTRS per RB
pusch_config_pdu
->
qam_mod_order
,
pusch_config_pdu
->
target_code_rate
,
pusch_config_pdu
->
pusch_uci
.
beta_offset_csi1
,
pusch_config_pdu
->
pusch_data
.
tb_size
<<
3
,
pusch_config_pdu
->
absolute_delta_PUSCH
,
is_rar_tx_retx
,
pusch_config_pdu
->
transform_precoding
);
pusch_config_pdu
->
ldpcBaseGraph
=
get_BG
(
pusch_config_pdu
->
pusch_data
.
tb_size
<<
3
,
pusch_config_pdu
->
target_code_rate
);
//The MAC entity shall restart retxBSR-Timer upon reception of a grant for transmission of new data on any UL-SCH
...
...
openair2/LAYER2/NR_MAC_UE/tests/test_nr_ue_power_procedures.cpp
View file @
7264f9e0
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