diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/cnProc_gen.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/cnProc_gen.c index 31c907d8e9..632827b871 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/cnProc_gen.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/cnProc_gen.c @@ -9,12 +9,17 @@ #include "../nrLDPC_bnProc.h" #include "cnProc_gen.h" -void nrLDPC_cnProc_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_procBuf, uint16_t Z) +void nrLDPC_cnProc_BG1_generator(t_nrLDPC_procBuf* p_procBuf, uint16_t Z,int R) { printf("void nrLDPC_cnProc_BG1_Z%d\n",Z); - const uint8_t* lut_numCnInCnGroups = p_lut->numCnInCnGroups; - const uint32_t* lut_startAddrCnGroups = p_lut->startAddrCnGroups; + const uint8_t* lut_numCnInCnGroups; + const uint32_t* lut_startAddrCnGroups = lut_startAddrCnGroups_BG1; + + if (R==0) lut_numCnInCnGroups = lut_numCnInCnGroups_BG1_R13; + else if (R==1) lut_numCnInCnGroups = lut_numCnInCnGroups_BG1_R23; + else if (R==2) lut_numCnInCnGroups = lut_numCnInCnGroups_BG1_R89; + else { printf("aborting, illegal R %d\n",R); abort();} int8_t* cnProcBuf = p_procBuf->cnProcBuf; int8_t* cnProcBufRes = p_procBuf->cnProcBufRes; diff --git a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/main.c b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/main.c index 45b79ffa52..35b78963b6 100644 --- a/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/main.c +++ b/openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/main.c @@ -59,12 +59,12 @@ int main(int argc, char *argv[]) t_nrLDPC_procBuf* p_procBuf = &cnProcBuf; // load_nrLDPClib(); - t_nrLDPC_lut lut_numCnInCnGroups; - t_nrLDPC_lut* p_lut = &lut_numCnInCnGroups; + // load_nrLDPClib_ref("_orig", &encoder_orig); - nrLDPC_cnProc_BG1(p_lut,p_procBuf,384); + // Z=384, R=1/3 + nrLDPC_cnProc_BG1_generator(p_procBuf,384,0); //nrLDPC_cnProc_BG1(&lut_numCnInCnGroups, &cnProcBuf, 380); //for (block_length=8;block_length<=MAX_BLOCK_LENGTH;block_length+=8)