From 753a664c0654711574be4d50124f5dd48d71efb5 Mon Sep 17 00:00:00 2001
From: Rajeev Gangula <gangula@eurecom.fr>
Date: Tue, 25 Sep 2018 15:07:22 +0200
Subject: [PATCH] Corrected PHR calculation.

---
 openair2/LAYER2/MAC/eNB_scheduler_ulsch.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
index 31c11e2c0a..0ae1b8255e 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
@@ -298,7 +298,10 @@ rx_sdu(const module_id_t enb_mod_idP,
     case POWER_HEADROOM:
       if (UE_id != -1) {
 	UE_list->UE_template[CC_idP][UE_id].phr_info =
-	  (payload_ptr[0] & 0x3f) - PHR_MAPPING_OFFSET;
+	  (payload_ptr[0] & 0x3f) - PHR_MAPPING_OFFSET + (int8_t)(hundred_times_log10_NPRB[UE_list->UE_template[CC_idP][UE_id].nb_rb_ul[harq_pid]-1]/100);
+	if(UE_list->UE_template[CC_idP][UE_id].phr_info > 40)
+		UE_list->UE_template[CC_idP][UE_id].phr_info = 40;
+
 	LOG_D(MAC,
 	      "[eNB %d] CC_id %d MAC CE_LCID %d : Received PHR PH = %d (db)\n",
 	      enb_mod_idP, CC_idP, rx_ces[i],
-- 
GitLab