git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5794 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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) &&
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user