diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-06-25 19:16:06 +0200 |
---|---|---|
committer | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-07-01 02:01:22 +0200 |
commit | 0e8d68437af4a99dc99d11d4e1f441246bd3ec00 (patch) | |
tree | 5f33b62ca5a83636b5a542bd07ddb5ab539168f0 /include | |
parent | f50b684594335c82aa7cc596f8641a87f7d2963b (diff) |
osmo-bts-trx: implement BCCH carrier power reduction mode
The BCCH carrier (sometimes called C0) of a BTS shall maintain
discontinuous Downlink transmission at full power in order to
stay 'visible' to the mobile stations. Because of that, early
versions of 3GPP TS 45.008 prohibited BS power reduction on C0.
However, in the recent 3GPP TS 45.008 there is a feature called
'BCCH carrier power reduction operation'. This is a special
mode of operation, where the variation of RF level for some
timeslots is relaxed for the purpose of energy saving.
In BCCH carrier power reduction operation, for timeslots on the
C0 carrier, except timeslots carrying BCCH/CCCH, the output power
may be lower than the output power used for timeslots carrying
BCCH/CCCH. In this case the maximum allowed difference in output
power actually transmitted by the BTS is 6 dB.
The power reduction operation can be controlled by the BSC by
sending BS POWER CONTROL on the A-bis/RSL with the Channel Number
IE set to 0x80 (RSL_CHAN_BCCH). This makes osmo-bts reduce the
transmission power on inactive timeslots of the BCCH carrier.
This is a non-standard, Osmocom specific extension, so indicate
support of this feature to the BSC in the feature vector. Also
add a VTY command to allow enabling/disabling the power reduction
locally. Add some signalling notes to the A-bis/RSL manual.
For more details, see 3GPP TS 45.008, section 7.1.
Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98
Depends: I69283b3f35988fc7a1a1dcf1a1ad3b67f08ec716
Related: SYS#4919
Diffstat (limited to 'include')
-rw-r--r-- | include/osmo-bts/bts.h | 5 | ||||
-rw-r--r-- | include/osmo-bts/gsm_data.h | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index a891fb75..e1166182 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -331,6 +331,9 @@ struct gsm_bts { struct gsm_power_ctrl_params bs_dpc_params; /* BS Dynamic Power Control */ struct gsm_power_ctrl_params ms_dpc_params; /* MS Dynamic Power Control */ + /* Maximum BCCH carrier power reduction */ + uint8_t c0_power_red_db; + /* used by the sysmoBTS to adjust band */ uint8_t auto_band; @@ -410,4 +413,6 @@ int32_t bts_get_avg_fn_advance(const struct gsm_bts *bts); /* return the gsm_lchan for the CBCH (if it exists at all) */ struct gsm_lchan *gsm_bts_get_cbch(struct gsm_bts *bts); +int bts_set_c0_pwr_red(struct gsm_bts *bts, const uint8_t red); + #endif /* _BTS_H */ diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 20fe2b23..0ed63612 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -451,6 +451,9 @@ struct gsm_bts_trx_ts { /* Training Sequence Set (range 0..3) */ uint8_t tsc_set; + /* Actual BCCH carrier power reduction */ + uint8_t c0_power_red_db; + /* Frequency hopping parameters (configured via OML) */ struct { bool enabled; |