uint8_tNsf,// number of subframes required for npdsch pdu transmission calculated from Isf (3GPP spec table)
unsignedintG)// G (number of available RE) is implicitly multiplied by 2 (since only QPSK modulation)
{
unsignedintcrc=1;
uint32_tcrc=1;
//unsigned char harq_pid = dlsch->current_harq_pid; // to check during implementation if harq_pid is required in the NB_IoT_eNB_DLSCH_t structure in defs_NB_IoT.h
uint8_toption1,option2,option3,option4;
unsignedintA;
uint8_tRCC;
//uint8_t npbch_a[21];
//bzero(npbch_a,21);
uint8_tnpbch_a[85];
uint8_tnpbch_a_crc[88];
bzero(npbch_a,85);
bzero(npbch_a_crc,88);
//A = dlsch->harq_process_sib1.TBS; // 680
//A = 19*8; // 680
A=680;
dlsch->length_e=G*Nsf;// G*Nsf (number_of_subframes) = total number of bits to transmit G=236
int32_tnumbits=A+24;
...
...
@@ -114,48 +110,25 @@ int dlsch_encoding_NB_IoT(unsigned char *a,
3,// control region size for LTE , values between 0..3, (0 for stand-alone / 1, 2 or 3 for in-band)
sib1,
236,// number of bits per subframe
((frame%32)/2),///npdsch_data_subframe, data per subframe // subframe index of the data table of npdsch channel (G*Nsf) , values are between 0..Nsf
((frame%32)/2),///npdsch_data_subframe, data per subframe//subframe index of the data table of npdsch channel (G*Nsf) ((frame%32)/2),values are between 0..Nsf