WIP: integrated changes to softmodem, TODO: not sure where to free memory
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
@@ -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,
|
|||||||
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,
|
|||||||
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
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user