All optimizations done, all LUT deleted. Still some clean up to do.

This commit is contained in:
sebastian
2019-09-26 11:04:17 +02:00
parent a65f59c8c9
commit 576198aa7b
463 changed files with 593 additions and 2805 deletions
@@ -41,9 +41,9 @@
#define NR_LDPC_ENABLE_PARITY_CHECK
//#define NR_LDPC_PROFILER_DETAIL
//#ifdef NR_LDPC_DEBUG_MODE
#ifdef NR_LDPC_DEBUG_MODE
#include "nrLDPC_tools/nrLDPC_debug.h"
//#endif
#endif
static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDPC_procBuf* p_procBuf, uint32_t numLLR, t_nrLDPC_lut* p_lut, t_nrLDPC_dec_params* p_decParams, t_nrLDPC_time_stats* p_profiler);
@@ -219,10 +219,10 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
stop_meas(&p_profiler->bn2cnProcBuf);
#endif
//#ifdef NR_LDPC_DEBUG_MODE
#ifdef NR_LDPC_DEBUG_MODE
nrLDPC_debug_initBuffer2File(nrLDPC_buffers_CN_PROC);
nrLDPC_debug_writeBuffer2File(nrLDPC_buffers_CN_PROC, p_procBuf);
//#endif
#endif
// Parity Check not necessary here since it will fail
// because first 2 cols/BNs in BG are punctured and cannot be
@@ -232,6 +232,7 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
while ( (i < (numMaxIter-1)) && (pcRes != 0) )
{
//mexPrintf("Start Main Loop: i=%d, numMaxIter=%d, pcRes = %d\n",i,numMaxIter,pcRes);
// Increase iteration counter
i++;
@@ -333,6 +334,7 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
{
pcRes = nrLDPC_cnProcPc_BG2(p_lut, p_procBuf, Z);
}
//mexPrintf("End Main Loop: Iter: i=%d, pcRes=%d\n",i,pcRes);
#ifdef NR_LDPC_PROFILER_DETAIL
stop_meas(&p_profiler->cnProcPc);
#endif
@@ -345,6 +347,7 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
{
// Increase iteration counter
i++;
//mexPrintf("Start Last Iter: i=%d, numMaxIter=%d, pcRes = %d\n",i,numMaxIter,pcRes);
// CN processing
#ifdef NR_LDPC_PROFILER_DETAIL
@@ -450,11 +453,12 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
stop_meas(&p_profiler->cnProcPc);
#endif
#endif
//mexPrintf("End Last Iter: i=%d, numMaxIter=%d, pcRes = %d\n",i,numMaxIter,pcRes);
}
// If maximum number of iterations reached an PC still fails increase number of iterations
// Thus, i > numMaxIter indicates that PC has failed
//mexPrintf("End: Iter: i=%d, pcRes=%d\n",i,pcRes);
if (pcRes != 0)
{
i++;