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
zzha zzha
OpenXG-RAN
Commits
48019c33
Commit
48019c33
authored
Aug 01, 2022
by
luis_pereira87
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Minor optimization in function init_symbol_rotation
parent
add469e7
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
17 deletions
+8
-17
openair1/PHY/MODULATION/nr_modulation.c
openair1/PHY/MODULATION/nr_modulation.c
+8
-17
No files found.
openair1/PHY/MODULATION/nr_modulation.c
View file @
48019c33
...
...
@@ -618,32 +618,23 @@ void init_symbol_rotation(NR_DL_FRAME_PARMS *fp) {
for
(
uint8_t
ll
=
0
;
ll
<
2
;
ll
++
){
double
f0
=
f
[
ll
];
double
Ncpm1
=
Ncp0
;
LOG_I
(
PHY
,
"Doing symbol rotation calculation for gNB TX/RX, f0 %f Hz, Nsymb %d
\n
"
,
f0
,
nsymb
)
;
c16_t
*
symbol_rotation
=
fp
->
symbol_rotation
[
ll
];
double
tl
=
0
;
double
poff
=
2
*
M_PI
*
((
Ncp0
*
Tc
))
*
f0
;
double
exp_re
=
cos
(
poff
);
double
exp_im
=
sin
(
-
poff
);
symbol_rotation
[
0
].
r
=
(
int16_t
)
floor
(
exp_re
*
32767
);
symbol_rotation
[
0
].
i
=
(
int16_t
)
floor
(
exp_im
*
32767
);
LOG_I
(
PHY
,
"Doing symbol rotation calculation for gNB TX/RX, f0 %f Hz, Nsymb %d
\n
"
,
f0
,
nsymb
);
LOG_I
(
PHY
,
"Symbol rotation %d/%d => (%d,%d)
\n
"
,
0
,
nsymb
,
symbol_rotation
[
0
].
r
,
symbol_rotation
[
0
].
i
);
double
tl
=
0
.
0
;
double
poff
=
0
.
0
;
double
exp_re
=
0
.
0
;
double
exp_im
=
0
.
0
;
for
(
int
l
=
1
;
l
<
nsymb
;
l
++
)
{
for
(
int
l
=
0
;
l
<
nsymb
;
l
++
)
{
double
Ncp
;
if
(
l
==
(
7
*
(
1
<<
fp
->
numerology_index
)))
{
if
(
l
==
0
||
l
==
(
7
*
(
1
<<
fp
->
numerology_index
)))
{
Ncp
=
Ncp0
;
}
else
{
Ncp
=
Ncp1
;
}
tl
+=
(
Nu
+
Ncpm1
)
*
Tc
;
poff
=
2
*
M_PI
*
(
tl
+
(
Ncp
*
Tc
))
*
f0
;
exp_re
=
cos
(
poff
);
exp_im
=
sin
(
-
poff
);
...
...
@@ -658,7 +649,7 @@ void init_symbol_rotation(NR_DL_FRAME_PARMS *fp) {
symbol_rotation
[
l
].
i
,
(
poff
/
2
/
M_PI
)
-
floor
(
poff
/
2
/
M_PI
));
Ncpm1
=
Ncp
;
tl
+=
(
Nu
+
Ncp
)
*
Tc
;
}
}
...
...
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