Change in osmo-bsc[master]: power_control: add documentation on available configuration params

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Mon Jan 11 13:42:19 UTC 2021


laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/21886 )

Change subject: power_control: add documentation on available configuration params
......................................................................

power_control: add documentation on available configuration params

Change-Id: Ib65d33f0f1dd24d39e3be581e4e072a310bc906a
Related: SYS#4918
---
A doc/manuals/chapters/power_control.adoc
M doc/manuals/osmobsc-usermanual.adoc
2 files changed, 303 insertions(+), 0 deletions(-)

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



diff --git a/doc/manuals/chapters/power_control.adoc b/doc/manuals/chapters/power_control.adoc
new file mode 100644
index 0000000..b8d182a
--- /dev/null
+++ b/doc/manuals/chapters/power_control.adoc
@@ -0,0 +1,301 @@
+== Power control
+
+The objective of power control is to regulate the transmit power of the MS (Uplink)
+as well as the BTS (Downlink) in order to achieve the optimal reception conditions,
+i.e. a desired signal strength and a desired signal quality.
+
+There are two advantages of power control:
+
+- reduction of the average power consumption (especially in the MS), and
+- reduction of the co-channel interference for adjacent channel users.
+
+Power control can be performed either by the BSC, or by the BTS autonomously.
+OsmoBSC currently lacks the power control logic, so it cannot act as the regulating
+entity, however it's capable to instruct a BTS that supports autonomous power
+control to perform the power regulation.  This is achieved by including vendor-
+specific IEs with power control parameters in the channel activation messages
+on the A-bis/RSL interface.
+
+=== Power control parameters
+
+Unfortunately, 3GPP specifications do not specify the exact list of power control
+parameters and their encoding on the A-bis/RSL interface, so it's up to a BTS/BSC
+vendor what to send and in which format.  Furthermore, there is no public
+documentation on which parameters are accepted by particular BTS models.
+
+3GPP TS 44.008 nonetheless defines a minimal set of parameters for a general power
+control algorithm.  OsmoBSC allows to configure these parameters via the VTY
+interface, this is further described in the next sections.
+
+So far only the ip.access specific format is implemented, so it should be possible
+to enable power control for nanoBTS.  OsmoBTS also accepts this format, but may
+ignore some of the received parameters due to incomplete implementation.
+
+==== When the parameters come into effect?
+
+It depends on how the power control parameters are signaled to the BTS.  If a given
+BTS vendor/model requires _each_ RSL CHANnel ACTIVation message to contain the full
+set of parameters, than changing them in the BSC at run-time would affect all newly
+established logical channels immediately.  The existing connections would continue
+to use parameters which were in use during the time of channel activation.
+
+For both ip.access nanoBTS and OsmoBTS, the configured parameters are being sent
+only once when the A-bis/RSL link is established.  In all subsequent RSL messages,
+the MS/BS Power Parameters IE will be sent empty.  Therefore, changing most of
+dynamic power control parameters at run-time would affect neither the existing
+nor newly established logical channels.
+
+It's still possible to 'push' a modified set of MS/BS power control parameters to a
+BTS that accepts the default parameters at startup without triggering the A-bis/RSL
+link re-establishment and thus interrupting the service.  The following command
+triggers resending of both MS/BS power control parameters:
+
+----
+# Resending from the 'enable' node:
+OsmoBSC# bts 0 resend-power-control-defaults
+
+# Resending from any configuration node (note prefix 'do'):
+OsmoBSC(config-ms-power-ctrl)# do bts 0 resend-power-control-defaults
+----
+
+NOTE: The above statement mostly applies to parameters for dynamic power control
+mode (see below).  Switching between power control modes, as well as changing
+static/maximum power values, does not necessarily require resending of parameters.
+
+=== Power control configuration
+
+Two identical groups of parameters are available for both MS (Uplink) and BS
+(Downlink) power control.  This chapter is aimed to put some light on them.
+
+All parameters can be set via the VTY interface, currently within the scope of
+a BTS.  This means that all transceivers will 'inherit' the same configuration.
+
+----
+OsmoBSC(config)# network
+OsmoBSC(config-net)# bts 0
+OsmoBSC(config-net-bts)# ?
+...
+  bs-power-control              BS (Downlink) power control parameters
+  ms-power-control              MS (Uplink) power control parameters
+...
+----
+
+Either of these commands would lead to a separate node:
+
+----
+OsmoBSC(config-net-bts)# ms-power-control
+OsmoBSC(config-ms-power-ctrl)# list with-flags
+...
+  . l.  mode (static|dyn-bts) [reset]
+  . l.  bs-power (static|dyn-max) <0-30>
+  . lv  step-size inc <2-6> red <2-4>
+  . lv  rxlev-thresh lower <0-63> upper <0-63>
+  . lv  rxqual-thresh lower <0-7> upper <0-7>
+  . lv  rxlev-thresh-comp lower <0-31> <0-31> upper <0-31> <0-31>
+  . lv  rxqual-thresh-comp lower <0-31> <0-31> upper <0-31> <0-31>
+  . lv  no (rxlev-avg|rxqual-avg)
+  . lv  (rxlev-avg|rxqual-avg) params hreqave <1-31> hreqt <1-31>
+  . lv  (rxlev-avg|rxqual-avg) algo (unweighted|weighted|mod-median)
+  . lv  (rxlev-avg|rxqual-avg) algo osmo-ewma beta <1-99>
+----
+
+NOTE: Flag 'v' indicates that a given parameter is vendor specific, so different
+BTS vendors/models may ignore or even reject it.  Flag 'l' indicates that changing
+a given parameter at run-time would affect only the new connections.
+
+==== Power control mode
+
+Three power control modes exist:
+
+----
+OsmoBSC(config-ms-power-ctrl)# mode ?
+  static   Instruct the MS/BTS to use a static power level <1>
+  dyn-bts  Power control to be performed dynamically by the BTS itself <2>
+OsmoBSC(config-net-bts)# no (bs-power-control|ms-power-control) <3>
+----
+<1> Send RSL MS/BS Power IE alone indicating a static power level to the BTS.
+<2> Send both RSL MS/BS Power IE and vendor-specific MS/BS Power Parameters IE.
+<3> Do not send any power control IEs in RSL CHANnel ACTIVation messages.
+
+By default, `static` mode is used for BS power control, while `dyn-bts` is used
+for MS power control.  Changing the mode at run-time would not affect already
+established connections, only the new ones (check flag 'l').
+
+For BS power control, there is an additional parameter:
+
+----
+OsmoBSC(config-bs-power-ctrl)# bs-power ?
+  static   Fixed BS Power reduction value (for static mode)
+  dyn-max  Maximum BS Power reduction value (for dynamic mode)
+----
+
+that allows to configure the maximum BS power reduction value in `dyn-bts` mode,
+and a fixed power reduction value in `static` mode.  In the later case, no
+attenuation (0 dB) is applied by default (full power).
+
+==== Power change step size
+
+In order to slow down the reactivity of the power control loop and thus make it more
+robust against sporadic fluctuations of the input values (RxLev and RxQual), the
+transmit power on both Uplink and Downlink is changed gradually, step by step.
+
+OsmoBSC allows to configure the step sizes for both increasing and reducing directions
+separately.  The corresponding power control loop would apply different delta values
+to the current transmit power level in order to raise or lower it.
+
+.Example: Power change step size
+----
+network
+ bts 0
+  bs-power-control
+   mode dyn-bts <1>
+   bs-power dyn-max 12 <2>
+   step-size inc 6 red 4 <3>
+  ms-power-control
+   mode dyn-bts <1>
+   step-size inc 4 red 2 <4>
+----
+<1> Both MS and BS power control is to be performed by the BTS autonomously.
+<2> The BTS is allowed to reduce the power on Downlink up to 12 dB.
+<3> On Downlink, BS power can be increased by 6 dB or reduced by 4 dB at once.
+<4> On Uplink, MS power can be increased by 4 dB or reduced by 2 dB at once.
+
+NOTE: In the context of BS power control, terms 'increase' and 'decrease' have the
+same meaning as in the context of MS power control: to make the output power stronger
+or weaker respectively.  Even despite the BS power loop in fact controls the attenuation.
+
+TIP: It's recommended to pick the values in a way that the increase step is greater than
+the reduce step.  This way the system would be able to react on signal degradation
+quickly, while a good signal would not trigger radical power reduction.
+
+Both parameters are mentioned in 3GPP TS 45.008, table A.1:
+
+- Pow_Incr_Step_Size (range 2, 4 or 6 dB),
+- Pow_Red_Step_Size (range 2 or 4 dB).
+
+==== RxLev and RxQual thresholds
+
+The general idea of power control is to maintain the signal level (RxLev) and quality
+(RxQual) within the target ranges.  Each of these ranges can be defined as a pair of
+the lowest and the highest acceptable values called thresholds.
+
+The process of RxLev / RxQual threshold comparison is described in 3GPP TS 45.008,
+section A.3.2.1.  All parameters involved in the process can be found in table
+A.1 with the recommended default values.
+
+.Example: RxLev and RxQual threshold configuration
+----
+network
+ bts 0
+  bs-power-control
+   mode dyn-bts <1>
+   rxlev-thresh lower 32 upper 38 <2>
+   rxqual-thresh lower 3 upper 0 <3>
+----
+<1> BS power control is to be performed by the BTS autonomously.
+<2> RxLev is to be maintained in range 32 .. 38 (-78 .. -72 dBm).
+<3> RxQual is to be maintained in range 3 .. 0 (less is better).
+
+NOTE: For both RxLev and RxQual thresholds, the lower and upper values are included
+in the tolerance window.  In the example above, RxQual=3 would not trigger the
+control loop to increase BS power, as well as RxLev=38 (-72 dBm) would not trigger
+power reduction.
+
+In 3GPP TS 45.008, lower and upper RxLev thresholds are referred as `L_RXLEV_XX_P`
+and `U_RXLEV_XX_P`, while the RxQual thresholds are referred as `L_RXQUAL_XX_P` and
+`U_RXQUAL_XX_P`, where the `XX` is either `DL` (Downlink) or `UL` (Uplink).
+
+The process of threshold comparison actually involves more than just upper and lower
+values for RxLev and RxQual.  The received 'raw' measurements are being averaged and
+stored in a circular buffer, so the power change is triggered only if Pn averages out
+of Nn averages exceed the corresponding thresholds.
+
+.Example: RxLev and RxQual threshold comparators
+----
+network
+ bts 0
+  bs-power-control
+   mode dyn-bts <1>
+   rxlev-thresh lower 32 upper 38
+   rxlev-thresh-comp lower 10 12 <2> upper 19 20 <3>
+   rxqual-thresh lower 3 upper 0
+   rxqual-thresh-comp lower 5 7 <4> upper 15 18 <5>
+----
+<1> BS power control is to be performed by the BTS autonomously.
+<2> P1=10 out of N1=12 averages < L_RXLEV_XX_P => increase power.
+<3> P2=19 out of N2=20 averages > U_RXLEV_XX_P => decrease power.
+<4>  P3=5 out of  N3=7 averages > L_RXQUAL_XX_P => increase power.
+<5> P4=15 out of N4=18 averages < U_RXQUAL_XX_P => decrease power.
+
+==== Measurement averaging process
+
+3GPP 45.008, section A.3.1 requires that the measurement values reported by both
+an MS and the BTS are be pre-processed before appearing on the input of the
+corresponding power control loops in any of the following ways:
+
+- Unweighted average;
+- Weighted average, with the weightings determined by O&M;
+- Modified median calculation, with exceptionally high and low values
+  (outliers) removed before the median calculation.
+
+The pre-processing is expected to be performed for both MS and BS power control
+loops independently, for every input parameter (i.e. RxLev and RxQual).
+
+----
+OsmoBSC(config-bs-power-ctrl)# rxlev-avg algo ?
+  unweighted  Un-weighted average
+  weighted    Weighted average
+  mod-median  Modified median calculation
+  osmo-ewma   Exponentially Weighted Moving Average (EWMA)
+OsmoBSC(config-bs-power-ctrl)# rxqual-avg algo ?
+  unweighted  Un-weighted average
+  weighted    Weighted average
+  mod-median  Modified median calculation
+  osmo-ewma   Exponentially Weighted Moving Average (EWMA)
+----
+
+OsmoBTS features a non-standard Osmocom specific EWMA (Exponentially Weighted Moving
+Average) based pre-processing.  Other BTS models may support additional non-standard
+methods too, the corresponding VTY options can be added on request.
+
+Among with the averaging methods, 3GPP 45.008 also defines two pre-processing
+parameters in section A.3.1:
+
+- Hreqave - defines the period over which an average is produced, in terms of the
+  number of SACCH blocks containing measurement results, i.e. the number of
+  measurements contributing to each averaged measurement;
+
+- Hreqt - is the number of averaged results that are maintained.
+
+By default, OsmoBSC would not send any pre-processing parameters, so the BTS may
+apply its default pre-processing algorithm with default parameters, or may not
+apply any pre-processing at all - this is up to the vendor.  The pre-processing
+parameters need to be configured explicitly as shown in the example below.
+
+.Example: Explicit pre-processing configuration
+----
+network
+ bts 0
+  bs-power-control
+   mode dyn-bts <1>
+   rxlev-avg algo unweighted <2>
+   rxlev-avg params hreqave 4 hreqt 6 <3>
+   rxqual-avg algo osmo-ewma beta 50 <4>
+   rxqual-avg params hreqave 2 hreqt 3 <5>
+  ms-power-control
+   mode dyn-bts <1>
+   rxlev-avg algo unweighted <2>
+   rxlev-avg params hreqave 4 hreqt 6 <3>
+   rxqual-avg algo osmo-ewma beta 50 <4>
+   rxqual-avg params hreqave 2 hreqt 3 <5>
+----
+<1> Both MS and BS power control is to be performed by the BTS autonomously.
+<2> Unweighted average is applied to RxLev values.
+<3> RxLev Hreqave and Hreqt values: 4 out of 6 SACCH blocks produce an averaged measurement.
+<4> Osmocom specific EWMA is applied to RxQual values with smoothing factor = 50% (beta=0.5).
+<5> RxQual: Hreqave and Hreqt values: 2 out of 3 SACCH blocks produce an averaged measurement.
+
+// TODO: Document P_Con_INTERVAL (not implemented yet)
+// TODO: Document other power control parameters:
+//		OsmoBSC(config-net-bts)# ms max power <0-40>
+//		OsmoBSC(config-net-bts-trx)# max_power_red <0-100>
diff --git a/doc/manuals/osmobsc-usermanual.adoc b/doc/manuals/osmobsc-usermanual.adoc
index a084a51..e66b2be 100644
--- a/doc/manuals/osmobsc-usermanual.adoc
+++ b/doc/manuals/osmobsc-usermanual.adoc
@@ -24,6 +24,8 @@
 
 include::{srcdir}/chapters/bsc.adoc[]
 
+include::{srcdir}/chapters/power_control.adoc[]
+
 include::{srcdir}/chapters/handover.adoc[]
 
 include::{srcdir}/chapters/smscb.adoc[]

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

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ib65d33f0f1dd24d39e3be581e4e072a310bc906a
Gerrit-Change-Number: 21886
Gerrit-PatchSet: 4
Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210111/f1bada1a/attachment.htm>


More information about the gerrit-log mailing list