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
wangjie
OpenXG-RAN
Commits
97278014
Commit
97278014
authored
Dec 12, 2018
by
Sebastian Wagner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WIP: Version to be tested
parent
f187b0e1
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
12 additions
and
36 deletions
+12
-36
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_defs.h
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_defs.h
+1
-17
openair1/PHY/INIT/nr_init_ue.c
openair1/PHY/INIT/nr_init_ue.c
+0
-3
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
+7
-8
openair1/PHY/NR_UE_TRANSPORT/nr_transport_ue.h
openair1/PHY/NR_UE_TRANSPORT/nr_transport_ue.h
+4
-4
openair1/PHY/defs_nr_UE.h
openair1/PHY/defs_nr_UE.h
+0
-4
No files found.
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_defs.h
View file @
97278014
...
@@ -100,23 +100,7 @@
...
@@ -100,23 +100,7 @@
#define NR_LDPC_MAX_NUM_LLR 26112
#define NR_LDPC_MAX_NUM_LLR 26112
// ==============================================================================
// ==============================================================================
// GLOBAL VARIABLES
// GLOBAL CONSTANT VARIABLES
// Aligned on 32 bytes = 256 bits for AVX2
/** CN processing buffer */
//static int8_t cnProcBuf [NR_LDPC_SIZE_CN_PROC_BUF] __attribute__ ((aligned(32)));
/** Buffer for CN processing results */
//static int8_t cnProcBufRes[NR_LDPC_SIZE_CN_PROC_BUF] __attribute__ ((aligned(32)));
/** BN processing buffer */
//static int8_t bnProcBuf [NR_LDPC_SIZE_BN_PROC_BUF] __attribute__ ((aligned(32)));
/** Buffer for BN processing results */
//static int8_t bnProcBufRes[NR_LDPC_SIZE_BN_PROC_BUF] __attribute__ ((aligned(32)));
/** Buffer for LLR results */
//static int8_t llrRes [NR_LDPC_MAX_NUM_LLR] __attribute__ ((aligned(32)));
/** LLR processing buffer */
//static int8_t llrProcBuf[NR_LDPC_MAX_NUM_LLR] __attribute__ ((aligned(32)));
/** Start addresses for the cnProcBuf for each CN group in BG1*/
/** Start addresses for the cnProcBuf for each CN group in BG1*/
static
const
uint32_t
lut_startAddrCnGroups_BG1
[
NR_LDPC_NUM_CN_GROUPS_BG1
]
=
{
0
,
1152
,
8832
,
43392
,
61824
,
75264
,
81408
,
88320
,
92160
};
static
const
uint32_t
lut_startAddrCnGroups_BG1
[
NR_LDPC_NUM_CN_GROUPS_BG1
]
=
{
0
,
1152
,
8832
,
43392
,
61824
,
75264
,
81408
,
88320
,
92160
};
...
...
openair1/PHY/INIT/nr_init_ue.c
View file @
97278014
...
@@ -937,9 +937,6 @@ void init_nr_ue_transport(PHY_VARS_NR_UE *ue,int abstraction_flag) {
...
@@ -937,9 +937,6 @@ void init_nr_ue_transport(PHY_VARS_NR_UE *ue,int abstraction_flag) {
ue
->
dlsch_MCH
[
0
]
=
new_nr_ue_dlsch
(
1
,
NUMBER_OF_HARQ_PID_MAX
,
NSOFT
,
MAX_LDPC_ITERATIONS_MBSFN
,
ue
->
frame_parms
.
N_RB_DL
,
0
);
ue
->
dlsch_MCH
[
0
]
=
new_nr_ue_dlsch
(
1
,
NUMBER_OF_HARQ_PID_MAX
,
NSOFT
,
MAX_LDPC_ITERATIONS_MBSFN
,
ue
->
frame_parms
.
N_RB_DL
,
0
);
// LDPC processing buffer allocation
ue
->
p_nrLDPC_procBuf
[
0
]
=
nrLDPC_init_mem
();
ue
->
p_nrLDPC_procBuf
[
1
]
=
nrLDPC_init_mem
();
}
}
void
phy_init_nr_top
(
PHY_VARS_NR_UE
*
ue
)
void
phy_init_nr_top
(
PHY_VARS_NR_UE
*
ue
)
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
View file @
97278014
...
@@ -81,6 +81,8 @@ void free_nr_ue_dlsch(NR_UE_DLSCH_t *dlsch)
...
@@ -81,6 +81,8 @@ void free_nr_ue_dlsch(NR_UE_DLSCH_t *dlsch)
}
}
}
}
nrLDPC_free_mem
(
dlsch
->
p_nrLDPC_procBuf
);
free16
(
dlsch
,
sizeof
(
NR_UE_DLSCH_t
));
free16
(
dlsch
,
sizeof
(
NR_UE_DLSCH_t
));
dlsch
=
NULL
;
dlsch
=
NULL
;
}
}
...
@@ -120,6 +122,7 @@ NR_UE_DLSCH_t *new_nr_ue_dlsch(uint8_t Kmimo,uint8_t Mdlharq,uint32_t Nsoft,uint
...
@@ -120,6 +122,7 @@ NR_UE_DLSCH_t *new_nr_ue_dlsch(uint8_t Kmimo,uint8_t Mdlharq,uint32_t Nsoft,uint
dlsch
->
Mdlharq
=
Mdlharq
;
dlsch
->
Mdlharq
=
Mdlharq
;
dlsch
->
Nsoft
=
Nsoft
;
dlsch
->
Nsoft
=
Nsoft
;
dlsch
->
max_ldpc_iterations
=
max_ldpc_iterations
;
dlsch
->
max_ldpc_iterations
=
max_ldpc_iterations
;
dlsch
->
p_nrLDPC_procBuf
=
nrLDPC_init_mem
();
for
(
i
=
0
;
i
<
Mdlharq
;
i
++
)
{
for
(
i
=
0
;
i
<
Mdlharq
;
i
++
)
{
// printf("new_ue_dlsch: Harq process %d\n",i);
// printf("new_ue_dlsch: Harq process %d\n",i);
...
@@ -219,8 +222,7 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
...
@@ -219,8 +222,7 @@ 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
=
dlsch
->
p_nrLDPC_procBuf
;
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
];
...
@@ -696,8 +698,7 @@ uint32_t nr_dlsch_decoding_mthread(PHY_VARS_NR_UE *phy_vars_ue,
...
@@ -696,8 +698,7 @@ 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
=
dlsch
->
p_nrLDPC_procBuf
;
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;
...
@@ -1281,8 +1282,7 @@ void *nr_dlsch_decoding_2thread0(void *arg)
...
@@ -1281,8 +1282,7 @@ 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
=
dlsch
->
p_nrLDPC_procBuf
;
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;
...
@@ -1789,8 +1789,7 @@ void *nr_dlsch_decoding_2thread1(void *arg)
...
@@ -1789,8 +1789,7 @@ 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
=
dlsch
->
p_nrLDPC_procBuf
;
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;
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_transport_ue.h
View file @
97278014
...
@@ -34,7 +34,7 @@
...
@@ -34,7 +34,7 @@
#include <limits.h>
#include <limits.h>
#include "PHY/impl_defs_top.h"
#include "PHY/impl_defs_top.h"
#include "PHY/CODING/nrLDPC_decoder/nrLDPC_types.h"
//#include "PHY/defs_nr_UE.h"
//#include "PHY/defs_nr_UE.h"
#include "../NR_TRANSPORT/nr_transport_common_proto.h"
#include "../NR_TRANSPORT/nr_transport_common_proto.h"
...
@@ -352,10 +352,10 @@ typedef struct {
...
@@ -352,10 +352,10 @@ typedef struct {
uint32_t
Nsoft
;
uint32_t
Nsoft
;
/// Maximum number of LDPC iterations
/// Maximum number of LDPC iterations
uint8_t
max_ldpc_iterations
;
uint8_t
max_ldpc_iterations
;
/// LDPC processing buffers
t_nrLDPC_procBuf
*
p_nrLDPC_procBuf
;
/// number of iterations used in last turbo decoding
/// number of iterations used in last turbo decoding
uint8_t
last_iteration_cnt
;
uint8_t
last_iteration_cnt
;
}
NR_UE_DLSCH_t
;
}
NR_UE_DLSCH_t
;
typedef
enum
{
format0_0
,
typedef
enum
{
format0_0
,
...
...
openair1/PHY/defs_nr_UE.h
View file @
97278014
...
@@ -158,7 +158,6 @@
...
@@ -158,7 +158,6 @@
#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_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
{
...
@@ -1064,9 +1063,6 @@ typedef struct {
...
@@ -1064,9 +1063,6 @@ typedef struct {
#endif
#endif
t_nrPolar_params
*
nrPolar_params
;
t_nrPolar_params
*
nrPolar_params
;
/// LDPC processing buffers for 2 segments in parallel
t_nrLDPC_procBuf
*
p_nrLDPC_procBuf
[
2
];
/// PBCH DMRS sequence
/// PBCH DMRS sequence
uint32_t
nr_gold_pbch
[
2
][
64
][
NR_PBCH_DMRS_LENGTH_DWORD
];
uint32_t
nr_gold_pbch
[
2
][
64
][
NR_PBCH_DMRS_LENGTH_DWORD
];
...
...
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