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
promise
OpenXG-RAN
Commits
9a9a83d2
Commit
9a9a83d2
authored
Jul 12, 2018
by
Guy De Souza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Interleaving fix
parent
aeb298d0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
17 deletions
+17
-17
openair1/PHY/NR_TRANSPORT/nr_pbch.c
openair1/PHY/NR_TRANSPORT/nr_pbch.c
+17
-17
No files found.
openair1/PHY/NR_TRANSPORT/nr_pbch.c
View file @
9a9a83d2
...
...
@@ -206,7 +206,7 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch,
NR_DL_FRAME_PARMS
*
frame_parms
)
{
int
j
,
k
,
l
,
m
;
int
k
,
l
,
m
;
int16_t
a
;
int16_t
mod_pbch_e
[
NR_POLAR_PBCH_E
];
uint8_t
idx
=
0
;
...
...
@@ -225,7 +225,7 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch,
#ifdef DEBUG_PBCH_ENCODING
printf
(
"Byte endian fix:
\n
"
);
for
(
int
i
=
0
;
i
<
4
;
i
++
)
printf
(
"pbch_a[%d]: 0x%02x
\n
"
,
i
,
pbch
->
pbch_a
[
i
]);
printf
(
"pbch_a[%d]: 0x%02x
\n
"
,
i
,
pbch
->
pbch_a
[
i
]);
#endif
// Extra byte generation
...
...
@@ -242,24 +242,24 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch,
#ifdef DEBUG_PBCH_ENCODING
printf
(
"Extra byte:
\n
"
);
for
(
int
i
=
0
;
i
<
4
;
i
++
)
printf
(
"pbch_a[%d]: 0x%02x
\n
"
,
i
,
pbch
->
pbch_a
[
i
]);
printf
(
"pbch_a[%d]: 0x%02x
\n
"
,
i
,
pbch
->
pbch_a
[
i
]);
#endif
// Payload interleaving
uint
8_t
*
in
=
&
pbch
->
pbch_a
[
3
]
;
uint8_t
*
out
=
&
pbch
->
pbch_a_interleaved
[
3
];
for
(
int
i
=
0
;
i
<
32
;
i
++
)
{
j
=
i
&
7
;
if
(
!
j
)
{
in
--
;
out
--
;
}
(
*
out
)
|=
(((
*
in
)
>>
j
)
&
1
)
<<
((
nr_pbch_payload_interleaver
(
i
))
&
7
);
}
uint
32_t
in
=
0
,
out
=
0
;
for
(
int
i
=
0
;
i
<
NR_POLAR_PBCH_PAYLOAD_BITS
>>
3
;
i
++
)
in
|=
(
uint32_t
)(
pbch
->
pbch_a
[
i
]
<<
((
3
-
i
)
<<
3
));
for
(
int
i
=
0
;
i
<
32
;
i
++
)
out
|=
((
in
>>
i
)
&
1
)
<<
(
nr_pbch_payload_interleaver
(
i
))
;
for
(
int
i
=
0
;
i
<
NR_POLAR_PBCH_PAYLOAD_BITS
>>
3
;
i
++
)
pbch
->
pbch_a_interleaved
[
i
]
=
(
uint8_t
)((
out
>>
(
i
<<
3
))
&
0xff
);
#ifdef DEBUG_PBCH_ENCODING
printf
(
"Interleaving:
\n
"
);
for
(
int
i
=
0
;
i
<
4
;
i
++
)
printf
(
"pbch_a_interleaved[%d]: 0x%02x
\n
"
,
i
,
pbch
->
pbch_a_interleaved
[
i
]);
printf
(
"pbch_a_interleaved[%d]: 0x%02x
\n
"
,
i
,
pbch
->
pbch_a_interleaved
[
i
]);
#endif
// Scrambling
...
...
@@ -269,7 +269,7 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch,
#ifdef DEBUG_PBCH_ENCODING
printf
(
"Payload scrambling:
\n
"
);
for
(
int
i
=
0
;
i
<
4
;
i
++
)
printf
(
"pbch_a_prime[%d]: 0x%02x
\n
"
,
i
,
pbch
->
pbch_a_prime
[
i
]);
printf
(
"pbch_a_prime[%d]: 0x%02x
\n
"
,
i
,
pbch
->
pbch_a_prime
[
i
]);
#endif
...
...
@@ -278,7 +278,7 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch,
#ifdef DEBUG_PBCH_ENCODING
printf
(
"Channel coding:
\n
"
);
for
(
int
i
=
0
;
i
<
NR_POLAR_PBCH_E
>>
3
;
i
++
)
printf
(
"pbch_e[%d]: 0x%02x
\t
"
,
i
,
pbch
->
pbch_e
[
i
]);
printf
(
"pbch_e[%d]: 0x%02x
\t
"
,
i
,
pbch
->
pbch_e
[
i
]);
printf
(
"
\n
"
);
#endif
...
...
@@ -289,7 +289,7 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch,
#ifdef DEBUG_PBCH_ENCODING
printf
(
"Scrambling:
\n
"
);
for
(
int
i
=
0
;
i
<
NR_POLAR_PBCH_E
>>
3
;
i
++
)
printf
(
"pbch_e[%d]: 0x%02x
\t
"
,
i
,
pbch
->
pbch_e
[
i
]);
printf
(
"pbch_e[%d]: 0x%02x
\t
"
,
i
,
pbch
->
pbch_e
[
i
]);
printf
(
"
\n
"
);
#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