Talk structure

RF Power Control general info

What is Power Control?

Power control is the intelligent selection of transmitter power output in a communication system to achieve good performance within the system.
— https://en.wikipedia.org/wiki/Power_control

Power Control goals

RF Power Control general info

Application areas

RF Power Control general info

Types of Power Control

RF Power Control in GSM

MS/BS Power Control in GSM (CS domain)

RF Power Control in GSM

MS/BS Power Control in GSM (CS domain)

RF Power Control in GSM

Power Control methods

RF Power Control in GSM

General requirements

RF Power Control in GSM

MS Power Control flow (simplified)

ms_power_control.png

RF Power Control in GSM

BS Power Control flow (simplified)

bs_power_control.png

RF Power Control in GSM

RxLev/RxQual meaning and encoding

RF Power Control in GSM

UL/DL measurements on the wire

rsl_meas_res.png

RF Power Control in GSM

FULL vs SUB values

RF Power Control in GSM

power_control_decision.png

Power Control parameters

picture from "Interference reduction" by Nokia Siemens Networks

MS/BS Power Control in OsmoRAN

Implementation in OsmoBSC/OsmoBTS

MS/BS Power Control in OsmoRAN

Configuring MS/BS power control in OsmoBSC

MS Power Control is enabled by default
$ telnet localhost 4242
OsmoBSC# show running-config
...
network
 ...
 bts 0
  ...
  bs-power-control
   mode static
  ms-power-control
   mode dyn-bts
   ...
Note
only for both ip.access nanoBTS and OsmoBTS.

MS/BS Power Control in OsmoRAN

Configuring MS/BS power control in OsmoBSC

MS and BS power control parameters are in separate nodes
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
...

MS/BS Power Control in OsmoRAN

Configuring MS/BS power control in OsmoBSC

Power control modes in OsmoBSC
OsmoBSC(config-xx-power-ctrl)# mode
  <1> static   Instruct the MS/BTS to use a static power level
  <2> dyn-bts  Power control to be performed dynamically by the BTS itself
  <3> dyn-bsc  Power control to be performed dynamically at this BSC
OsmoBSC(config-net-bts)# no (bs-power-control|ms-power-control) <4>
  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. Perform power control in the BSC by sending RSL MS/BS Power Control messages

  4. Do not send any power control IEs in RSL CHANnel ACTIVation messages

MS/BS Power Control in OsmoRAN

Configuring MS/BS power control in OsmoBSC

Common parameters for MS/BS power control
OsmoBSC(config-xx-power-ctrl)# list with-flags
<1> . lv  ctrl-interval <0-31>
<2> . lv  step-size inc <2-6> red <2-4>
<3> . lv  rxlev-thresh lower <0-63> upper <0-63>
<4> . lv  rxqual-thresh lower <0-7> upper <0-7>
<5> . lv  rxlev-thresh-comp lower <0-31> <0-31> upper <0-31> <0-31>
<5> . lv  rxqual-thresh-comp lower <0-31> <0-31> upper <0-31> <0-31>
  1. P_CON_INTERVAL - power control interval

  2. Pow_Incr_Step_Size / Pow_Red_Step_Size

  3. L_RXLEV_XX_P/U_RXLEV_XX_P - lower/upper RxLev

  4. L_RXQUAL_XX_P/U_RXQUAL_XX_P - lower/upper RxQual

  5. Threshold comparators (see 3GPP 45.008, section A.3, not used by osmo-bts)

MS/BS Power Control in OsmoRAN

Configuring MS/BS power control in OsmoBSC

Averaging parameters for MS/BS power control
<1> . lv  no (rxlev-avg|rxqual-avg)
<2> . lv  (rxlev-avg|rxqual-avg) params hreqave <1-31> hreqt <1-31>
<3> . lv  (rxlev-avg|rxqual-avg) algo (unweighted|weighted|mod-median)
<4> . lv  (rxlev-avg|rxqual-avg) algo osmo-ewma beta <1-99>
  1. No averaging (not recommended)

  2. Hreqave/hreqt averaging parameters (not used by osmo-bts)

  3. Averaging algorithms suggested by 3GPP (not supported by osmo-bts)

  4. Osmocom specific EWMA algo (supported by both osmo-bsc and osmo-bts)

MS/BS Power Control in OsmoRAN

Configuring MS/BS power control in OsmoBSC

Specific parameters for MS (Uplink) power control
OsmoBSC(config-ms-power-ctrl)# list with-flags
<1> . lv  ci-thresh (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) lower <0-30> upper <0-30>
<2> . lv  ci-thresh-comp (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) lower <0-31> <0-31> upper <0-31> <0-31>
    . lv  no ci-avg (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs)
