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
alex037yang
OpenXG-RAN
Commits
f187b0e1
Commit
f187b0e1
authored
Dec 10, 2018
by
Sebastian Wagner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WIP: integrated changes to softmodem, TODO: not sure where to free memory
parent
eb5c33de
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
4 deletions
+17
-4
openair1/PHY/CODING/TESTBENCH/ldpctest.c
openair1/PHY/CODING/TESTBENCH/ldpctest.c
+2
-2
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
+14
-1
openair1/PHY/defs_nr_UE.h
openair1/PHY/defs_nr_UE.h
+1
-1
No files found.
openair1/PHY/CODING/TESTBENCH/ldpctest.c
View file @
f187b0e1
...
@@ -494,8 +494,8 @@ int test_ldpc(short No_iteration,
...
@@ -494,8 +494,8 @@ int test_ldpc(short No_iteration,
//free(channel_output_fixed);
//free(channel_output_fixed);
//free(estimated_output);
//free(estimated_output);
//
nrLDPC_free_mem(p_nrLDPC_procBuf);
nrLDPC_free_mem
(
p_nrLDPC_procBuf
);
print_meas
(
&
time
,
"ldpc_encoder"
,
NULL
,
NULL
);
print_meas
(
&
time
,
"ldpc_encoder"
,
NULL
,
NULL
);
print_meas
(
time_optim
,
"ldpc_encoder_optim"
,
NULL
,
NULL
);
print_meas
(
time_optim
,
"ldpc_encoder_optim"
,
NULL
,
NULL
);
print_meas
(
&
tinput
,
"ldpc_encoder_optim(input)"
,
NULL
,
NULL
);
print_meas
(
&
tinput
,
"ldpc_encoder_optim(input)"
,
NULL
,
NULL
);
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
View file @
f187b0e1
...
@@ -219,6 +219,9 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
...
@@ -219,6 +219,9 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
t_nrLDPC_dec_params
*
p_decParams
=
&
decParams
;
t_nrLDPC_dec_params
*
p_decParams
=
&
decParams
;
t_nrLDPC_time_stats
procTime
;
t_nrLDPC_time_stats
procTime
;
t_nrLDPC_time_stats
*
p_procTime
=&
procTime
;
t_nrLDPC_time_stats
*
p_procTime
=&
procTime
;
// Pointer to LDPC processing buffer of thread 0
t_nrLDPC_procBuf
*
p_nrLDPC_procBuf
=
phy_vars_ue
->
p_nrLDPC_procBuf
[
0
];
int16_t
z
[
68
*
384
];
int16_t
z
[
68
*
384
];
int8_t
l
[
68
*
384
];
int8_t
l
[
68
*
384
];
//__m128i l;
//__m128i l;
...
@@ -506,7 +509,8 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
...
@@ -506,7 +509,8 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
no_iteration_ldpc
=
nrLDPC_decoder
(
p_decParams
,
no_iteration_ldpc
=
nrLDPC_decoder
(
p_decParams
,
(
int8_t
*
)
&
pl
[
0
],
(
int8_t
*
)
&
pl
[
0
],
llrProcBuf
,
llrProcBuf
,
p_procTime
);
p_nrLDPC_procBuf
,
p_procTime
);
/*
/*
if (check_crc(llrProcBuf,Kr,harq_process->F,crc_type)) {
if (check_crc(llrProcBuf,Kr,harq_process->F,crc_type)) {
...
@@ -692,6 +696,8 @@ uint32_t nr_dlsch_decoding_mthread(PHY_VARS_NR_UE *phy_vars_ue,
...
@@ -692,6 +696,8 @@ uint32_t nr_dlsch_decoding_mthread(PHY_VARS_NR_UE *phy_vars_ue,
t_nrLDPC_dec_params
*
p_decParams
=
&
decParams
;
t_nrLDPC_dec_params
*
p_decParams
=
&
decParams
;
t_nrLDPC_time_stats
procTime
;
t_nrLDPC_time_stats
procTime
;
t_nrLDPC_time_stats
*
p_procTime
=&
procTime
;
t_nrLDPC_time_stats
*
p_procTime
=&
procTime
;
// Pointer to LDPC processing buffer of thread 0
t_nrLDPC_procBuf
*
p_nrLDPC_procBuf
=
phy_vars_ue
->
p_nrLDPC_procBuf
[
0
];
int16_t
z
[
68
*
384
];
int16_t
z
[
68
*
384
];
int8_t
l
[
68
*
384
];
int8_t
l
[
68
*
384
];
//__m128i l;
//__m128i l;
...
@@ -1091,6 +1097,7 @@ if (harq_process->C>1) { // wakeup worker if more than 1 segment
...
@@ -1091,6 +1097,7 @@ if (harq_process->C>1) { // wakeup worker if more than 1 segment
no_iteration_ldpc
=
nrLDPC_decoder
(
p_decParams
,
no_iteration_ldpc
=
nrLDPC_decoder
(
p_decParams
,
(
int8_t
*
)
&
pl
[
0
],
(
int8_t
*
)
&
pl
[
0
],
llrProcBuf
,
llrProcBuf
,
p_nrLDPC_procBuf
,
p_procTime
);
p_procTime
);
nb_total_decod
++
;
nb_total_decod
++
;
...
@@ -1274,6 +1281,8 @@ void *nr_dlsch_decoding_2thread0(void *arg)
...
@@ -1274,6 +1281,8 @@ void *nr_dlsch_decoding_2thread0(void *arg)
t_nrLDPC_dec_params
*
p_decParams
=
&
decParams
;
t_nrLDPC_dec_params
*
p_decParams
=
&
decParams
;
t_nrLDPC_time_stats
procTime
;
t_nrLDPC_time_stats
procTime
;
t_nrLDPC_time_stats
*
p_procTime
=&
procTime
;
t_nrLDPC_time_stats
*
p_procTime
=&
procTime
;
// Pointer to LDPC processing buffer of thread 0
t_nrLDPC_procBuf
*
p_nrLDPC_procBuf
=
phy_vars_ue
->
p_nrLDPC_procBuf
[
0
];
int16_t
z
[
68
*
384
];
int16_t
z
[
68
*
384
];
int8_t
l
[
68
*
384
];
int8_t
l
[
68
*
384
];
//__m128i l;
//__m128i l;
...
@@ -1607,6 +1616,7 @@ void *nr_dlsch_decoding_2thread0(void *arg)
...
@@ -1607,6 +1616,7 @@ void *nr_dlsch_decoding_2thread0(void *arg)
no_iteration_ldpc
=
nrLDPC_decoder
(
p_decParams
,
no_iteration_ldpc
=
nrLDPC_decoder
(
p_decParams
,
(
int8_t
*
)
&
pl
[
0
],
(
int8_t
*
)
&
pl
[
0
],
llrProcBuf
,
llrProcBuf
,
p_nrLDPC_procBuf
,
p_procTime
);
p_procTime
);
if
(
no_iteration_ldpc
>
10
)
if
(
no_iteration_ldpc
>
10
)
...
@@ -1779,6 +1789,8 @@ void *nr_dlsch_decoding_2thread1(void *arg)
...
@@ -1779,6 +1789,8 @@ void *nr_dlsch_decoding_2thread1(void *arg)
t_nrLDPC_dec_params
*
p_decParams
=
&
decParams
;
t_nrLDPC_dec_params
*
p_decParams
=
&
decParams
;
t_nrLDPC_time_stats
procTime
;
t_nrLDPC_time_stats
procTime
;
t_nrLDPC_time_stats
*
p_procTime
=&
procTime
;
t_nrLDPC_time_stats
*
p_procTime
=&
procTime
;
// Pointer to LDPC processing buffer of thread 1
t_nrLDPC_procBuf
*
p_nrLDPC_procBuf
=
phy_vars_ue
->
p_nrLDPC_procBuf
[
1
];
int16_t
z
[
68
*
384
];
int16_t
z
[
68
*
384
];
int8_t
l
[
68
*
384
];
int8_t
l
[
68
*
384
];
//__m128i l;
//__m128i l;
...
@@ -2111,6 +2123,7 @@ void *nr_dlsch_decoding_2thread1(void *arg)
...
@@ -2111,6 +2123,7 @@ void *nr_dlsch_decoding_2thread1(void *arg)
no_iteration_ldpc
=
nrLDPC_decoder
(
p_decParams
,
no_iteration_ldpc
=
nrLDPC_decoder
(
p_decParams
,
(
int8_t
*
)
&
pl
[
0
],
(
int8_t
*
)
&
pl
[
0
],
llrProcBuf
,
llrProcBuf
,
p_nrLDPC_procBuf
,
p_procTime
);
p_procTime
);
if
(
no_iteration_ldpc
>
10
)
if
(
no_iteration_ldpc
>
10
)
...
...
openair1/PHY/defs_nr_UE.h
View file @
f187b0e1
...
@@ -158,7 +158,7 @@
...
@@ -158,7 +158,7 @@
#include "targets/ARCH/COMMON/common_lib.h"
#include "targets/ARCH/COMMON/common_lib.h"
#include "NR_IF_Module.h"
#include "NR_IF_Module.h"
#include "PHY/CODING/nrLDPC_decoder/nrLDPC_
types
.h"
#include "PHY/CODING/nrLDPC_decoder/nrLDPC_
init_mem
.h"
/// Context data structure for RX/TX portion of subframe processing
/// Context data structure for RX/TX portion of subframe processing
typedef
struct
{
typedef
struct
{
...
...
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