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
lizhongxiao
OpenXG-RAN
Commits
40d24a09
Commit
40d24a09
authored
Jan 12, 2024
by
Jaroslava Fiedlerova
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/NR_UE_BG_at_MAC' into integration_2024_w02
parents
4582a952
7ca13083
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
14 additions
and
9 deletions
+14
-9
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
+2
-0
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
+1
-2
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_coding.c
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_coding.c
+1
-5
openair1/SIMULATION/NR_PHY/dlschsim.c
openair1/SIMULATION/NR_PHY/dlschsim.c
+1
-0
openair1/SIMULATION/NR_PHY/ulschsim.c
openair1/SIMULATION/NR_PHY/ulschsim.c
+1
-0
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+1
-0
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+2
-2
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+4
-0
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+1
-0
No files found.
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
View file @
40d24a09
...
...
@@ -348,6 +348,7 @@ typedef struct
uint8_t
start_symbol_index
;
uint8_t
nr_of_symbols
;
uint32_t
tbslbrm
;
uint8_t
ldpcBaseGraph
;
//Optional Data only included if indicated in pduBitmap
nfapi_nr_ue_pusch_data_t
pusch_data
;
nfapi_nr_ue_pusch_uci_t
pusch_uci
;
...
...
@@ -491,6 +492,7 @@ typedef struct {
uint16_t
dlDmrsScramblingId
;
uint16_t
pduBitmap
;
uint32_t
k1_feedback
;
uint8_t
ldpcBaseGraph
;
}
fapi_nr_dl_config_dlsch_pdu_rel15_t
;
typedef
struct
{
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
View file @
40d24a09
...
...
@@ -44,7 +44,6 @@
#include "executables/nr-uesoftmodem.h"
#include "PHY/CODING/nrLDPC_extern.h"
#include "common/utils/nr/nr_common.h"
#include "openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h"
#include "openair1/PHY/TOOLS/phy_scope_interface.h"
//#define ENABLE_PHY_PAYLOAD_DEBUG 1
...
...
@@ -348,7 +347,7 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
LOG_D
(
PHY
,
"%d.%d DLSCH Decoding, harq_pid %d TBS %d (%d) G %d nb_re_dmrs %d length dmrs %d mcs %d Nl %d nb_symb_sch %d nb_rb %d Qm %d Coderate %f
\n
"
,
frame
,
nr_slot_rx
,
harq_pid
,
A
,
A
/
8
,
G
,
nb_re_dmrs
,
dmrs_length
,
dlsch
->
dlsch_config
.
mcs
,
dlsch
->
Nl
,
nb_symb_sch
,
nb_rb
,
dlsch
->
dlsch_config
.
qamModOrder
,
Coderate
);
decParams
.
BG
=
get_BG
(
A
,
dlsch
->
dlsch_config
.
targetCodeRate
)
;
decParams
.
BG
=
dlsch
->
dlsch_config
.
ldpcBaseGraph
;
unsigned
int
kc
=
decParams
.
BG
==
2
?
52
:
68
;
if
(
harq_process
->
first_rx
==
1
)
{
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_coding.c
View file @
40d24a09
...
...
@@ -122,11 +122,7 @@ int nr_ulsch_encoding(PHY_VARS_NR_UE *ue,
///////////////////////// b---->| block segmentation |---->c /////////////////////////
///////////
if
((
A
<=
292
)
||
((
A
<=
NR_MAX_PDSCH_TBS
)
&&
(
Coderate
<=
0
.
6667
))
||
Coderate
<=
0
.
25
)
{
harq_process
->
BG
=
2
;
}
else
{
harq_process
->
BG
=
1
;
}
harq_process
->
BG
=
ulsch
->
pusch_pdu
.
ldpcBaseGraph
;
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_NR_SEGMENTATION
,
VCD_FUNCTION_IN
);
start_meas
(
&
ue
->
ulsch_segmentation_stats
);
...
...
openair1/SIMULATION/NR_PHY/dlschsim.c
View file @
40d24a09
...
...
@@ -483,6 +483,7 @@ int main(int argc, char **argv)
dlsch0_ue
->
dlsch_config
.
rv
=
rvidx
;
dlsch0_ue
->
dlsch_config
.
targetCodeRate
=
rate
;
dlsch0_ue
->
dlsch_config
.
TBS
=
TBS
;
dlsch0_ue
->
dlsch_config
.
ldpcBaseGraph
=
get_BG
(
TBS
,
rate
);
dlsch0_ue
->
dlsch_config
.
dmrsConfigType
=
NFAPI_NR_DMRS_TYPE1
;
dlsch0_ue
->
dlsch_config
.
dlDmrsSymbPos
=
4
;
dlsch0_ue
->
dlsch_config
.
n_dmrs_cdm_groups
=
1
;
...
...
openair1/SIMULATION/NR_PHY/ulschsim.c
View file @
40d24a09
...
...
@@ -506,6 +506,7 @@ int main(int argc, char **argv)
ulsch_ue
->
pusch_pdu
.
pusch_data
.
tb_size
=
TBS
>>
3
;
ulsch_ue
->
pusch_pdu
.
target_code_rate
=
code_rate
;
ulsch_ue
->
pusch_pdu
.
qam_mod_order
=
mod_order
;
ulsch_ue
->
pusch_pdu
.
ldpcBaseGraph
=
get_BG
(
TBS
,
code_rate
);
unsigned
char
*
test_input
=
harq_process_ul_ue
->
a
;
///////////
...
...
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
40d24a09
...
...
@@ -1116,6 +1116,7 @@ int main(int argc, char *argv[])
pusch_config_pdu
->
absolute_delta_PUSCH
=
0
;
pusch_config_pdu
->
target_code_rate
=
code_rate
;
pusch_config_pdu
->
tbslbrm
=
tbslbrm
;
pusch_config_pdu
->
ldpcBaseGraph
=
get_BG
(
TBS
,
code_rate
);
pusch_config_pdu
->
pusch_data
.
tb_size
=
TBS
/
8
;
pusch_config_pdu
->
pusch_data
.
new_data_indicator
=
round
==
0
?
true
:
false
;
pusch_config_pdu
->
pusch_data
.
rv_index
=
rv_index
;
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
40d24a09
...
...
@@ -4075,8 +4075,8 @@ void csi_period_offset(NR_CSI_ReportConfig_t *csirep,
}
}
uint8_t
get_BG
(
uint32_t
A
,
uint16_t
R
)
{
uint8_t
get_BG
(
uint32_t
A
,
uint16_t
R
)
{
float
code_rate
=
(
float
)
R
/
10240
.
0
f
;
if
((
A
<=
292
)
||
((
A
<=
NR_MAX_PDSCH_TBS
)
&&
(
code_rate
<=
0
.
6667
))
||
code_rate
<=
0
.
25
)
return
2
;
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
40d24a09
...
...
@@ -690,6 +690,8 @@ static int nr_ue_process_dci_dl_10(module_id_t module_id,
dlsch_pdu
->
TBS
=
current_harq
->
TBS
;
}
dlsch_pdu
->
ldpcBaseGraph
=
get_BG
(
dlsch_pdu
->
TBS
,
dlsch_pdu
->
targetCodeRate
);
int
bw_tbslbrm
=
current_DL_BWP
?
mac
->
sc_info
.
dl_bw_tbslbrm
:
dlsch_pdu
->
BWPSize
;
dlsch_pdu
->
tbslbrm
=
nr_compute_tbslbrm
(
dlsch_pdu
->
mcs_table
,
bw_tbslbrm
,
1
);
...
...
@@ -1117,6 +1119,8 @@ static int nr_ue_process_dci_dl_11(module_id_t module_id,
dlsch_pdu
->
TBS
=
current_harq
->
TBS
;
}
dlsch_pdu
->
ldpcBaseGraph
=
get_BG
(
dlsch_pdu
->
TBS
,
dlsch_pdu
->
targetCodeRate
);
// TBS_LBRM according to section 5.4.2.1 of 38.212
AssertFatal
(
sc_info
->
maxMIMO_Layers_PDSCH
!=
NULL
,
"Option with max MIMO layers not configured is not supported
\n
"
);
int
nl_tbslbrm
=
*
sc_info
->
maxMIMO_Layers_PDSCH
<
4
?
*
sc_info
->
maxMIMO_Layers_PDSCH
:
4
;
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
40d24a09
...
...
@@ -739,6 +739,7 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
pusch_config_pdu
->
target_code_rate
=
mac
->
ul_harq_info
[
pid
].
R
;
pusch_config_pdu
->
pusch_data
.
tb_size
=
mac
->
ul_harq_info
[
pid
].
TBS
;
}
pusch_config_pdu
->
ldpcBaseGraph
=
get_BG
(
pusch_config_pdu
->
pusch_data
.
tb_size
<<
3
,
pusch_config_pdu
->
target_code_rate
);
return
0
;
}
...
...
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