pespin has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/25438 )

Change subject: MS Power Control Loop: Feed UL RSSI from correct measurement 
period
......................................................................

MS Power Control Loop: Feed UL RSSI from correct measurement period

As per 3GPP TS 45.008 sec 4.2, the ms_pwr received in L1 SACCH Header is
the value used over previous measurement period. Hence, we need to feed
the algo with the measurements taken over that same period.

Related: SYS#4917
Change-Id: I00852cb37a3613606e37476c169f5a32d6b5d75e
---
M src/common/l1sap.c
1 file changed, 7 insertions(+), 1 deletion(-)

Approvals:
  Jenkins Builder: Verified
  osmith: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  laforge: Looks good to me, but someone else must approve



diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 2e122e3..a641dab 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -1616,6 +1616,7 @@
                handover_frame(lchan);

        if (L1SAP_IS_LINK_SACCH(link_id)) {
+               int8_t ul_rssi;
                radio_link_timeout(lchan, false);
                le = &lchan->lapdm_ch.lapdm_acch;
                /* save the SACCH L1 header in the lchan struct for RSL MEAS 
RES */
@@ -1647,7 +1648,12 @@
                 * 1- It contains measurement data for 1 SACCH block only, not 
the average over the entire period
                 * 2- It contains measurement data for *current* meas period, 
not *previous* one.
                 */
-               lchan_ms_pwr_ctrl(lchan, l1_hdr->ms_pwr, data_ind->rssi, 
data_ind->lqual_cb);
+               /* If DTx is active on Downlink, use the '-SUB', otherwise 
'-FULL': */
+               if (lchan->tch.dtx.dl_active)
+                       ul_rssi = rxlev2dbm(lchan->meas.ul_res.sub.rx_lev);
+               else
+                       ul_rssi = rxlev2dbm(lchan->meas.ul_res.full.rx_lev);
+               lchan_ms_pwr_ctrl(lchan, l1_hdr->ms_pwr, ul_rssi, 
data_ind->lqual_cb);
                lchan_bs_pwr_ctrl(lchan, (const struct gsm48_hdr *) &data[5]);
        } else
                le = &lchan->lapdm_ch.lapdm_dcch;

--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25438
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I00852cb37a3613606e37476c169f5a32d6b5d75e
Gerrit-Change-Number: 25438
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: osmith <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to