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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
a8fa1b0e
Commit
a8fa1b0e
authored
Oct 08, 2023
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/develop-pucch-power' into integration_2023_w40
parents
16e15b33
31341918
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
3 deletions
+10
-3
openair1/PHY/NR_TRANSPORT/pucch_rx.c
openair1/PHY/NR_TRANSPORT/pucch_rx.c
+10
-3
No files found.
openair1/PHY/NR_TRANSPORT/pucch_rx.c
View file @
a8fa1b0e
...
@@ -256,6 +256,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
...
@@ -256,6 +256,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
int32_t
rp
[
frame_parms
->
nb_antennas_rx
][
pucch_pdu
->
nr_of_symbols
][
nb_re_pucch
];
int32_t
rp
[
frame_parms
->
nb_antennas_rx
][
pucch_pdu
->
nr_of_symbols
][
nb_re_pucch
];
memset
(
rp
,
0
,
sizeof
(
rp
));
memset
(
rp
,
0
,
sizeof
(
rp
));
int32_t
*
tmp_rp
=
NULL
;
int32_t
*
tmp_rp
=
NULL
;
int
signal_energy
=
0
;
for
(
int
l
=
0
;
l
<
pucch_pdu
->
nr_of_symbols
;
l
++
)
{
for
(
int
l
=
0
;
l
<
pucch_pdu
->
nr_of_symbols
;
l
++
)
{
uint8_t
l2
=
l
+
pucch_pdu
->
start_symbol_index
;
uint8_t
l2
=
l
+
pucch_pdu
->
start_symbol_index
;
...
@@ -286,9 +287,13 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
...
@@ -286,9 +287,13 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
#endif
#endif
}
}
signal_energy
+=
signal_energy_nodc
((
int32_t
*
)
r
,
nb_re_pucch
);
}
}
}
}
signal_energy
/=
(
pucch_pdu
->
nr_of_symbols
*
frame_parms
->
nb_antennas_rx
);
int
pucch_power_dBtimes10
=
10
*
dB_fixed
(
signal_energy
);
//int32_t no_corr = 0;
//int32_t no_corr = 0;
int
seq_index
=
0
;
int
seq_index
=
0
;
int64_t
temp
;
int64_t
temp
;
...
@@ -377,7 +382,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
...
@@ -377,7 +382,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
int
SNRtimes10
,
sigenergy
=
0
;
int
SNRtimes10
,
sigenergy
=
0
;
for
(
int
aa
=
0
;
aa
<
frame_parms
->
nb_antennas_rx
;
aa
++
)
for
(
int
aa
=
0
;
aa
<
frame_parms
->
nb_antennas_rx
;
aa
++
)
sigenergy
+=
signal_energy_nodc
(
rp
[
aa
][
0
],
12
);
sigenergy
+=
signal_energy_nodc
(
rp
[
aa
][
0
],
12
);
SNRtimes10
=
xrtmag_dBtimes10
-
(
10
*
max_n0
);
SNRtimes10
=
pucch_power_dBtimes10
-
(
10
*
max_n0
);
int
cqi
;
int
cqi
;
if
(
SNRtimes10
<
-
640
)
cqi
=
0
;
if
(
SNRtimes10
<
-
640
)
cqi
=
0
;
else
if
(
SNRtimes10
>
635
)
cqi
=
255
;
else
if
(
SNRtimes10
>
635
)
cqi
=
255
;
...
@@ -421,7 +426,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
...
@@ -421,7 +426,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
uci_pdu
->
harq
.
harq_confidence_level
=
no_conf
;
uci_pdu
->
harq
.
harq_confidence_level
=
no_conf
;
uci_pdu
->
harq
.
harq_list
[
0
].
harq_value
=
!
(
index
&
0x01
);
uci_pdu
->
harq
.
harq_list
[
0
].
harq_value
=
!
(
index
&
0x01
);
LOG_D
(
PHY
,
LOG_D
(
PHY
,
"[DLSCH/PDSCH/PUCCH] %d.%d HARQ %s with confidence level %s xrt_mag %d xrt_mag_next %d n0 %d (%d,%d) pucch0_thres %d, "
"[DLSCH/PDSCH/PUCCH] %d.%d HARQ %s with confidence level %s xrt_mag %d xrt_mag_next %d
pucch_power_dBtimes10 %d
n0 %d (%d,%d) pucch0_thres %d, "
"cqi %d, SNRtimes10 %d, energy %f
\n
"
,
"cqi %d, SNRtimes10 %d, energy %f
\n
"
,
frame
,
frame
,
slot
,
slot
,
...
@@ -429,6 +434,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
...
@@ -429,6 +434,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
uci_pdu
->
harq
.
harq_confidence_level
==
0
?
"good"
:
"bad"
,
uci_pdu
->
harq
.
harq_confidence_level
==
0
?
"good"
:
"bad"
,
xrtmag_dBtimes10
,
xrtmag_dBtimes10
,
xrtmag_next_dBtimes10
,
xrtmag_next_dBtimes10
,
pucch_power_dBtimes10
,
max_n0
,
max_n0
,
uci_stats
->
pucch0_n00
,
uci_stats
->
pucch0_n00
,
uci_stats
->
pucch0_n01
,
uci_stats
->
pucch0_n01
,
...
@@ -454,7 +460,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
...
@@ -454,7 +460,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
uci_pdu
->
harq
.
harq_list
[
1
].
harq_value
=
!
(
index
&
0x01
);
uci_pdu
->
harq
.
harq_list
[
1
].
harq_value
=
!
(
index
&
0x01
);
uci_pdu
->
harq
.
harq_list
[
0
].
harq_value
=
!
((
index
>>
1
)
&
0x01
);
uci_pdu
->
harq
.
harq_list
[
0
].
harq_value
=
!
((
index
>>
1
)
&
0x01
);
LOG_D
(
PHY
,
LOG_D
(
PHY
,
"[DLSCH/PDSCH/PUCCH] %d.%d HARQ values (%s, %s) with confidence level %s, xrt_mag %d xrt_mag_next %d n0 %d (%d,%d) "
"[DLSCH/PDSCH/PUCCH] %d.%d HARQ values (%s, %s) with confidence level %s, xrt_mag %d xrt_mag_next %d
pucch_power_dBtimes10 %d
n0 %d (%d,%d) "
"pucch0_thres %d, cqi %d, SNRtimes10 %d
\n
"
,
"pucch0_thres %d, cqi %d, SNRtimes10 %d
\n
"
,
frame
,
frame
,
slot
,
slot
,
...
@@ -463,6 +469,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
...
@@ -463,6 +469,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
uci_pdu
->
harq
.
harq_confidence_level
==
0
?
"good"
:
"bad"
,
uci_pdu
->
harq
.
harq_confidence_level
==
0
?
"good"
:
"bad"
,
xrtmag_dBtimes10
,
xrtmag_dBtimes10
,
xrtmag_next_dBtimes10
,
xrtmag_next_dBtimes10
,
pucch_power_dBtimes10
,
max_n0
,
max_n0
,
uci_stats
->
pucch0_n00
,
uci_stats
->
pucch0_n00
,
uci_stats
->
pucch0_n01
,
uci_stats
->
pucch0_n01
,
...
...
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