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
48cb2510
Commit
48cb2510
authored
Apr 26, 2022
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/NR_SR_fixes' into integration_2022_wk17
parents
5dc87bdc
9327e991
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
11 deletions
+19
-11
openair1/PHY/NR_TRANSPORT/pucch_rx.c
openair1/PHY/NR_TRANSPORT/pucch_rx.c
+14
-5
openair1/PHY/defs_gNB.h
openair1/PHY/defs_gNB.h
+0
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+5
-4
No files found.
openair1/PHY/NR_TRANSPORT/pucch_rx.c
View file @
48cb2510
...
...
@@ -290,7 +290,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
xr
[
aa
][
l
][
n
].
i
=
(
int32_t
)
x_re
[
l
][
n
]
*
r
[
n
].
i
-
(
int32_t
)
x_im
[
l
][
n
]
*
r
[
n
].
r
;
#ifdef DEBUG_NR_PUCCH_RX
printf
(
"x (%d,%d), r%d.%d (%d,%d), xr (%lld,%lld)
\n
"
,
x_re
[
l
][
n
],
x_im
[
l
][
n
],
l2
,
re_offset
[
l
],
r
[
n
].
r
,
r
[
n
].
i
,
xr
[
aa
][
l
][
n
].
r
,
xr
[
aa
][
l
][
n
].
i
);
x_re
[
l
][
n
],
x_im
[
l
][
n
],
l2
,
re_offset
[
l
],
r
[
n
].
r
,
r
[
n
].
i
,
xr
[
aa
][
l
][
n
].
r
,
xr
[
aa
][
l
][
n
].
i
);
#endif
}
}
...
...
@@ -417,11 +417,12 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
if
(
pucch_pdu
->
bit_len_harq
==
0
)
{
uci_pdu
->
harq
=
NULL
;
uci_pdu
->
sr
=
calloc
(
1
,
sizeof
(
*
uci_pdu
->
sr
));
uci_pdu
->
sr
->
sr_confidence_level
=
no_conf
;
uci_pdu
->
sr
->
sr_confidence_level
=
SNRtimes10
<
uci_stats
->
pucch0_thres
;
uci_stats
->
pucch0_sr_trials
++
;
if
(
xrtmag_dBtimes10
>
(
10
*
gNB
->
measurements
.
n0_power_tot_dB
))
{
if
(
xrtmag_dBtimes10
>
(
10
*
max_n0
+
100
))
{
uci_pdu
->
sr
->
sr_indication
=
1
;
uci_stats
->
pucch0_positive_SR
++
;
LOG_D
(
PHY
,
"PUCCH0 got positive SR. Cumulative number of positive SR %d
\n
"
,
uci_stats
->
pucch0_positive_SR
);
}
else
{
uci_pdu
->
sr
->
sr_indication
=
0
;
}
...
...
@@ -442,7 +443,10 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
uci_pdu
->
sr
=
calloc
(
1
,
sizeof
(
*
uci_pdu
->
sr
));
uci_pdu
->
sr
->
sr_indication
=
(
index
>
1
);
uci_pdu
->
sr
->
sr_confidence_level
=
no_conf
;
uci_stats
->
pucch0_positive_SR
++
;
if
(
uci_pdu
->
sr
->
sr_indication
==
1
&&
uci_pdu
->
sr
->
sr_confidence_level
==
0
)
{
uci_stats
->
pucch0_positive_SR
++
;
LOG_D
(
PHY
,
"PUCCH0 got positive SR. Cumulative number of positive SR %d
\n
"
,
uci_stats
->
pucch0_positive_SR
);
}
}
uci_stats
->
pucch01_trials
++
;
}
...
...
@@ -466,6 +470,10 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
uci_pdu
->
sr
=
calloc
(
1
,
sizeof
(
*
uci_pdu
->
sr
));
uci_pdu
->
sr
->
sr_indication
=
(
index
>
3
)
?
1
:
0
;
uci_pdu
->
sr
->
sr_confidence_level
=
no_conf
;
if
(
uci_pdu
->
sr
->
sr_indication
==
1
&&
uci_pdu
->
sr
->
sr_confidence_level
==
0
)
{
uci_stats
->
pucch0_positive_SR
++
;
LOG_D
(
PHY
,
"PUCCH0 got positive SR. Cumulative number of positive SR %d
\n
"
,
uci_stats
->
pucch0_positive_SR
);
}
}
}
}
...
...
@@ -1674,7 +1682,8 @@ void nr_decode_pucch2(PHY_VARS_gNB *gNB,
LOG_D
(
PHY
,
"metric %d dB
\n
"
,
corr_dB
);
}
// estimate CQI for MAC (from antenna port 0 only)
// estimate CQI for MAC (from antenna port 0 only)
// TODO this computation is wrong -> to be ignored at MAC for now
int
SNRtimes10
=
dB_fixed_times10
(
signal_energy_nodc
(
&
rxdataF
[
0
][
soffset
+
(
l2
*
frame_parms
->
ofdm_symbol_size
)
+
re_offset
[
0
]],
12
*
pucch_pdu
->
prb_size
))
-
(
10
*
gNB
->
measurements
.
n0_power_tot_dB
);
...
...
openair1/PHY/defs_gNB.h
View file @
48cb2510
...
...
@@ -658,8 +658,6 @@ typedef struct {
unsigned
int
n0_power_tot
;
//! estimated avg noise power (dB)
unsigned
int
n0_power_tot_dB
;
//! estimated avg noise power (dB)
int
n0_power_tot_dBm
;
//! estimated avg noise power per RB per RX ant (lin)
unsigned
int
n0_subband_power
[
MAX_NUM_RU_PER_gNB
][
275
];
//! estimated avg noise power per RB per RX ant (dB)
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
48cb2510
...
...
@@ -1494,10 +1494,11 @@ void handle_nr_uci_pucch_2_3_4(module_id_t mod_id,
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE_info
->
UE_sched_ctrl
[
UE_id
];
// tpc (power control)
sched_ctrl
->
tpc1
=
nr_get_tpc
(
RC
.
nrmac
[
mod_id
]
->
pucch_target_snrx10
,
uci_234
->
ul_cqi
,
30
);
sched_ctrl
->
pucch_snrx10
=
uci_234
->
ul_cqi
*
5
-
640
;
// TODO PUCCH2 SNR computation is not correct -> ignore the following
//sched_ctrl->tpc1 = nr_get_tpc(RC.nrmac[mod_id]->pucch_target_snrx10,
// uci_234->ul_cqi,
// 30);
//sched_ctrl->pucch_snrx10 = uci_234->ul_cqi * 5 - 640;
if
((
uci_234
->
pduBitmap
>>
1
)
&
0x01
)
{
// iterate over received harq bits
...
...
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