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
a79ccb99
Commit
a79ccb99
authored
Mar 25, 2022
by
Laurent THOMAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix nr_deinterleaving_ldpc() again, we are now too short in the buffer
parent
9be58373
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
14 deletions
+19
-14
common/utils/assertions.h
common/utils/assertions.h
+2
-2
openair1/PHY/CODING/nr_rate_matching.c
openair1/PHY/CODING/nr_rate_matching.c
+16
-11
openair1/SIMULATION/NR_PHY/dlschsim.c
openair1/SIMULATION/NR_PHY/dlschsim.c
+1
-1
No files found.
common/utils/assertions.h
View file @
a79ccb99
...
...
@@ -44,9 +44,9 @@
#define _Assert_(cOND, aCTION, fORMAT, aRGS...) \
do { \
if (!(cOND)) { \
fprintf(stderr, "\nAssertion (
"#cOND"
) failed!\n" \
fprintf(stderr, "\nAssertion (
%s
) failed!\n" \
"In %s() %s:%d\n" fORMAT, \
__FUNCTION__, __FILE__, __LINE__, ##aRGS); \
#cOND,
__FUNCTION__, __FILE__, __LINE__, ##aRGS); \
aCTION; \
} \
} while(0)
...
...
openair1/PHY/CODING/nr_rate_matching.c
View file @
a79ccb99
...
...
@@ -309,25 +309,28 @@ void nr_interleaving_ldpc(uint32_t E, uint8_t Qm, uint8_t *e,uint8_t *f)
void
nr_deinterleaving_ldpc
(
uint32_t
E
,
uint8_t
Qm
,
int16_t
*
e
,
int16_t
*
f
)
{
switch
(
Qm
)
{
case
2
:
{
int16_t
*
e1
=
e
+
(
E
/
2
);
int16_t
*
end
=
f
+
E
-
4
;
while
(
f
<
end
){
*
e
++
=
*
f
++
;
*
e1
++
=
*
f
++
;
*
e
++
=
*
f
++
;
*
e1
++
=
*
f
++
;
}
AssertFatal
(
E
%
4
==
0
,
""
);
int16_t
*
e1
=
e
+
(
E
/
2
);
int16_t
*
end
=
f
+
E
-
3
;
while
(
f
<
end
){
*
e
++
=
*
f
++
;
*
e1
++
=
*
f
++
;
*
e
++
=
*
f
++
;
*
e1
++
=
*
f
++
;
}
}
break
;
case
4
:
{
AssertFatal
(
E
%
4
==
0
,
""
);
int16_t
*
e1
=
e
+
(
E
/
4
);
int16_t
*
e2
=
e1
+
(
E
/
4
);
int16_t
*
e3
=
e2
+
(
E
/
4
);
int16_t
*
end
=
f
+
E
-
4
;
int16_t
*
end
=
f
+
E
-
3
;
while
(
f
<
end
){
*
e
++
=
*
f
++
;
*
e1
++
=
*
f
++
;
...
...
@@ -338,12 +341,13 @@ void nr_deinterleaving_ldpc(uint32_t E, uint8_t Qm, int16_t *e,int16_t *f)
break
;
case
6
:
{
AssertFatal
(
E
%
6
==
0
,
""
);
int16_t
*
e1
=
e
+
(
E
/
6
);
int16_t
*
e2
=
e1
+
(
E
/
6
);
int16_t
*
e3
=
e2
+
(
E
/
6
);
int16_t
*
e4
=
e3
+
(
E
/
6
);
int16_t
*
e5
=
e4
+
(
E
/
6
);
int16_t
*
end
=
f
+
E
-
6
;
int16_t
*
end
=
f
+
E
-
5
;
while
(
f
<
end
){
*
e
++
=
*
f
++
;
*
e1
++
=
*
f
++
;
...
...
@@ -356,6 +360,7 @@ void nr_deinterleaving_ldpc(uint32_t E, uint8_t Qm, int16_t *e,int16_t *f)
break
;
case
8
:
{
AssertFatal
(
E
%
8
==
0
,
"zob"
);
int16_t
*
e1
=
e
+
(
E
/
8
);
int16_t
*
e2
=
e1
+
(
E
/
8
);
int16_t
*
e3
=
e2
+
(
E
/
8
);
...
...
@@ -363,7 +368,7 @@ void nr_deinterleaving_ldpc(uint32_t E, uint8_t Qm, int16_t *e,int16_t *f)
int16_t
*
e5
=
e4
+
(
E
/
8
);
int16_t
*
e6
=
e5
+
(
E
/
8
);
int16_t
*
e7
=
e6
+
(
E
/
8
);
int16_t
*
end
=
f
+
E
-
8
;
int16_t
*
end
=
f
+
E
-
7
;
while
(
f
<
end
){
*
e
++
=
*
f
++
;
*
e1
++
=
*
f
++
;
...
...
openair1/SIMULATION/NR_PHY/dlschsim.c
View file @
a79ccb99
...
...
@@ -483,7 +483,7 @@ int main(int argc, char **argv)
//unsigned char test_input[TBS / 8] __attribute__ ((aligned(16)));
for
(
i
=
0
;
i
<
TBS
/
8
;
i
++
)
test_input
[
i
]
=
(
unsigned
char
)
rand
();
harq
->
pdu
=
test_input
;
dlsch
->
harq_process
.
pdu
=
test_input
;
//estimated_output = harq_process->b;
#ifdef DEBUG_NR_DLSCHSIM
...
...
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