diff --git a/openair1/PHY/CODING/coding_defs.h b/openair1/PHY/CODING/coding_defs.h index f733b91eaacfaac6c8c502451254e84c30302936..001f17dad77e1a9bd2b1569b90458f1725b3b76a 100644 --- a/openair1/PHY/CODING/coding_defs.h +++ b/openair1/PHY/CODING/coding_defs.h @@ -430,4 +430,20 @@ uint32_t crcbit (uint8_t * , int16_t reverseBits(int32_t ,int32_t); void phy_viterbi_dot11(int8_t *,uint8_t *,uint16_t); +int32_t nr_segmentation(unsigned char *input_buffer, + unsigned char **output_buffers, + unsigned int B, + unsigned int *C, + unsigned int *Kplus, + unsigned int *Kminus, + unsigned int *Zout, + unsigned int *F); + +uint32_t nr_compute_tbs(uint8_t mcs, + uint16_t nb_rb, + uint16_t nb_symb_sch, + uint8_t nb_re_dmrs, + uint16_t length_dmrs, + uint8_t Nl); + #endif diff --git a/openair1/PHY/CODING/nr_compute_tbs.c b/openair1/PHY/CODING/nr_compute_tbs.c index 6cc19d23ffdedc506f350d826d54e4733abca425..d995befdb586e8966e067fef1ccfaf2248da52f2 100644 --- a/openair1/PHY/CODING/nr_compute_tbs.c +++ b/openair1/PHY/CODING/nr_compute_tbs.c @@ -57,12 +57,16 @@ uint16_t Mcsindextable1[29][3] = {{2,120,0.2344}, {6,873,5.1152}, {6,910,5.3320}, {6,948,5.5547}}; - +//Table 5.1.2.2-2 uint16_t Tbstable_nr[INDEX_MAX_TBS_TABLE] = {24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,144,152,160,168,176,184,192,208,224,240,256,272,288,304,320,336,352,368,384,408,432,456,480,504,528,552,576,608,640,672,704,736,768,808,848,888,928,984,1032,1064,1128,1160,1192,1224,1256,1288,1320,1352,1416,1480,1544,1608,1672,1736,1800,1864,1928,2024,2088,2152,2216,2280,2408,2472,2536,2600,2664,2728,2792,2856,2976,3104,3240,3368,3496,3624,3752,3824}; -uint32_t nr_compute_tbs(uint8_t mcs, uint16_t nb_rb,uint16_t nb_symb_sch,uint8_t nb_re_dmrs,uint16_t length_dmrs, uint8_t Nl) +uint32_t nr_compute_tbs(uint8_t mcs, + uint16_t nb_rb, + uint16_t nb_symb_sch, + uint8_t nb_re_dmrs, + uint16_t length_dmrs, + uint8_t Nl) { - uint16_t nbp_re, nb_re, nb_dmrs_prb, nb_rb_oh, Ninfo,Np_info,n,Qm,R,C; uint32_t nr_tbs;