GSM RF power control

GSM specifies RF power control for both the uplink (MS power control) and downlink (BS power control).

The power control schemes in circuit-switched GSM are always closed-loop power control, where the transmission power of the transmitter is adjusted according to the received signal level (and/or quality) at the receiver.

Implementation of the respective power control loops can happen within
1. the BSC, using MS POWER CONTROL and BS POWER CONTROL messages on A-bis RSL
1. the BTS, under control of the BSC-set MS Power, MS Power Parameters, BS Power and BS Power Parameter Information Elements (A-bis RSL)

MS power control

MS transmit power control serves th following primary purposes:
1. to reduce the battery consumption of the MS while transmitting, extending battery life
1. to ensure the signals from all MS on a given BTS receiver are received with similar magnitude, relaxing required dynamic range on the receiver
1. to redude the amount of uplink interference the MS might be creating in remote/surrounding cells that re-use the same frequency

BS power cotrol

The idea of BS transmit power control is to ensure the BTS only sends the minimal neccessary amount of RF power into the downlink RF channel in order to safely reach the MS associated with a given dedicated channel. This means that it only exists on dedicated channels, not on common channels.

The rationale for this is to reduce the amount of inteference to remote cells that re-use the same frequency.

Furthermore, the primary TRX (T0) of a BTS must always transmit at full nominal power level, i.e. the BCCH arfcn cannot use BS power control.

Osmocom implementation

OsmoBSC / OsmoNITB

In OsmoBSC and the BSC portion of OsmoNITB we traditionally did not pay attention to power control. Depending on the BTS model driver, there might be some configuration done via OML to instruct the BTS to perform autonomous power control.

  • the RSL BS POWER CONTROL and MS POWER CONTROL messages are not used.
  • the (manufacturer-specific) BS Power Parameters and MS Power Parameters are not sent.
  • the BS Power IE is set to 0 (use nominal power of Transceiver)
  • the MS Power IE is set to the maximum permitted (and supported) transmit power of the MS


For osmo-bts-sysmo (the sysmoBTS backend of OsmoBTS), there are two options to implement MS power control:
1. Autonomously inside the DSP/PHY. This used to be the only option until git commit 579651bf300de002731dfd3bd39985c9fd15616c
1. Within the osmo-bts software, by means of the code in src/common/power_control.c