diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index b8c75bd245095f290d0f8287a3eec34c4d3b446e..39a67e925249b8aa37177170971a825e8812ad56 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -3124,11 +3124,33 @@ void prach_procedures(PHY_VARS_eNB *phy_vars_eNB,uint8_t sched_subframe,uint8_t preamble_energy_max%10, preamble_delay_list[preamble_max]); #ifdef OPENAIR2 + uint8_t update_TA=4; + + switch (phy_vars_eNB->lte_frame_parms.N_RB_DL) { + case 6: + update_TA = 16; + break; + + case 25: + update_TA = 4; + break; + + case 50: + update_TA = 2; + break; + + case 100: + update_TA = 1; + break; + } + + + mac_xface->initiate_ra_proc(phy_vars_eNB->Mod_id, phy_vars_eNB->CC_id, frame, preamble_max, - preamble_delay_list[preamble_max], + preamble_delay_list[preamble_max]*update_TA, 0,subframe,0); #endif