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
3dbd8b9b
Commit
3dbd8b9b
authored
Sep 27, 2024
by
Jaroslava Fiedlerova
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/PMI_extraction_fix' into integration_2024_w39
parents
d2347a7c
196effa1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
9 deletions
+9
-9
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+9
-9
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
3dbd8b9b
...
...
@@ -675,8 +675,8 @@ static void tci_handling(NR_UE_info_t *UE, frame_t frame, slot_t slot)
static
uint8_t
pickandreverse_bits
(
uint8_t
*
payload
,
uint16_t
bitlen
,
uint8_t
start_bit
)
{
uint8_t
rev_bits
=
0
;
for
(
int
i
=
0
;
i
<
bitlen
;
i
++
)
rev_bits
|=
((
payload
[(
start_bit
+
i
)
/
8
]
>>
((
start_bit
+
i
)
%
8
))
&
0x01
)
<<
(
bitlen
-
i
-
1
);
for
(
int
i
=
0
;
i
<
bitlen
;
i
++
)
rev_bits
|=
((
payload
[(
start_bit
+
i
)
/
8
]
>>
((
start_bit
+
i
)
%
8
))
&
0x01
)
<<
(
bitlen
-
i
-
1
);
return
rev_bits
;
}
...
...
@@ -819,18 +819,18 @@ static uint8_t evaluate_pmi_report(uint8_t *payload,
{
int
x1_bitlen
=
csi_report
->
csi_meas_bitlen
.
pmi_x1_bitlen
[
ri
];
int
x2_bitlen
=
csi_report
->
csi_meas_bitlen
.
pmi_x2_bitlen
[
ri
];
int
tot_bitlen
=
x1_bitlen
+
x2_bitlen
;
//in case of 2 port CSI configuration x1 is empty and the information bits are in x2
int
temp_pmi
=
pickandreverse_bits
(
payload
,
tot_bitlen
,
cumul_bits
);
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
pmi_x1
=
temp_pmi
&
((
1
<<
x1_bitlen
)
-
1
);
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
pmi_x2
=
(
temp_pmi
>>
x1_bitlen
)
&
((
1
<<
x2_bitlen
)
-
1
);
LOG_D
(
MAC
,
"PMI Report: X1 %d X2 %d
\n
"
,
int
starting_bit
=
cumul_bits
;
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
pmi_x1
=
pickandreverse_bits
(
payload
,
x1_bitlen
,
starting_bit
);
starting_bit
+=
x1_bitlen
;
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
pmi_x2
=
pickandreverse_bits
(
payload
,
x2_bitlen
,
starting_bit
);
LOG_D
(
NR_MAC
,
"PMI Report: X1 %d X2 %d
\n
"
,
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
pmi_x1
,
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
pmi_x2
);
return
tot
_bitlen
;
return
x1_bitlen
+
x2
_bitlen
;
}
static
int
evaluate_li_report
(
uint8_t
*
payload
,
...
...
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