uint8_tNsf,// number of subframes required for npdsch pdu transmission calculated from Isf (3GPP spec table)
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)
unsignedintG)// G (number of available RE) is implicitly multiplied by 2 (since only QPSK modulation)
{
{
uint32_tcrc=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
//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
((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
((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
4,
RB_IoT_ID);
}
///////////////////////////////////////////////////////// END ////////////////////////////////////////////////////////
dlsch_sib_scrambling_NB_IoT(fp,// is called only in subframe 4
sib23,
1888,////// total_bits
frame,
subframe*2);
}
if(subframe<5)
{
dlsch_modulation_NB_IoT(txdataF,
AMP,
fp,
3,// control region size for LTE , values between 0..3, (0 for stand-alone / 1, 2 or 3 for in-band)
sib23,
236,// number of bits per subframe
(subframe-1),///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
subframe,
RB_IoT_ID);
RB_IoT_ID);
}else{
dlsch_modulation_NB_IoT(txdataF,
AMP,
fp,
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
(subframe-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
subframe,
RB_IoT_ID);
}
}
}
//////////////////////////////////////////////////// END ////////////////////////////////////////////////////////////////////////
@@ -332,8 +332,8 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
...
@@ -332,8 +332,8 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
// Now, follow the scheduler SIB configuration
// Now, follow the scheduler SIB configuration
// There is only one sib2+sib3 common setting
// There is only one sib2+sib3 common setting
schedulingInfo_NB_IoT.si_Periodicity_r13=SchedulingInfo_NB_r13__si_Periodicity_r13_rf4096;// (to be set to 64)
schedulingInfo_NB_IoT.si_Periodicity_r13=SchedulingInfo_NB_r13__si_Periodicity_r13_rf64;//SchedulingInfo_NB_r13__si_Periodicity_r13_rf4096; // (to be set to 64)
schedulingInfo_NB_IoT.si_RepetitionPattern_r13=SchedulingInfo_NB_r13__si_RepetitionPattern_r13_every2ndRF;//This Indicates the starting radio frames within the SI window used for SI message transmission.
schedulingInfo_NB_IoT.si_RepetitionPattern_r13=SchedulingInfo_NB_r13__si_RepetitionPattern_r13_every2ndRF;//This Indicates the starting radio frames within the SI window used for SI message transmission.
(*sib1_NB_IoT)->cellSelectionInfo_r13.q_QualMin_r13=-22;//FIXME new parameter for SIB1-NB, not present in SIB1 (for cell reselection but if not used the UE should apply the default value)
5;//if not configured we use band 5 (UL: 824 MHz - 849MHz / DL: 869 MHz - 894 MHz FDD mode)
#endif
// Now, follow the scheduler SIB configuration
// There is only one sib2+sib3 common setting
schedulingInfo_NB_IoT.si_Periodicity_r13=SchedulingInfo_NB_r13__si_Periodicity_r13_rf64;//SchedulingInfo_NB_r13__si_Periodicity_r13_rf4096; // (to be set to 64)
schedulingInfo_NB_IoT.si_RepetitionPattern_r13=SchedulingInfo_NB_r13__si_RepetitionPattern_r13_every2ndRF;//This Indicates the starting radio frames within the SI window used for SI message transmission.