diff --git a/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c index 65423aa9b6600b8b68f7f5c40db5b18a9a930e38..17748af0b9e4428ab998160346fd3eb510cf9b43 100644 --- a/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c +++ b/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c @@ -267,33 +267,28 @@ int32_t temp_in_ifft_0[2048*2] __attribute__((aligned(32))); #endif } - - - // Convert to time domain for visualization + memset(temp_in_ifft_0,0,frame_parms->ofdm_symbol_size*sizeof(int32_t)); for(i=0; i<Msc_RS; i++) ((int32_t*)temp_in_ifft_0)[i] = ul_ch_estimates[aa][symbol_offset+i]; + switch(frame_parms->N_RB_DL) { case 6: - idft128((int16_t*) temp_in_ifft_0, (int16_t*) ul_ch_estimates_time[aa], 1); break; case 25: - idft512((int16_t*) temp_in_ifft_0, (int16_t*) ul_ch_estimates_time[aa], 1); break; case 50: - idft1024((int16_t*) temp_in_ifft_0, (int16_t*) ul_ch_estimates_time[aa], 1); break; case 100: - idft2048((int16_t*) temp_in_ifft_0, (int16_t*) ul_ch_estimates_time[aa], 1); diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index a4dce4d1ccf6fd8072bea6aaa5196fb00b9e37a8..8a3047b5b2dac3aedd81088398610565f88865c2 100644 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -6394,12 +6394,11 @@ uint8_t ul_subframe2pdcch_alloc_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint8_t return(9); else return((n+6)%10); - } uint32_t pdcch_alloc2ul_frame(LTE_DL_FRAME_PARMS *frame_parms,uint32_t frame, uint8_t n) { - uint32_t ul_frame = 255; + uint32_t ul_frame; if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config == 1) && @@ -6417,8 +6416,7 @@ uint32_t pdcch_alloc2ul_frame(LTE_DL_FRAME_PARMS *frame_parms,uint32_t frame, ui ul_frame = (frame+(n>=6 ? 1 : 0)); LOG_D(PHY, "frame %d subframe %d: PUSCH frame = %d\n", frame, n, ul_frame); - return ul_frame; - + return ul_frame % 1024; } int32_t pmi_convert_rank1_from_rank2(uint16_t pmi_alloc, int tpmi, int nb_rb) diff --git a/openair1/PHY/LTE_TRANSPORT/phich.c b/openair1/PHY/LTE_TRANSPORT/phich.c index 897034c072edac083e54eb47b3bbfbf3195e2ce4..0f6270956c174ab846be74653634e7887d5266aa 100644 --- a/openair1/PHY/LTE_TRANSPORT/phich.c +++ b/openair1/PHY/LTE_TRANSPORT/phich.c @@ -151,18 +151,19 @@ unsigned char subframe2_ul_harq(LTE_DL_FRAME_PARMS *frame_parms,unsigned char su return(0); } -uint8_t phich_frame2_pusch_frame(LTE_DL_FRAME_PARMS *frame_parms,frame_t frame,uint8_t subframe) +int phich_frame2_pusch_frame(LTE_DL_FRAME_PARMS *frame_parms, int frame, int subframe) { - uint8_t pusch_frame = 255; + int pusch_frame; + if (frame_parms->frame_type == FDD) { - pusch_frame = ((subframe<4) ? (frame - 1) : frame); + pusch_frame = subframe<4 ? frame + 1024 - 1 : frame; } else { // Note this is not true, but it doesn't matter, the frame number is irrelevant for TDD! pusch_frame = (frame); } LOG_D(PHY, "frame %d subframe %d: PUSCH frame = %d\n", frame, subframe, pusch_frame); - return pusch_frame; + return pusch_frame % 1024; } uint8_t phich_subframe2_pusch_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint8_t subframe) diff --git a/openair1/PHY/LTE_TRANSPORT/proto.h b/openair1/PHY/LTE_TRANSPORT/proto.h index d09e8dc3927e27c145a06c5ef65fe573cacff587..441cd5539a72102c7f16a0a004f1a7ca4fc8309a 100644 --- a/openair1/PHY/LTE_TRANSPORT/proto.h +++ b/openair1/PHY/LTE_TRANSPORT/proto.h @@ -1950,7 +1950,7 @@ uint8_t phich_subframe2_pusch_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint8_t s @param subframe Subframe of received/transmitted PHICH @returns frame of PUSCH transmission */ -uint8_t phich_frame2_pusch_frame(LTE_DL_FRAME_PARMS *frame_parms,frame_t frame,uint8_t subframe); +int phich_frame2_pusch_frame(LTE_DL_FRAME_PARMS *frame_parms, int frame, int subframe); void print_CQI(void *o,UCI_format_t uci_format,uint8_t eNB_id,int N_RB_DL); diff --git a/openair1/SCHED/fapi_l1.c b/openair1/SCHED/fapi_l1.c index a5b0179c7d75c31b02e940ed87631dd6c961c2dd..11cd85d57d35af1c3614c37dfdb44cccc1be70e1 100644 --- a/openair1/SCHED/fapi_l1.c +++ b/openair1/SCHED/fapi_l1.c @@ -587,7 +587,7 @@ void schedule_response(Sched_Rsp_t *Sched_INFO) ul_frame = pdcch_alloc2ul_frame(fp,frame,subframe); AssertFatal(proc->subframe_tx == subframe, "Current subframe %d != NFAPI subframe %d\n",proc->subframe_tx,subframe); - AssertFatal(proc->subframe_tx == subframe, "Current frame %d != NFAPI frame %d\n",proc->frame_tx,frame); + AssertFatal(proc->frame_tx == frame, "Current frame %d != NFAPI frame %d\n",proc->frame_tx,frame); uint8_t number_dl_pdu = DL_req->dl_config_request_body.number_pdu; uint8_t number_hi_dci0_pdu = HI_DCI0_req->hi_dci0_request_body.number_of_dci+HI_DCI0_req->hi_dci0_request_body.number_of_hi;