Commit fe75a544 authored by chenhsunyang0922's avatar chenhsunyang0922

fix error in phy_procedures_lte_eNB_NB_IoT.c (ongoing)

parent 9d7568fc
...@@ -185,7 +185,6 @@ typedef struct { ...@@ -185,7 +185,6 @@ typedef struct {
/// Sub-block interleaver outputs /// Sub-block interleaver outputs
uint8_t w[3*3*(MAX_TBS_DL_SIZE_BITS_NB_IoT+24)]; // new parameter uint8_t w[3*3*(MAX_TBS_DL_SIZE_BITS_NB_IoT+24)]; // new parameter
/// Status Flag indicating for this DLSCH (idle,active,disabled) /// Status Flag indicating for this DLSCH (idle,active,disabled)
//SCH_status_t status; //SCH_status_t status;
/// Transport block size /// Transport block size
...@@ -547,7 +546,7 @@ typedef struct { ...@@ -547,7 +546,7 @@ typedef struct {
///in NB-IoT there is only 1 HARQ process for each UE therefore no pid is required/// ///in NB-IoT there is only 1 HARQ process for each UE therefore no pid is required///
/// The only HARQ process for the DLSCH /// The only HARQ process for the DLSCH
NB_IoT_DL_eNB_HARQ_t *harq_processes[8]; NB_IoT_DL_eNB_HARQ_t *harq_processes[8];
NB_IoT_DL_eNB_HARQ_t *harq_process;
// NB_IoT_DL_eNB_SIB1_t harq_process_sib1; // NB_IoT_DL_eNB_SIB1_t harq_process_sib1;
SCH_status_NB_IoT_t status; SCH_status_NB_IoT_t status;
...@@ -738,12 +737,19 @@ typedef struct { ...@@ -738,12 +737,19 @@ typedef struct {
uint16_t I_sc; uint16_t I_sc;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// First Allocated RB - previous scheduling
/// This is needed for PHICH generation which
/// is done after a new scheduling
uint16_t previous_first_rb;
} NB_IoT_UL_eNB_HARQ_t; } NB_IoT_UL_eNB_HARQ_t;
typedef struct { typedef struct {
/// Pointers to the HARQ processes for the NULSCH /// Pointers to the HARQ processes for the NULSCH
NB_IoT_UL_eNB_HARQ_t *harq_processes[8]; NB_IoT_UL_eNB_HARQ_t *harq_processes[8];
NB_IoT_UL_eNB_HARQ_t *harq_process;
/// Maximum number of HARQ rounds /// Maximum number of HARQ rounds
uint8_t Mlimit; uint8_t Mlimit;
/// Value 0 = npush format 1 (data) value 1 = npusch format 2 (ACK/NAK) /// Value 0 = npush format 1 (data) value 1 = npusch format 2 (ACK/NAK)
......
...@@ -814,7 +814,7 @@ typedef struct PHY_VARS_eNB_NB_IoT_s { ...@@ -814,7 +814,7 @@ typedef struct PHY_VARS_eNB_NB_IoT_s {
// DCI for at most 2 DCI pdus // DCI for at most 2 DCI pdus
DCI_PDU_NB_IoT *DCI_pdu; DCI_PDU_NB_IoT *DCI_pdu;
NB_IoT_eNB_NDLSCH_t *ndlsch_SIB23; NB_IoT_eNB_NDLSCH_t *ndlsch_SIB23,*dlsch_ra;
NB_IoT_eNB_NDLSCH_t *ndlsch_RAR; NB_IoT_eNB_NDLSCH_t *ndlsch_RAR;
NB_IoT_eNB_NPDCCH_t *npdcch_DCI; NB_IoT_eNB_NPDCCH_t *npdcch_DCI;
......
...@@ -50,6 +50,8 @@ extern LTE_DL_FRAME_PARMS *lte_frame_parms_g; ...@@ -50,6 +50,8 @@ extern LTE_DL_FRAME_PARMS *lte_frame_parms_g;
extern PHY_VARS_eNB * PHY_vars_eNB_g[MAX_eNB][MAX_NUM_CCs]; extern PHY_VARS_eNB * PHY_vars_eNB_g[MAX_eNB][MAX_NUM_CCs];
#endif #endif
extern short primary_synch0[144]; extern short primary_synch0[144];
extern short primary_synch1[144]; extern short primary_synch1[144];
extern short primary_synch2[144]; extern short primary_synch2[144];
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include "PHY/defs_eNB.h" #include "PHY/defs_eNB.h"
#include "PHY/defs_UE.h" #include "PHY/defs_UE.h"
#include "LTE_TDD-Config.h" #include "LTE_TDD-Config.h"
#include "PHY/defs_L1_NB_IoT.h"
/*! \brief Function to compute subframe Number(DL and S) as a function of Frame type and TDD Configuration /*! \brief Function to compute subframe Number(DL and S) as a function of Frame type and TDD Configuration
@param frame_parms Pointer to DL frame parameter descriptor @param frame_parms Pointer to DL frame parameter descriptor
@returns Subframe Number (DL,S) @returns Subframe Number (DL,S)
...@@ -39,7 +40,7 @@ int subframe_num(LTE_DL_FRAME_PARMS *frame_parms); ...@@ -39,7 +40,7 @@ int subframe_num(LTE_DL_FRAME_PARMS *frame_parms);
///////// NB_IoT testing /////////////////////////// ///////// NB_IoT testing ///////////////////////////
void prach_procedures_NB_IoT(PHY_VARS_eNB *eNB); void prach_procedures_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB);
/////////////////////////////////////////////////// ///////////////////////////////////////////////////
/*! \brief Function to compute subframe type as a function of Frame type and TDD Configuration (implements Table 4.2.2 from 36.211, p.11 from version 8.6) and subframe index. /*! \brief Function to compute subframe type as a function of Frame type and TDD Configuration (implements Table 4.2.2 from 36.211, p.11 from version 8.6) and subframe index.
...@@ -252,8 +253,8 @@ TDD, this routine computes the procedure described in Section 10.1 of 36.213 (th ...@@ -252,8 +253,8 @@ TDD, this routine computes the procedure described in Section 10.1 of 36.213 (th
@param n1_pucch2 Pointer to n1_pucch2 @param n1_pucch2 Pointer to n1_pucch2
@param n1_pucch3 Pointer to n1_pucch3 @param n1_pucch3 Pointer to n1_pucch3
*/ */
void get_n1_pucch_eNB(PHY_VARS_eNB *phy_vars_eNB, void get_n1_pucch_eNB(PHY_VARS_eNB_NB_IoT *phy_vars_eNB,
L1_rxtx_proc_t *proc, eNB_rxtx_proc_NB_IoT_t *proc,
uint8_t UE_id, uint8_t UE_id,
int16_t *n1_pucch0, int16_t *n1_pucch0,
int16_t *n1_pucch1, int16_t *n1_pucch1,
...@@ -271,8 +272,8 @@ void get_n1_pucch_eNB(PHY_VARS_eNB *phy_vars_eNB, ...@@ -271,8 +272,8 @@ void get_n1_pucch_eNB(PHY_VARS_eNB *phy_vars_eNB,
@param SR_payload Indication of SR presence (TDD specific) @param SR_payload Indication of SR presence (TDD specific)
*/ */
void process_HARQ_feedback(uint8_t UE_id, void process_HARQ_feedback(uint8_t UE_id,
PHY_VARS_eNB *phy_vars_eNB, PHY_VARS_eNB_NB_IoT *phy_vars_eNB,
L1_rxtx_proc_t *proc, eNB_rxtx_proc_NB_IoT_t *proc,
uint8_t pusch_flag, uint8_t pusch_flag,
uint8_t *pucch_payload, uint8_t *pucch_payload,
uint8_t pucch_sel, uint8_t pucch_sel,
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
int Irep_to_Nrep_x[16] = {1,2,4,8,16,32,64,128,192,256,384,512,768,1024,1536,2048}; int Irep_to_Nrep_x[16] = {1,2,4,8,16,32,64,128,192,256,384,512,768,1024,1536,2048};
void handle_nfapi_dlsch_pdu_NB_IoT(PHY_VARS_eNB *eNB, void handle_nfapi_dlsch_pdu_NB_IoT(PHy_vars_eNB_NB_IoT *eNB,
eNB_rxtx_proc_NB_IoT_t *proc, eNB_rxtx_proc_NB_IoT_t *proc,
nfapi_dl_config_request_pdu_t *dl_config_pdu, nfapi_dl_config_request_pdu_t *dl_config_pdu,
uint8_t *sdu) uint8_t *sdu)
......
...@@ -1302,8 +1302,8 @@ void fill_rx_indication_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB,eNB_rxtx_proc_NB_IoT_t * ...@@ -1302,8 +1302,8 @@ void fill_rx_indication_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB,eNB_rxtx_proc_NB_IoT_t *
pdu = &eNB->UL_INFO.RX_NPUSCH.rx_pdu_list[0]; pdu = &eNB->UL_INFO.RX_NPUSCH.rx_pdu_list[0];
pdu->rx_ue_information.rnti = eNB->ulsch_NB_IoT[0]->rnti; pdu->rx_ue_information.rnti = eNB->ulsch_NB_IoT[0]->rnti;
pdu->rx_indication_rel8.length = eNB->ulsch_NB_IoT[0]->harq_processes->TBS; //eNB->ulsch_NB_IoT[0]->harq_process->TBS>>3; pdu->rx_indication_rel8.length = eNB->ulsch_NB_IoT[0]->harq_processes.TBS; //eNB->ulsch_NB_IoT[0]->harq_process->TBS>>3;
pdu->data = eNB->ulsch_NB_IoT[0]->harq_processes->b; pdu->data = eNB->ulsch_NB_IoT[0]->harq_processes.b;
} else { // format 2 } else { // format 2
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment