aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-11-25 14:42:08 +0100
committerPau Espin Pedrol <pespin@sysmocom.de>2021-11-25 14:50:04 +0100
commit90b689b577e65a49e3bd0a8f2a9a8cdf2ca2955c (patch)
tree32275697b99dcc5ee92ed5657eb64b08f83bf83c
parent88f3c0520295ae014a0e750fb49e09e70799be36 (diff)
Disable C/I based MS Power Control Loop by default
osmo-trx-uhd with a B200 has proven to provide bad (lower than usually considered good) C/I values due to high noise (even with band filters in place). Hence, default thresholds (gathered from literature on the topic) are too high and end up in bad algorithm output decisions. Furthermore, most users of Osmocom don't use it in densely populated areas, hence RXLEV based algorithm used when C/I based one is disabled is good enough. Let's disable C/I based one by default, and let advanced users which specific needs to enable and confiure thresholds specifically for their needs (hardware, cell surrounding conditions, etc.). Related: SYS#4917 Change-Id: If1a73c60695379bcfcd0f44c6ec6dd659563e279
-rw-r--r--src/osmo-bsc/gsm_data.c12
-rw-r--r--tests/power_ctrl.vty39
2 files changed, 38 insertions, 13 deletions
diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c
index 988d70efa..38d8a7c63 100644
--- a/src/osmo-bsc/gsm_data.c
+++ b/src/osmo-bsc/gsm_data.c
@@ -1200,7 +1200,7 @@ const struct gsm_power_ctrl_params power_ctrl_params_def = {
* above the target.
*/
.ci_fr_meas = { /* FR: Target C/I = 15 dB, Soft blocking threshold = 10 dB */
- .enabled = true,
+ .enabled = false,
.lower_thresh = 13,
.upper_thresh = 17,
@@ -1222,7 +1222,7 @@ const struct gsm_power_ctrl_params power_ctrl_params_def = {
.h_reqt = 6, /* TODO: investigate a reasonable default value */
},
.ci_hr_meas = { /* HR: Target C/I = 18 dB, Soft blocking threshold = 13 dB */
- .enabled = true,
+ .enabled = false,
.lower_thresh = 16,
.upper_thresh = 21,
@@ -1244,7 +1244,7 @@ const struct gsm_power_ctrl_params power_ctrl_params_def = {
.h_reqt = 6, /* TODO: investigate a reasonable default value */
},
.ci_amr_fr_meas = { /* AMR-FR: Target C/I = 9 dB, Soft blocking threshold = 4 dB */
- .enabled = true,
+ .enabled = false,
.lower_thresh = 7,
.upper_thresh = 11,
@@ -1266,7 +1266,7 @@ const struct gsm_power_ctrl_params power_ctrl_params_def = {
.h_reqt = 6, /* TODO: investigate a reasonable default value */
},
.ci_amr_hr_meas = { /* AMR-HR: Target C/I = 15 dB, Soft blocking threshold = 10 dB */
- .enabled = true,
+ .enabled = false,
.lower_thresh = 13,
.upper_thresh = 17,
@@ -1288,7 +1288,7 @@ const struct gsm_power_ctrl_params power_ctrl_params_def = {
.h_reqt = 6, /* TODO: investigate a reasonable default value */
},
.ci_sdcch_meas = { /* SDCCH: Target C/I = 14 dB, Soft blocking threshold = 9 dB */
- .enabled = true,
+ .enabled = false,
.lower_thresh = 12,
.upper_thresh = 16,
@@ -1310,7 +1310,7 @@ const struct gsm_power_ctrl_params power_ctrl_params_def = {
.h_reqt = 6, /* TODO: investigate a reasonable default value */
},
.ci_gprs_meas = { /* GPRS: Target C/I = 20 dB, Soft blocking threshold = 15 dB */
- .enabled = true,
+ .enabled = false,
.lower_thresh = 18,
.upper_thresh = 24,
diff --git a/tests/power_ctrl.vty b/tests/power_ctrl.vty
index 374002d82..f0ef46e31 100644
--- a/tests/power_ctrl.vty
+++ b/tests/power_ctrl.vty
@@ -143,22 +143,22 @@ OsmoBSC(config-ms-power-ctrl)# show running-config
rxlev-thresh-comp lower 10 12 upper 19 20
rxqual-thresh lower 3 upper 0
rxqual-thresh-comp lower 5 7 upper 15 18
- ci-thresh fr-efr enable
+ ci-thresh fr-efr disable
ci-thresh fr-efr lower 13 upper 17
ci-thresh-comp fr-efr lower 5 7 upper 15 18
- ci-thresh hr enable
+ ci-thresh hr disable
ci-thresh hr lower 16 upper 21
ci-thresh-comp hr lower 5 7 upper 15 18
- ci-thresh amr-fr enable
+ ci-thresh amr-fr disable
ci-thresh amr-fr lower 7 upper 11
ci-thresh-comp amr-fr lower 5 7 upper 15 18
- ci-thresh amr-hr enable
+ ci-thresh amr-hr disable
ci-thresh amr-hr lower 13 upper 17
ci-thresh-comp amr-hr lower 5 7 upper 15 18
- ci-thresh sdcch enable
+ ci-thresh sdcch disable
ci-thresh sdcch lower 12 upper 16
ci-thresh-comp sdcch lower 5 7 upper 15 18
- ci-thresh gprs enable
+ ci-thresh gprs disable
ci-thresh gprs lower 18 upper 24
ci-thresh-comp gprs lower 5 7 upper 15 18
...
@@ -304,12 +304,37 @@ OsmoBSC(config-net-bts)# show running-config
rxqual-thresh-comp lower 5 7 upper 15 18
...
-OsmoBSC(config-net-bts)# ### Check 'ci-thresh-comp disable all' works properly:
+OsmoBSC(config-net-bts)# ### Check 'ci-thresh-comp (enable|disable) all' works properly:
OsmoBSC(config-net-bts)# ms-power-control
OsmoBSC(config-ms-power-ctrl)# show running-config
...
ms-power-control
...
+ ci-thresh fr-efr disable
+ ci-thresh fr-efr lower 13 upper 17
+ ci-thresh-comp fr-efr lower 5 7 upper 15 18
+ ci-thresh hr disable
+ ci-thresh hr lower 16 upper 21
+ ci-thresh-comp hr lower 5 7 upper 15 18
+ ci-thresh amr-fr disable
+ ci-thresh amr-fr lower 7 upper 11
+ ci-thresh-comp amr-fr lower 5 7 upper 15 18
+ ci-thresh amr-hr disable
+ ci-thresh amr-hr lower 13 upper 17
+ ci-thresh-comp amr-hr lower 5 7 upper 15 18
+ ci-thresh sdcch disable
+ ci-thresh sdcch lower 12 upper 16
+ ci-thresh-comp sdcch lower 5 7 upper 15 18
+ ci-thresh gprs disable
+ ci-thresh gprs lower 18 upper 24
+ ci-thresh-comp gprs lower 5 7 upper 15 18
+...
+
+OsmoBSC(config-ms-power-ctrl)# ci-thresh all enable
+OsmoBSC(config-ms-power-ctrl)# show running-config
+...
+ ms-power-control
+...
ci-thresh fr-efr enable
ci-thresh fr-efr lower 13 upper 17
ci-thresh-comp fr-efr lower 5 7 upper 15 18