From 8d2bb6cbc20f1534a0cdfe40b2d5c7eeb3f52508 Mon Sep 17 00:00:00 2001 From: hbilel <haithem.bilel@alcatelonetouch.com> Date: Tue, 20 Dec 2016 11:44:18 +0100 Subject: [PATCH] [OAI-UE] fix pusch/pucch power control part 1 --- openair1/SCHED/defs.h | 2 +- openair1/SCHED/phy_procedures_lte_ue.c | 6 +++--- openair1/SCHED/pusch_pc.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/openair1/SCHED/defs.h b/openair1/SCHED/defs.h index 2490a4035c..a9cb8d0f10 100644 --- a/openair1/SCHED/defs.h +++ b/openair1/SCHED/defs.h @@ -431,7 +431,7 @@ UE_MODE_t get_ue_mode(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index); @param pucch_fmt Format of PUCCH that is being transmitted @returns Transmit power */ -int8_t pucch_power_cntl(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t subframe,uint8_t eNB_id,PUCCH_FMT_t pucch_fmt); +int16_t pucch_power_cntl(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t subframe,uint8_t eNB_id,PUCCH_FMT_t pucch_fmt); /*! \brief This function implements the power control mechanism for PUCCH from 36.213. @param phy_vars_ue PHY variables diff --git a/openair1/SCHED/phy_procedures_lte_ue.c b/openair1/SCHED/phy_procedures_lte_ue.c index 1c6aa6b20c..b5887ae67b 100644 --- a/openair1/SCHED/phy_procedures_lte_ue.c +++ b/openair1/SCHED/phy_procedures_lte_ue.c @@ -205,8 +205,8 @@ unsigned int get_tx_amp(int power_dBm, int power_max_dBm, int N_RB_UL, int nb_rb int gain_dB = power_dBm - power_max_dBm; double gain_lin; - if (gain_dB < -20) - return(AMP/10); + //if (gain_dB < -20) + // return(AMP/10); gain_lin = pow(10,.1*gain_dB); if ((nb_rb >0) && (nb_rb <= N_RB_UL)) { @@ -1569,7 +1569,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin int Mod_id = ue->Mod_id; int CC_id = ue->CC_id; int tx_amp; - int8_t Po_PUCCH; + int16_t Po_PUCCH; VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_TX_PUCCH,VCD_FUNCTION_IN); diff --git a/openair1/SCHED/pusch_pc.c b/openair1/SCHED/pusch_pc.c index fca0fdc441..505da1a921 100644 --- a/openair1/SCHED/pusch_pc.c +++ b/openair1/SCHED/pusch_pc.c @@ -137,7 +137,7 @@ void pusch_power_cntl(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_ proc->subframe_tx); uint8_t nb_rb = ue->ulsch[eNB_id]->harq_processes[harq_pid]->nb_rb; - int8_t PL; + int16_t PL; // P_pusch = 10*log10(nb_rb + P_opusch(j)+ alpha(u)*PL + delta_TF(i) + f(i)) -- GitLab