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
a9d47419
Commit
a9d47419
authored
Nov 26, 2021
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix BWP start in SRS
parent
32593036
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
11 deletions
+15
-11
openair1/PHY/NR_TRANSPORT/srs_rx.c
openair1/PHY/NR_TRANSPORT/srs_rx.c
+6
-4
openair1/PHY/NR_UE_TRANSPORT/srs_modulation_nr.c
openair1/PHY/NR_UE_TRANSPORT/srs_modulation_nr.c
+9
-7
No files found.
openair1/PHY/NR_TRANSPORT/srs_rx.c
View file @
a9d47419
...
...
@@ -107,14 +107,16 @@ int nr_get_srs_signal(PHY_VARS_gNB *gNB,
uint8_t
l0
=
frame_parms
->
symbols_per_slot
-
1
-
srs_pdu
->
time_start_position
;
// starting symbol in this slot
uint64_t
symbol_offset
=
(
n_symbols
+
l0
)
*
frame_parms
->
ofdm_symbol_size
;
uint64_t
subcarrier_offset
=
frame_parms
->
first_carrier_offset
+
srs_pdu
->
bwp_start
*
12
;
int32_t
*
rx_signal
;
for
(
int
ant
=
0
;
ant
<
frame_parms
->
nb_antennas_rx
;
ant
++
)
{
memset
(
srs_received_signal
[
ant
],
0
,
frame_parms
->
samples_per_frame
*
sizeof
(
int32_t
));
rx_signal
=
&
rxdataF
[
ant
][
symbol_offset
+
frame_parms
->
first_
carrier_offset
];
rx_signal
=
&
rxdataF
[
ant
][
symbol_offset
+
sub
carrier_offset
];
for
(
int
sc_idx
=
0
;
sc_idx
<
nr_srs_info
->
n_symbs
;
sc_idx
++
)
{
srs_received_signal
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
frame_parms
->
first_
carrier_offset
]
=
rx_signal
[
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
srs_received_signal
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
sub
carrier_offset
]
=
rx_signal
[
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
#ifdef SRS_DEBUG
if
(
sc_idx
==
0
)
{
...
...
@@ -125,8 +127,8 @@ int nr_get_srs_signal(PHY_VARS_gNB *gNB,
}
LOG_I
(
NR_PHY
,
"(%i)
\t
%i
\t
%i
\n
"
,
nr_srs_info
->
subcarrier_idx
[
sc_idx
],
srs_received_signal
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
frame_parms
->
first_
carrier_offset
]
&
0xFFFF
,
(
srs_received_signal
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
frame_parms
->
first_
carrier_offset
]
>>
16
)
&
0xFFFF
);
srs_received_signal
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
sub
carrier_offset
]
&
0xFFFF
,
(
srs_received_signal
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
sub
carrier_offset
]
>>
16
)
&
0xFFFF
);
#endif
}
}
...
...
openair1/PHY/NR_UE_TRANSPORT/srs_modulation_nr.c
View file @
a9d47419
...
...
@@ -116,6 +116,8 @@ int generate_srs_nr(nfapi_nr_srs_pdu_t *srs_config_pdu,
uint8_t
l0
=
N_SYMB_SLOT
-
1
-
l_offset
;
// starting position in the time domain
uint8_t
k_0_p
;
// frequency domain starting position
uint64_t
subcarrier_offset
=
frame_parms
->
first_carrier_offset
+
srs_config_pdu
->
bwp_start
*
N_SC_RB
;
if
(
nr_srs_info
)
{
nr_srs_info
->
n_symbs
=
0
;
}
...
...
@@ -324,7 +326,7 @@ int generate_srs_nr(nfapi_nr_srs_pdu_t *srs_config_pdu,
k_0_p
+=
K_TC
*
M_sc_b_SRS
*
n_b
[
b
];
}
subcarrier
=
(
frame_parms
->
first_carrier_offset
)
+
k_0_p
;
subcarrier
=
subcarrier_offset
+
k_0_p
;
if
(
subcarrier
>
frame_parms
->
ofdm_symbol_size
)
{
subcarrier
-=
frame_parms
->
ofdm_symbol_size
;
}
...
...
@@ -373,17 +375,17 @@ int generate_srs_nr(nfapi_nr_srs_pdu_t *srs_config_pdu,
txptr
[
subcarrier
+
ofdm_symbol
*
frame_parms
->
ofdm_symbol_size
]
=
(
real_amp
&
0xFFFF
)
+
((
imag_amp
<<
16
)
&
0xFFFF0000
);
if
(
nr_srs_info
)
{
nr_srs_info
->
subcarrier_idx
[
nr_srs_info
->
n_symbs
]
=
subcarrier
+
ofdm_symbol
*
frame_parms
->
ofdm_symbol_size
-
frame_parms
->
first_
carrier_offset
;
nr_srs_info
->
subcarrier_idx
[
nr_srs_info
->
n_symbs
]
=
subcarrier
+
ofdm_symbol
*
frame_parms
->
ofdm_symbol_size
-
sub
carrier_offset
;
nr_srs_info
->
n_symbs
++
;
}
#ifdef SRS_DEBUG
if
(
(
subcarrier
+
ofdm_symbol
*
frame_parms
->
ofdm_symbol_size
-
frame_parms
->
first_
carrier_offset
)
%
12
==
0
)
{
LOG_I
(
NR_PHY
,
"------------ %
i
------------
\n
"
,
(
subcarrier
+
ofdm_symbol
*
frame_parms
->
ofdm_symbol_size
-
frame_parms
->
first_
carrier_offset
)
/
12
);
if
(
(
subcarrier
+
ofdm_symbol
*
frame_parms
->
ofdm_symbol_size
-
sub
carrier_offset
)
%
12
==
0
)
{
LOG_I
(
NR_PHY
,
"------------ %
lu
------------
\n
"
,
(
subcarrier
+
ofdm_symbol
*
frame_parms
->
ofdm_symbol_size
-
sub
carrier_offset
)
/
12
);
}
LOG_I
(
NR_PHY
,
"(%
i
)
\t
%i
\t
%i
\n
"
,
subcarrier
+
ofdm_symbol
*
frame_parms
->
ofdm_symbol_size
-
frame_parms
->
first_
carrier_offset
,
LOG_I
(
NR_PHY
,
"(%
lu
)
\t
%i
\t
%i
\n
"
,
subcarrier
+
ofdm_symbol
*
frame_parms
->
ofdm_symbol_size
-
sub
carrier_offset
,
real_amp
&
0xFFFF
,
imag_amp
&
0xFFFF
);
#endif
...
...
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