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
d9148178
Commit
d9148178
authored
May 09, 2022
by
Roberto Louro Magueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fill srs_reported_symbol_list in SRS indication
parent
ab6d7afd
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
2 deletions
+47
-2
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+47
-2
No files found.
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
d9148178
...
@@ -45,6 +45,7 @@
...
@@ -45,6 +45,7 @@
#include "intertask_interface.h"
#include "intertask_interface.h"
//#define DEBUG_RXDATA
//#define DEBUG_RXDATA
//#define SRS_IND_DEBUG
uint8_t
SSB_Table
[
38
]
=
{
0
,
2
,
4
,
6
,
8
,
10
,
12
,
14
,
254
,
254
,
16
,
18
,
20
,
22
,
24
,
26
,
28
,
30
,
254
,
254
,
32
,
34
,
36
,
38
,
40
,
42
,
44
,
46
,
254
,
254
,
48
,
50
,
52
,
54
,
56
,
58
,
60
,
62
};
uint8_t
SSB_Table
[
38
]
=
{
0
,
2
,
4
,
6
,
8
,
10
,
12
,
14
,
254
,
254
,
16
,
18
,
20
,
22
,
24
,
26
,
28
,
30
,
254
,
254
,
32
,
34
,
36
,
38
,
40
,
42
,
44
,
46
,
254
,
254
,
48
,
50
,
52
,
54
,
56
,
58
,
60
,
62
};
...
@@ -624,6 +625,30 @@ void phy_procedures_gNB_common_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx)
...
@@ -624,6 +625,30 @@ void phy_procedures_gNB_common_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx)
}
}
int
fill_srs_reported_symbol_list
(
nfapi_nr_srs_indication_reported_symbol_t
*
reported_symbol_list
,
nfapi_nr_srs_pdu_t
*
srs_pdu
,
int
N_RB_UL
,
const
int8_t
*
snr_per_rb
)
{
reported_symbol_list
->
num_rbs
=
srs_bandwidth_config
[
srs_pdu
->
config_index
][
srs_pdu
->
bandwidth_index
][
0
];
if
(
!
reported_symbol_list
->
rb_list
)
{
reported_symbol_list
->
rb_list
=
(
nfapi_nr_srs_indication_reported_symbol_resource_block_t
*
)
calloc
(
1
,
N_RB_UL
*
sizeof
(
nfapi_nr_srs_indication_reported_symbol_resource_block_t
));
}
for
(
int
rb
=
0
;
rb
<
reported_symbol_list
->
num_rbs
;
rb
++
)
{
if
(
snr_per_rb
[
rb
]
<
-
64
)
{
reported_symbol_list
->
rb_list
[
rb
].
rb_snr
=
0
;
}
else
if
(
snr_per_rb
[
rb
]
>
63
)
{
reported_symbol_list
->
rb_list
[
rb
].
rb_snr
=
255
;
}
else
{
reported_symbol_list
->
rb_list
[
rb
].
rb_snr
=
(
snr_per_rb
[
rb
]
+
64
)
<<
1
;
}
}
return
0
;
}
int
phy_procedures_gNB_uespec_RX
(
PHY_VARS_gNB
*
gNB
,
int
frame_rx
,
int
slot_rx
)
{
int
phy_procedures_gNB_uespec_RX
(
PHY_VARS_gNB
*
gNB
,
int
frame_rx
,
int
slot_rx
)
{
/* those variables to log T_GNB_PHY_PUCCH_PUSCH_IQ only when we try to decode */
/* those variables to log T_GNB_PHY_PUCCH_PUSCH_IQ only when we try to decode */
int
pucch_decode_done
=
0
;
int
pucch_decode_done
=
0
;
...
@@ -854,10 +879,30 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
...
@@ -854,10 +879,30 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
//gNB->srs_pdu_list[num_srs].timing_advance;
//gNB->srs_pdu_list[num_srs].timing_advance;
gNB
->
srs_pdu_list
[
num_srs
].
num_symbols
=
1
<<
srs_pdu
->
num_symbols
;
gNB
->
srs_pdu_list
[
num_srs
].
num_symbols
=
1
<<
srs_pdu
->
num_symbols
;
//gNB->srs_pdu_list[num_srs].wide_band_snr;
//gNB->srs_pdu_list[num_srs].wide_band_snr;
//gNB->srs_pdu_list[num_srs].num_reported_symbols;
gNB
->
srs_pdu_list
[
num_srs
].
num_reported_symbols
=
1
<<
srs_pdu
->
num_symbols
;
//gNB->srs_pdu_list[num_srs].reported_symbol_list;
if
(
!
gNB
->
srs_pdu_list
[
num_srs
].
reported_symbol_list
)
{
gNB
->
srs_pdu_list
[
num_srs
].
reported_symbol_list
=
(
nfapi_nr_srs_indication_reported_symbol_t
*
)
calloc
(
1
,
gNB
->
srs_pdu_list
[
num_srs
].
num_reported_symbols
*
sizeof
(
nfapi_nr_srs_indication_reported_symbol_t
));
}
fill_srs_reported_symbol_list
(
&
gNB
->
srs_pdu_list
[
num_srs
].
reported_symbol_list
[
0
],
srs_pdu
,
gNB
->
frame_parms
.
N_RB_UL
,
gNB
->
nr_srs_info
[
i
]
->
snr_per_rb
);
gNB
->
UL_INFO
.
srs_ind
.
number_of_pdus
+=
1
;
gNB
->
UL_INFO
.
srs_ind
.
number_of_pdus
+=
1
;
#ifdef SRS_IND_DEBUG
LOG_I
(
NR_PHY
,
"gNB->UL_INFO.srs_ind.sfn = %i
\n
"
,
gNB
->
UL_INFO
.
srs_ind
.
sfn
);
LOG_I
(
NR_PHY
,
"gNB->UL_INFO.srs_ind.slot = %i
\n
"
,
gNB
->
UL_INFO
.
srs_ind
.
slot
);
LOG_I
(
NR_PHY
,
"gNB->srs_pdu_list[%i].rnti = 0x%04x
\n
"
,
num_srs
,
gNB
->
srs_pdu_list
[
num_srs
].
rnti
);
LOG_I
(
NR_PHY
,
"gNB->srs_pdu_list[%i].num_symbols = %i
\n
"
,
num_srs
,
gNB
->
srs_pdu_list
[
num_srs
].
num_symbols
);
LOG_I
(
NR_PHY
,
"gNB->srs_pdu_list[%i].num_reported_symbols = %i
\n
"
,
num_srs
,
gNB
->
srs_pdu_list
[
num_srs
].
num_reported_symbols
);
LOG_I
(
NR_PHY
,
"gNB->srs_pdu_list[%i].reported_symbol_list[0].num_rbs = %i
\n
"
,
num_srs
,
gNB
->
srs_pdu_list
[
num_srs
].
reported_symbol_list
[
0
].
num_rbs
);
for
(
int
rb
=
0
;
rb
<
gNB
->
srs_pdu_list
[
num_srs
].
reported_symbol_list
[
0
].
num_rbs
;
rb
++
)
{
LOG_I
(
NR_PHY
,
"gNB->srs_pdu_list[%i].reported_symbol_list[0].rb_list[%3i].rb_snr = %i
\n
"
,
num_srs
,
rb
,
gNB
->
srs_pdu_list
[
num_srs
].
reported_symbol_list
[
0
].
rb_list
[
rb
].
rb_snr
);
}
#endif
srs
->
active
=
0
;
srs
->
active
=
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