From 838997d084f448340300d7ac570be5ff43b0c67a Mon Sep 17 00:00:00 2001 From: Raymond Knopp <raymond.knopp@eurecom.fr> Date: Thu, 18 Sep 2014 10:24:07 +0000 Subject: [PATCH] git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5794 818b1a75-f10b-46b9-bf7c-635c3b92a50f --- openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c | 6 +-- .../PHY/LTE_ESTIMATION/lte_est_freq_offset.c | 8 ++-- .../lte_ul_channel_estimation.c | 4 +- openair1/PHY/LTE_TRANSPORT/dci_tools.c | 2 +- openair1/PHY/LTE_TRANSPORT/initial_sync.c | 4 +- openair1/PHY/LTE_TRANSPORT/phich.c | 3 +- openair1/PHY/LTE_TRANSPORT/pmch.c | 2 + openair1/PHY/LTE_TRANSPORT/prach.c | 4 +- openair1/PHY/LTE_TRANSPORT/rar_tools.c | 2 +- openair1/PHY/MODULATION/slot_fep.c | 2 +- openair1/SCHED/defs.h | 3 +- openair1/SCHED/phy_procedures_lte_eNb.c | 43 ++++++++++++++----- openair1/SCHED/phy_procedures_lte_ue.c | 19 +++++--- 13 files changed, 68 insertions(+), 34 deletions(-) diff --git a/openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c b/openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c index efbfad45bc..eb1baa3851 100644 --- a/openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c +++ b/openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c @@ -53,7 +53,7 @@ void lte_adjust_synch(LTE_DL_FRAME_PARMS *frame_parms, ncoef = 32767 - coef; #ifdef DEBUG_PHY - LOG_D(PHY,"frame %d: rx_offset (before) = %d\n",phy_vars_ue->frame_rx,phy_vars_ue->rx_offset); + LOG_D(PHY,"frame %d, slot %d: rx_offset (before) = %d\n",phy_vars_ue->frame_rx,phy_vars_ue->slot_rx,phy_vars_ue->rx_offset); #endif //DEBUG_PHY @@ -77,7 +77,7 @@ void lte_adjust_synch(LTE_DL_FRAME_PARMS *frame_parms, else max_pos_fil = ((max_pos_fil * coef) + (max_pos * ncoef)) >> 15; - + diff = max_pos_fil - 2; //frame_parms->nb_prefix_samples/8; if ( diff > SYNCH_HYST ) @@ -91,7 +91,7 @@ void lte_adjust_synch(LTE_DL_FRAME_PARMS *frame_parms, if ( phy_vars_ue->rx_offset >= FRAME_LENGTH_COMPLEX_SAMPLES ) phy_vars_ue->rx_offset -= FRAME_LENGTH_COMPLEX_SAMPLES; - + #ifdef DEBUG_PHY LOG_D(PHY,"frame %d: rx_offset (after) = %d : max_pos = %d,max_pos_fil = %d (peak %d)\n", diff --git a/openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c b/openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c index 9b23864dbc..e29d2d644d 100644 --- a/openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c +++ b/openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c @@ -102,7 +102,7 @@ int lte_est_freq_offset(int **dl_ch_estimates, dl_ch = (int16_t *)&dl_ch_estimates[aa][12+ch_offset]; - dl_ch_shift = 4+(log2_approx(dl_channel_level(dl_ch,frame_parms))/2); + dl_ch_shift = 6+(log2_approx(dl_channel_level(dl_ch,frame_parms))/2); // printf("dl_ch_shift: %d\n",dl_ch_shift); if (ch_offset == 0) @@ -131,12 +131,12 @@ int lte_est_freq_offset(int **dl_ch_estimates, omega_cpx->i += ((struct complex16*) &omega)->i; // phase_offset += atan2((double)omega_cpx->i,(double)omega_cpx->r); phase_offset += atan2((double)omega_cpx->i,(double)omega_cpx->r); - // printf("omega (%d,%d) -> %f\n",omega_cpx->r,omega_cpx->i,phase_offset); + // LOG_D(PHY,"omega (%d,%d) -> %f\n",omega_cpx->r,omega_cpx->i,phase_offset); } // phase_offset /= (frame_parms->nb_antennas_rx*frame_parms->nb_antennas_tx); - freq_offset_est = (int) (phase_offset/(2*M_PI)/2.5e-4); //2.5e-4 is the time between pilot symbols - // printf("symbol %d : freq_offset_est %d\n",l,freq_offset_est); + freq_offset_est = (int) (phase_offset/(2*M_PI)/(frame_parms->Ncp==NORMAL ? (285.8e-6):(2.5e-4))); //2.5e-4 is the time between pilot symbols + // LOG_D(PHY,"symbol %d : freq_offset_est %d\n",l,freq_offset_est); // update freq_offset with phase_offset using a moving average filter if (first_run == 1) { diff --git a/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c index 7b475ff255..21a5e14ccb 100644 --- a/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c +++ b/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c @@ -138,8 +138,8 @@ int32_t lte_ul_channel_estimation(PHY_VARS_eNB *phy_vars_eNB, Msc_RS_idx = b; #endif - // msg("lte_ul_channel_estimation: subframe %d, Ns %d, l %d, Msc_RS = %d, Msc_RS_idx = %d, u %d, v %d, cyclic_shift %d\n",subframe,Ns,l,Msc_RS, Msc_RS_idx,u,v,cyclic_shift); - #ifdef DEBUG_CH + // LOG_I(PHY,"subframe %d, Ns %d, l %d, Msc_RS = %d, Msc_RS_idx = %d, u %d, v %d, cyclic_shift %d\n",subframe,Ns,l,Msc_RS, Msc_RS_idx,u,v,cyclic_shift); +#ifdef DEBUG_CH #ifdef USER_MODE if (Ns==0) diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c index ae9ec7c2c9..df6ddd50c3 100644 --- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c @@ -3678,7 +3678,7 @@ uint8_t ul_subframe2pdcch_alloc_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint8_t } -uint8_t pdcch_alloc2ul_frame(LTE_DL_FRAME_PARMS *frame_parms,uint32_t frame, uint8_t n){ +uint32_t pdcch_alloc2ul_frame(LTE_DL_FRAME_PARMS *frame_parms,uint32_t frame, uint8_t n){ if ((frame_parms->frame_type == TDD) && (frame_parms->tdd_config == 1) && diff --git a/openair1/PHY/LTE_TRANSPORT/initial_sync.c b/openair1/PHY/LTE_TRANSPORT/initial_sync.c index de430d0d15..19494b36d1 100644 --- a/openair1/PHY/LTE_TRANSPORT/initial_sync.c +++ b/openair1/PHY/LTE_TRANSPORT/initial_sync.c @@ -48,7 +48,7 @@ #include "gain_control.h" #endif -#define DEBUG_INITIAL_SYNCH +//#define DEBUG_INITIAL_SYNCH int pbch_detection(PHY_VARS_UE *phy_vars_ue, runmode_t mode) { @@ -458,7 +458,7 @@ int initial_sync(PHY_VARS_UE *phy_vars_ue, runmode_t mode) { #ifdef OPENAIR2 LOG_I(PHY,"[PHY][UE%d] Sending synch status to higher layers\n",phy_vars_ue->Mod_id); //mac_resynch(); - mac_xface->dl_phy_sync_success(phy_vars_ue->Mod_id,phy_vars_ue->frame_rx,0,1);//phy_vars_ue->lte_ue_common_vars.eNb_id); + mac_xface->dl_phy_sync_success(phy_vars_ue->Mod_id,phy_vars_ue->frame_rx,0,1);//phy_vars_ue->lte_ue_common_vars.eNb_id); #endif //OPENAIR2 generate_pcfich_reg_mapping(frame_parms); diff --git a/openair1/PHY/LTE_TRANSPORT/phich.c b/openair1/PHY/LTE_TRANSPORT/phich.c index 5866dcd0cb..2058d2ee89 100644 --- a/openair1/PHY/LTE_TRANSPORT/phich.c +++ b/openair1/PHY/LTE_TRANSPORT/phich.c @@ -53,7 +53,8 @@ //unsigned short phich_reg[MAX_NUM_PHICH_GROUPS][3]; -uint8_t rv_table[4] = {0, 2, 3, 1}; //36.321 5.4.2.2 + +uint8_t rv_table[4] = {0, 2, 3, 1}; uint8_t get_mi(LTE_DL_FRAME_PARMS *frame_parms,uint8_t subframe) { diff --git a/openair1/PHY/LTE_TRANSPORT/pmch.c b/openair1/PHY/LTE_TRANSPORT/pmch.c index 6c7dd81ec4..d906b8ec82 100644 --- a/openair1/PHY/LTE_TRANSPORT/pmch.c +++ b/openair1/PHY/LTE_TRANSPORT/pmch.c @@ -104,6 +104,8 @@ int is_pmch_subframe(uint32_t frame, int subframe, LTE_DL_FRAME_PARMS *frame_par uint32_t period; uint8_t i; + // LOG_D(PHY,"is_pmch_subframe: frame %d, subframe %d, num_MBSFN_config %d\n", + // frame,subframe,frame_parms->num_MBSFN_config); for (i=0; i<frame_parms->num_MBSFN_config; i++) { // we have at least one MBSFN configuration period = 1<<frame_parms->MBSFN_config[i].radioframeAllocationPeriod; diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c index f2d89bccd2..bb0e5f8bd0 100644 --- a/openair1/PHY/LTE_TRANSPORT/prach.c +++ b/openair1/PHY/LTE_TRANSPORT/prach.c @@ -801,7 +801,7 @@ void rx_prach(PHY_VARS_eNB *phy_vars_eNB,uint8_t subframe,uint16_t *preamble_ene uint8_t new_dft=0; uint8_t aa; int32_t lev; - int8_t levdB; + int16_t levdB; int fft_size,log2_ifft_size; uint8_t nb_ant_rx = 1; //phy_vars_eNB->lte_frame_parms.nb_antennas_rx; @@ -1121,7 +1121,7 @@ void rx_prach(PHY_VARS_eNB *phy_vars_eNB,uint8_t subframe,uint16_t *preamble_ene for (aa=0; aa<nb_ant_rx; aa++) { lev += (int32_t)prach_ifft[aa][(preamble_shift2+i)<<2]*prach_ifft[aa][(preamble_shift2+i)<<2] + (int32_t)prach_ifft[aa][1+((preamble_shift2+i)<<2)]*prach_ifft[aa][1+((preamble_shift2+i)<<2)]; } - levdB = dB_fixed(lev); + levdB = dB_fixed_times10(lev); if (levdB>preamble_energy_list[preamble_index] ) { preamble_energy_list[preamble_index] = levdB; diff --git a/openair1/PHY/LTE_TRANSPORT/rar_tools.c b/openair1/PHY/LTE_TRANSPORT/rar_tools.c index 0ac7497e38..b38f1e2d61 100644 --- a/openair1/PHY/LTE_TRANSPORT/rar_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/rar_tools.c @@ -80,7 +80,7 @@ int generate_eNB_ulsch_params_from_rar(unsigned char *rar_pdu, uint16_t *RIV2nb_rb_LUT, *RIV2first_rb_LUT; uint16_t RIV_max; - LOG_D(PHY,"[eNB][RAPROC] generate_eNB_ulsch_params_from_rar: subframe %d (harq_pid %d)\n",subframe,harq_pid); + LOG_I(PHY,"[eNB][RAPROC] generate_eNB_ulsch_params_from_rar: subframe %d (harq_pid %d)\n",subframe,harq_pid); switch (frame_parms->N_RB_DL) { case 6: RIV2nb_rb_LUT = &RIV2nb_rb_LUT6[0]; diff --git a/openair1/PHY/MODULATION/slot_fep.c b/openair1/PHY/MODULATION/slot_fep.c index 0125aba02e..357c0aa871 100644 --- a/openair1/PHY/MODULATION/slot_fep.c +++ b/openair1/PHY/MODULATION/slot_fep.c @@ -166,7 +166,7 @@ int slot_fep(PHY_VARS_UE *phy_vars_ue, #ifdef DEBUG_FEP msg("Frequency offset estimation\n"); #endif - if ((l == 0) || (l==(4-frame_parms->Ncp))) { + if (l==(4-frame_parms->Ncp)) { start_meas(&phy_vars_ue->dlsch_freq_offset_estimation_stats); lte_est_freq_offset(ue_common_vars->dl_ch_estimates[0], frame_parms, diff --git a/openair1/SCHED/defs.h b/openair1/SCHED/defs.h index 599eca9bb9..d25fac0786 100644 --- a/openair1/SCHED/defs.h +++ b/openair1/SCHED/defs.h @@ -416,7 +416,7 @@ uint8_t pdcch_alloc2ul_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint8_t n); @param n subframe of PDCCH @returns UL frame corresponding to pdcch order */ -uint8_t pdcch_alloc2ul_frame(LTE_DL_FRAME_PARMS *frame_parms,uint32_t frame, uint8_t n); +uint32_t pdcch_alloc2ul_frame(LTE_DL_FRAME_PARMS *frame_parms,uint32_t frame, uint8_t n); uint16_t get_Np(uint8_t N_RB_DL,uint8_t nCCE,uint8_t plus1); @@ -533,7 +533,6 @@ void dump_dlsch(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t subframe,uint8_t void dump_dlsch_SI(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t subframe); void dump_dlsch_ra(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t subframe); -uint8_t pdcch_alloc2ul_frame(LTE_DL_FRAME_PARMS *frame_parms,uint32_t frame, uint8_t n); /**@}*/ #endif //OPENAIR_LTE diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 710069153e..0c0dd49a8b 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -1620,13 +1620,16 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e } #ifdef DEBUG_PHY_PROC //if (phy_vars_eNB->proc[sched_subframe].frame_tx%100 == 0) - LOG_I(PHY,"[eNB %d][PUSCH %d] Frame %d subframe %d Generated ULSCH (format0) DCI (rnti %x, dci %x) (DCI pos %d/%d), aggregation %d\n", + LOG_I(PHY,"[eNB %d][PUSCH %d] Frame %d subframe %d UL Frame %d, UL Subframe %d, Generated ULSCH (format0) DCI (rnti %x, dci %x) (DCI pos %d/%d), aggregation %d\n", phy_vars_eNB->Mod_id, subframe2harq_pid(&phy_vars_eNB->lte_frame_parms, - pdcch_alloc2ul_frame(&phy_vars_eNB->lte_frame_parms,(((subframe)==0)?1:0)+phy_vars_eNB->proc[sched_subframe].frame_tx,subframe), + pdcch_alloc2ul_frame(&phy_vars_eNB->lte_frame_parms,phy_vars_eNB->proc[sched_subframe].frame_tx,subframe), pdcch_alloc2ul_subframe(&phy_vars_eNB->lte_frame_parms,subframe)), - pdcch_alloc2ul_frame(&phy_vars_eNB->lte_frame_parms,(((subframe)==0)?1:0)+phy_vars_eNB->proc[sched_subframe].frame_tx,subframe), - subframe,DCI_pdu->dci_alloc[i].rnti, + phy_vars_eNB->proc[sched_subframe].frame_tx, + subframe, + pdcch_alloc2ul_frame(&phy_vars_eNB->lte_frame_parms,phy_vars_eNB->proc[sched_subframe].frame_tx,subframe), + pdcch_alloc2ul_subframe(&phy_vars_eNB->lte_frame_parms,subframe), + DCI_pdu->dci_alloc[i].rnti, *(unsigned int *)&DCI_pdu->dci_alloc[i].dci_pdu[0], i,DCI_pdu->Num_common_dci + DCI_pdu->Num_ue_spec_dci, 1<<DCI_pdu->dci_alloc[i].L); @@ -1867,6 +1870,13 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e phy_vars_eNB->proc[sched_subframe].frame_tx, &phy_vars_eNB->ulsch_eNB[(uint32_t)UE_id]->Msg3_frame, &phy_vars_eNB->ulsch_eNB[(uint32_t)UE_id]->Msg3_subframe); + LOG_I(PHY,"[eNB][RAPROC] Frame %d subframe %d, Activated Msg3 demodulation for UE %d in frame %d, subframe %d\n", + phy_vars_eNB->proc[sched_subframe].frame_tx, + subframe, + UE_id, + phy_vars_eNB->ulsch_eNB[(uint32_t)UE_id]->Msg3_frame, + phy_vars_eNB->ulsch_eNB[(uint32_t)UE_id]->Msg3_subframe); + #else for (i=0;i<input_buffer_length;i++) dlsch_input_buffer[i]= (unsigned char) i; //(taus()&0xff); @@ -2552,6 +2562,8 @@ void get_n1_pucch_eNB(PHY_VARS_eNB *phy_vars_eNB, } +extern int16_t prach_ifft[4][1024*4]; + void prach_procedures(PHY_VARS_eNB *phy_vars_eNB,uint8_t sched_subframe,uint8_t abstraction_flag) { uint16_t preamble_energy_list[64],preamble_delay_list[64]; @@ -2589,7 +2601,7 @@ void prach_procedures(PHY_VARS_eNB *phy_vars_eNB,uint8_t sched_subframe,uint8_t if ((PHY_vars_UE_g[UE_id][CC_id]->generate_prach==1) && (PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.prach_config_common.rootSequenceIndex == phy_vars_eNB->lte_frame_parms.prach_config_common.rootSequenceIndex) ) { - preamble_energy_list[PHY_vars_UE_g[UE_id][CC_id]->prach_PreambleIndex] = 80; + preamble_energy_list[PHY_vars_UE_g[UE_id][CC_id]->prach_PreambleIndex] = 800; preamble_delay_list[PHY_vars_UE_g[UE_id][CC_id]->prach_PreambleIndex] = 5; } @@ -2612,16 +2624,27 @@ void prach_procedures(PHY_VARS_eNB *phy_vars_eNB,uint8_t sched_subframe,uint8_t preamble_delay_list[preamble_max]); #endif - if (preamble_energy_list[preamble_max] > 60) { + if (preamble_energy_list[preamble_max] > 600) { + /* + write_output("prach_ifft0.m","prach_t0",prach_ifft[0],2048,1,1); + write_output("prach_rx0.m","prach_rx0",&phy_vars_eNB->lte_eNB_common_vars.rxdata[0][0][subframe*phy_vars_eNB->lte_frame_parms.samples_per_tti],6144+792,1,1); + write_output("prach_rxF0.m","prach_rxF0",phy_vars_eNB->lte_eNB_prach_vars.rxsigF[0],24576,1,1); + + mac_xface->macphy_exit("Exiting for PRACH debug\n"); + */ + UE_id = find_next_ue_index(phy_vars_eNB); if (UE_id>=0) { phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].UE_timing_offset = preamble_delay_list[preamble_max]&0x1FFF; //limit to 13 (=11+2) bits //phy_vars_eNb->eNB_UE_stats[(uint32_t)UE_id].mode = PRACH; phy_vars_eNB->eNB_UE_stats[(uint32_t)UE_id].sector = 0; - LOG_I(PHY,"[eNB %d][RAPROC] Initiating RA procedure with preamble %d, energy %d, delay %d\n", + LOG_I(PHY,"[eNB %d][RAPROC] Frame %d, subframe %d Initiating RA procedure with preamble %d, energy %d.%d dB, delay %d\n", phy_vars_eNB->Mod_id, + frame, + subframe, preamble_max, - preamble_energy_max, + preamble_energy_max/10, + preamble_energy_max%10, preamble_delay_list[preamble_max]); #ifdef OPENAIR2 mac_xface->initiate_ra_proc(phy_vars_eNB->Mod_id, @@ -2645,6 +2668,7 @@ void ulsch_decoding_procedures(unsigned char subframe, unsigned int i, PHY_VARS_ } + void phy_procedures_eNB_RX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_eNB,uint8_t abstraction_flag,relaying_type_t r_type) { //RX processing uint32_t l, ret=0,i,j,k; @@ -3724,8 +3748,7 @@ void phy_procedures_eNB_lte(unsigned char subframe,PHY_VARS_eNB **phy_vars_eNB,u if (phy_vars_eNB->proc[sched_subframe].frame_tx >= 1000) mac_xface->macphy_exit("Exiting after 1000 Frames\n"); */ - vcd_signal_dumper_dump_variable_by_name(VCD_SIGNAL_DUMPER_VARIABLES_SLOT_NUMBER_ENB, subframe*2); - vcd_signal_dumper_dump_variable_by_name(VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_ENB, phy_vars_eNB[0]->proc[subframe].frame_tx); + vcd_signal_dumper_dump_variable_by_name(VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX_ENB, phy_vars_eNB[0]->proc[subframe].frame_tx); vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_LTE,1); start_meas(&phy_vars_eNB[0]->phy_proc); diff --git a/openair1/SCHED/phy_procedures_lte_ue.c b/openair1/SCHED/phy_procedures_lte_ue.c index 8b6186ed51..e35648d9a2 100755 --- a/openair1/SCHED/phy_procedures_lte_ue.c +++ b/openair1/SCHED/phy_procedures_lte_ue.c @@ -1476,19 +1476,23 @@ void lte_ue_measurement_procedures(uint16_t l, PHY_VARS_UE *phy_vars_ue,uint8_t if (l==(4-frame_parms->Ncp)) { - + vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_RRC_MEASUREMENTS, VCD_FUNCTION_IN); ue_rrc_measurements(phy_vars_ue, slot_rx, abstraction_flag); + vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_RRC_MEASUREMENTS, VCD_FUNCTION_OUT); - //phy_vars_ue->sinr_eff = sinr_eff_cqi_calc(phy_vars_ue, 0); + if (abstraction_flag==1) + phy_vars_ue->sinr_eff = sinr_eff_cqi_calc(phy_vars_ue, 0); } if ((slot_rx==1) && (l==(4-frame_parms->Ncp))) { // AGC -#ifdef EXMIMO + + vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GAIN_CONTROL, VCD_FUNCTION_IN); +#if defined EXMIMO if ((openair_daq_vars.rx_gain_mode == DAQ_AGC_ON) && (mode != rx_calib_ue) && (mode != rx_calib_ue_med) && (mode != rx_calib_ue_byp) ) @@ -1499,7 +1503,8 @@ void lte_ue_measurement_procedures(uint16_t l, PHY_VARS_UE *phy_vars_ue,uint8_t phy_adjust_gain (phy_vars_ue,0); #endif - + vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GAIN_CONTROL, VCD_FUNCTION_OUT); + vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ADJUST_SYNCH, VCD_FUNCTION_IN); eNB_id = 0; if (abstraction_flag == 0) @@ -1508,6 +1513,7 @@ void lte_ue_measurement_procedures(uint16_t l, PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id, 0, 16384); + vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ADJUST_SYNCH, VCD_FUNCTION_OUT); /* if (openair_daq_vars.auto_freq_correction == 1) { if (frame_rx % 100 == 0) { @@ -2349,6 +2355,7 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst n_symb = 0; } else { + /* if (is_pmch_subframe(frame_rx,subframe_rx,&phy_vars_ue->lte_frame_parms)) { if ((slot_rx%2)==0) { n_symb=2; @@ -2357,7 +2364,7 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst else n_symb=0; } - else + else*/ n_symb = phy_vars_ue->lte_frame_parms.symbols_per_tti/2; } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -2369,11 +2376,13 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst for (l=0;l<n_symb;l++) { if (abstraction_flag == 0) { start_meas(&phy_vars_ue->ofdm_demod_stats); + vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP, VCD_FUNCTION_IN); slot_fep(phy_vars_ue, l, slot_rx, phy_vars_ue->rx_offset, 0); + vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP, VCD_FUNCTION_OUT); stop_meas(&phy_vars_ue->ofdm_demod_stats); } -- 2.26.2