<3> . lv  ci-avg (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) params hreqave <1-31> hreqt <1-31>
<4> . lv  ci-avg (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) algo (unweighted|weighted|mod-median)
<5> . lv  ci-avg (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) algo osmo-ewma beta <1-99>
  1. Carrier-to-Interference (C/I) thresholds (only for osmo-bts)

  2. Threshold comparators (currently not used by osmo-bts)

  3. Hreqave/hreqt averaging parameters (not used by osmo-bts)

  4. Averaging algorithms suggested by 3GPP (not supported by osmo-bts)

  5. Osmocom specific EWMA algo (supported by both osmo-bsc and osmo-bts)

MS/BS Power Control in OsmoRAN

Configuring MS/BS power control in OsmoBSC

Specific parameters for BS (Downlink) power control
OsmoBSC(config-bs-power-ctrl)# list with-flags
  . l.  bs-power (static|dyn-max) <0-30> <1>
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)
  1. Maximum (or static) BS power reduction in dB

Note
Maximum MS power is reported by the MS itself (in the Classmark) and depends on the band and the power class of the MS. The operator can limit it even further by changing ms max power <0-40> in the BTS node.

MS/BS Power Control in OsmoRAN

The power control interval (P_CON_INTERVAL)

P_CON_INTERVAL values illustrated
|<-->| - one SACCH multi-frame period
|    |
|----|----|----|----|----|----|----|----|----> SACCH multi-frames
a) *    *    *    *    *    *    *    *    *      P_CON_INTERVAL=0 (0.48 s)
b) *         *         *         *         *      P_CON_INTERVAL=1 (0.96 s)
c) *                   *                   *      P_CON_INTERVAL=2 (1.92 s)
d) *                             *                P_CON_INTERVAL=3 (2.88 s)
e) *                                       *      P_CON_INTERVAL=4 (3.84 s)

MS/BS Power Control in OsmoRAN

Encoding of the MS/BS Power Control parameters

MS/BS Power Control in OsmoRAN

When the parameters come into effect?

MS/BS Power Control in OsmoRAN

Example: Resending default power control parameters via the VTY
# Resending from the 'enable' node:
OsmoBSC# bts 0 <1> resend-power-control-defaults

# Resending from any configuration node (note prefix 'do'):
OsmoBSC(config-ms-power-ctrl)# do bts 0 <1> resend-power-control-defaults
  1. BTS number for which to resend default power control parameters.

Example: Resending default power control parameters via the CTRL
$ osmo_ctrl.py \
        --host 127.0.0.1 <1> -p 4249 \
        --set "bts.0.send-power-control-defaults" 1 <2>
  1. Remote address of the host running osmo-bsc (localhost in this example).

  2. An arbitrary dummy value (ignored). Required because SET command is used.

MS/BS Power Control in OsmoRAN

Current state of affairs

MS/BS Power Control in OsmoRAN

What’s missing?

Potential improvements

BCCH carrier power reduction

What’s this about?

BCCH carrier power reduction

Support in OsmoBSC/OsmoBTS

Interworking with the BS power control

BCCH carrier power reduction

Enabling in OsmoBSC/OsmoBTS

Activating BCCH carrier power reduction via the VTY
OsmoBSC> enable
OsmoBSC# bts 0 <1> c0-power-reduction ?
  <0-6>  Power reduction value (in dB, even numbers only)
OsmoBSC# bts 0 <1> c0-power-reduction 4 <2>
  1. BTS number for which to activate BCCH carrier power reduction

  2. Maximum BCCH carrier power reduction (in 2 dB steps, 4 dB in this example)

Activating BCCH carrier power reduction via the CTRL
$ osmo_ctrl.py \
        --host 127.0.0.1 <1> -p 4249 \
        --set "bts.0.c0-power-reduction" 4 <2>
  1. Remote address of the host running osmo-bsc (localhost in this example)

  2. Maximum BCCH carrier power reduction (even dB values, 4 dB in this example)

Temporary ACCH Overpower

What’s this about?

Support in OsmoBSC/OsmoBTS

Temporary ACCH Overpower

Enabling in OsmoBSC/OsmoBTS

List of available per-BTS parameters
OsmoBSC(config-net-bts)# overpower ?
  dl-acch   Enable overpower for both SACCH and FACCH
  dl-sacch  Enable overpower for SACCH only
  dl-facch  Enable overpower for FACCH only

OsmoBSC(config-net-bts)# overpower rxqual 0?
  0  BER >= 0% (always on)

OsmoBSC(config-net-bts)# overpower chan-mode ?
  speech-amr  Speech channels using AMR codec (default)
  any         Any kind of channel mode

Temporary ACCH Overpower

Enabling in OsmoBSC/OsmoBTS

Example configuration
network
 bts 0
  overpower dl-acch 2 <1>
  overpower rxqual 4 <2>
  overpower chan-mode speech-amr <3>
  1. Overpower of maximum 2 dB for both SACCH and FACCH.

  2. Enable TOP only if RxQual is worse than 4 (BER >= 1.6%).

  3. Permit TOP only for speech channels using AMR codec.

EOF

Thanks for listening! Questions?