diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2020-11-26 14:48:01 +0100 |
---|---|---|
committer | fixeria <vyanitskiy@sysmocom.de> | 2020-12-02 13:56:49 +0000 |
commit | 369c852022f95bf04f3504e823a6ca008e0f11d0 (patch) | |
tree | ebb2e1f190bb890986a116ebd0b5cfa3ac1a8d52 | |
parent | bts: generalize a struct for UL/DL power control parameters (diff) | |
download | OsmoBTS-369c852022f95bf04f3504e823a6ca008e0f11d0.tar.xz OsmoBTS-369c852022f95bf04f3504e823a6ca008e0f11d0.zip |
bts: add Downlink power control parameters
Change-Id: I724f661e9ce5dd75f95fb7b270a89b2e2a73c951
Related: SYS#4918
-rw-r--r-- | include/osmo-bts/bts.h | 3 | ||||
-rw-r--r-- | src/common/bts.c | 18 | ||||
-rw-r--r-- | tests/power/power_test.c | 1 |
3 files changed, 17 insertions, 5 deletions
diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 129764e6..3847a26e 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -317,8 +317,9 @@ struct gsm_bts { bool vty_override; /* OML value overridden by VTY */ } radio_link_timeout; - /* Uplink power control */ + /* Uplink/Downlink power control */ struct bts_power_ctrl_params ul_power_ctrl; + struct bts_power_ctrl_params dl_power_ctrl; /* used by the sysmoBTS to adjust band */ uint8_t auto_band; diff --git a/src/common/bts.c b/src/common/bts.c index 80f4fddb..a974b9f6 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -323,16 +323,26 @@ int bts_init(struct gsm_bts *bts) /* configurable via VTY */ bts->paging_state = paging_init(bts, 200, 0); - bts->ul_power_ctrl.target = -75; /* dBm default */ - bts->ul_power_ctrl.hysteresis = 3; /* -78 .. -72 dBm */ - bts->ul_power_ctrl.pf_algo = BTS_PF_ALGO_EWMA; - bts->ul_power_ctrl.pf.ewma.alpha = 50; /* 50% smoothing */ bts->rtp_jitter_adaptive = false; bts->rtp_port_range_start = 16384; bts->rtp_port_range_end = 17407; bts->rtp_port_range_next = bts->rtp_port_range_start; bts->rtp_ip_dscp = -1; + /* Default UL/DL power control parameters */ + bts->ul_power_ctrl = bts->dl_power_ctrl = \ + (struct bts_power_ctrl_params) { + .target = -75, /* dBm default */ + .hysteresis = 3, /* -78 .. -72 dBm */ + .pf_algo = BTS_PF_ALGO_EWMA, + .pf = { + .ewma = { + /* 50% smoothing */ + .alpha = 50 + } + } + }; + /* configurable via OML */ bts->load.ccch.load_ind_period = 112; load_timer_start(bts); diff --git a/tests/power/power_test.c b/tests/power/power_test.c index 14bef086..f1b910b8 100644 --- a/tests/power/power_test.c +++ b/tests/power/power_test.c @@ -48,6 +48,7 @@ static void init_test(const char *name) g_trx->ms_pwr_ctl_soft = true; g_bts->ul_power_ctrl.target = -75; + g_bts->dl_power_ctrl.target = -75; g_bts->band = GSM_BAND_1800; g_bts->c0 = g_trx; |