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/.
fixeria gerrit-no-reply at lists.osmocom.orgfixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24804 ) Change subject: power_control: constrain BS power reduction on BCCH carrier ...................................................................... power_control: constrain BS power reduction on BCCH carrier BS Power Control is not allowed on the BCCH/CCCH carrier, unless the BTS is operating in the BCCH carrier power reduction mode. Allow constrained BS power reduction (up to 6 dB) on active logical channels iff BCCH carrier power reduction mode is enabled. Take into account that the maximum power difference between a timeslot used for BCCH/CCCH and the timeslot preceding it shall not exceed 3 dB. Change-Id: I2cc6a86731984f586ef35b43a8d3de631f7d8a2f Related: SYS#4919, SYS#4918 --- M doc/manuals/chapters/power_control.adoc M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts.c M src/osmo-bsc/lchan_fsm.c 4 files changed, 62 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/04/24804/1 diff --git a/doc/manuals/chapters/power_control.adoc b/doc/manuals/chapters/power_control.adoc index fe2bf26..b146e2a 100644 --- a/doc/manuals/chapters/power_control.adoc +++ b/doc/manuals/chapters/power_control.adoc @@ -357,6 +357,30 @@ power reduction mode" in the feature vector. This can be checked by issuing `show bts` command in the VTY interface. +==== Interworking with static and dynamic power control + +The key difference between BCCH carrier power reduction and the BS power control +is that the former affects *inactive* timeslots (or sub-channels), so only dummy +bursts are affected. The later depends on the Downlink measurement reports sent +by the MS, and thus applies to *active* channels only. However, both features +are interconnected: the maximum BCCH carrier power reduction value constrains +the BS Power value that can be used for dynamic or static BS power control. + +BS power control on the BCCH carrier will not be enabled unless the BTS is in BCCH +carrier power reduction mode of operation. Once it is, the BS power reduction +value in either of `dyn-bts` or `static` modes would be constrained by currently +applied BCCH power reduction value, and thus would never exceed the maximum of 6 dB. + +For example, consider a BTS with BS power control configured to use _dynamic_ mode +and the maximum power reduction of 16 dB. Once this BTS is switched into the BCCH +carrier power reduction mode with the maximum attenuation of 4 dB, the maximum +power reduction value for the BS power loop on the C0 carrier would be 4 dB. + +Moreover, according to 3GPP TS 45.008, between a timeslot used for BCCH/CCCH and +the timeslot preceding it, the difference in output power actually transmitted by +the BTS shall not exceed 3 dB. This means that on some timeslots the power +reduction value can be constrained even further. + ==== Managing BCCH carrier power reduction The BCCH carrier power reduction can be controlled via the CTRL and VTY interfaces. diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 569e288..19a168e 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -841,6 +841,9 @@ } rbs2000; }; + /* Maximum BCCH carrier power reduction */ + uint8_t bcch_max_power_red_db; + /* Maximum number of lchans that could become usable, for example by switching a dynamic timeslot's type or by * enabling VAMOS secondary lchans. This does include the maximum count of possible VAMOS secondary lchans. */ uint8_t max_lchans_possible; diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index e055981..05d52a7 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -749,6 +749,8 @@ int gsm_bts_set_bcch_power_red(struct gsm_bts *bts, const uint8_t red) { + struct gsm_bts_trx *c0 = bts->c0; + unsigned int tn; int rc; if (!osmo_bts_has_feature(&bts->features, BTS_FEAT_BCCH_POWER_RED)) @@ -762,6 +764,32 @@ bts->bcch_max_power_red_db = red; + /* Timeslot 0 is always transmitting BCCH/CCCH */ + c0->ts[0].bcch_max_power_red_db = 0; + + for (tn = 1; tn < ARRAY_SIZE(c0->ts); tn++) { + struct gsm_bts_trx_ts *ts = &c0->ts[tn]; + const struct gsm_bts_trx_ts *next; + + if (ts->pchan_is == GSM_PCHAN_CCCH) + ts->bcch_max_power_red_db = 0; + else + ts->bcch_max_power_red_db = red; + + if (ts->bcch_max_power_red_db > 0) { + /* Next timeslot following this one */ + next = &c0->ts[(tn + 1) % 8]; + + /* If BCCH/CCCH follows, limit to 2 dB */ + if (next->pchan_is == GSM_PCHAN_CCCH) + ts->bcch_max_power_red_db = 2; + } + } + + /* Timeslot 7 is always preceding BCCH/CCCH */ + if (c0->ts[7].bcch_max_power_red_db > 0) + c0->ts[7].bcch_max_power_red_db = 2; + return 0; } diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 03ccec0..8ae83da 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -675,6 +675,13 @@ lchan->bs_power_db = bts->bs_power_ctrl.bs_power_val_db; } + /* BS Power Control is generally not allowed on the BCCH/CCCH carrier. + * However, we allow it in the BCCH carrier power reduction mode of operation. */ + if (lchan->ts->trx == bts->c0) { + lchan->bs_power_db = OSMO_MIN(lchan->ts->bcch_max_power_red_db, + lchan->bs_power_db); + } + if (lchan_activate_set_ch_mode_rate_and_mr_config(lchan)) return; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2cc6a86731984f586ef35b43a8d3de631f7d8a2f Gerrit-Change-Number: 24804 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210629/96d8b1b8/attachment.htm>