diff --git a/openair1/PHY/CODING/TESTBENCH/ldpctest.c b/openair1/PHY/CODING/TESTBENCH/ldpctest.c index 371deba3f2..58d649d011 100644 --- a/openair1/PHY/CODING/TESTBENCH/ldpctest.c +++ b/openair1/PHY/CODING/TESTBENCH/ldpctest.c @@ -25,6 +25,7 @@ #include #include "assertions.h" #include "SIMULATION/TOOLS/sim.h" +#include "common/utils/load_module_shlib.h" #include "PHY/CODING/nrLDPC_extern.h" //#include "openair1/SIMULATION/NR_PHY/nr_unitary_defs.h" #include "openair1/PHY/CODING/nrLDPC_decoder_LYC/nrLDPC_decoder_LYC.h" @@ -118,15 +119,13 @@ int test_ldpc(short No_iteration, //short test_input[block_length]; unsigned char *test_input[MAX_NUM_NR_DLSCH_SEGMENTS]={NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL};; //short *c; //padded codeword - unsigned char *estimated_output[MAX_NUM_DLSCH_SEGMENTS]; - unsigned char *estimated_output_bit[MAX_NUM_DLSCH_SEGMENTS]; - unsigned char *test_input_bit; + unsigned char estimated_output[MAX_NUM_DLSCH_SEGMENTS][block_length]; + memset(estimated_output, 0, sizeof(estimated_output)); unsigned char *channel_input[MAX_NUM_DLSCH_SEGMENTS]; - unsigned char *channel_output_uncoded[MAX_NUM_DLSCH_SEGMENTS]; unsigned char *channel_input_optim[MAX_NUM_DLSCH_SEGMENTS]; - double *channel_output; - double *modulated_input[MAX_NUM_DLSCH_SEGMENTS]; - char *channel_output_fixed[MAX_NUM_DLSCH_SEGMENTS]; + //double channel_output[68 * 384]; + double modulated_input[MAX_NUM_DLSCH_SEGMENTS][68 * 384] = { 0 }; + char channel_output_fixed[MAX_NUM_DLSCH_SEGMENTS][68 * 384] = { 0 }; unsigned int i,j,trial=0; short BG=0,nrows=0;//,ncols; int no_punctured_columns,removed_bit; @@ -155,24 +154,12 @@ int test_ldpc(short No_iteration, // generate input block for(j=0;j>(i&7); - test_input_bit[i] = (test_input[j][i/8]&(1<<(i&7)))>>(i&7); // Further correct for multiple segments - if (estimated_output_bit[j][i] != test_input_bit[i]) - { + unsigned char estoutputbit = (estimated_output[j][i/8]&(1<<(i&7)))>>(i&7); + unsigned char inputbit = (test_input[j][i/8]&(1<<(i&7)))>>(i&7); // Further correct for multiple segments + if (estoutputbit != inputbit) *errors_bit = (*errors_bit) + 1; - } } //if (*errors == 1000) @@ -460,17 +441,8 @@ int test_ldpc(short No_iteration, for(j=0;j