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/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25681 ) Change subject: MS Power Control Loop: Use P_CON_INTERVAL=2 by default ...................................................................... MS Power Control Loop: Use P_CON_INTERVAL=2 by default Increase the reaction time at the expense of more stable loop with less temporary oscillations. See updated user manual documentation in this commit for a larger description. Related: SYS#5371 Change-Id: I46be244a5e01a74086e3a977ec3ea139742a0074 --- M doc/manuals/chapters/power_control.adoc M src/osmo-bsc/gsm_data.c 2 files changed, 51 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/25681/1 diff --git a/doc/manuals/chapters/power_control.adoc b/doc/manuals/chapters/power_control.adoc index 51a38cb..5563f19 100644 --- a/doc/manuals/chapters/power_control.adoc +++ b/doc/manuals/chapters/power_control.adoc @@ -168,6 +168,23 @@ <0-31> P_CON_INTERVAL, in units of 2 SACCH periods (0.96 seconds) ---- +3GPP TS 45.008 briefly mentions this parameter in table A.1 (`P_Con_INTERVAL`). + +A small time graph is depicted below for better understanding of the meaning of +values for this parameter, since it is not obvious at all. + +.Example: Suspension interval accomplished by several values of P_CON_INTERVAL +---- +|<-->| - 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, default) +d) * * P_CON_INTERVAL=3 (2.88 s) +e) * * P_CON_INTERVAL=4 (3.84 s) +---- + The value to use for this parameter is closely related to that of VTY option `step-size inc <2-6> red <2-4>`, which configures the maximum step (in dB) at which the MS Power can be requested to changed when the MS Power Control Loop is @@ -181,31 +198,42 @@ By default, increment `step-size` is set to 4 dB and the decrement `step-size` is set to 2 dB, hence the MS requiring `4 * 60 = 240` milliseconds. That's less than 1 measurement period (480 ms), hence only the first measurement period -needs to be skipped. Therefore, the suspension interval is set to 1 for both -MS/BS power control loops, and so the power control decision is taken every 960 -ms (every second SACCH block period). +needs to be skipped. Therefore, a suspension interval of 1 for both +MS/BS power control loops can be used, and so the power control decision is +taken every 960 ms (every second SACCH block period). + +However, OsmoBSC currently uses a default value of `ctrl-interval 2` +(`P_CON_INTERVAL=2`, 1.92s, 3/4 received SACCH blocks are skipped), because +that's the minimum amount of frames required for one loop step to run +completely, that is: BTS fetching measurements and transmitting the new MS Power +Level, then the MS retrieving the MS Power Level, transmitting with that exact +MS Power level during the entire period and then finally submitting the +Measurement result containing that same MS Power Level. Using a value of +`P_CON_INTERVAL=1` also provides good results, but in that case the loop tends +to produce more temporary power oscillations due to the loop acting on periods +where an older (earlier requested) MS Power level is still in use (and +announced) by the MS. + +.Example: Timeline showing propagation of a new MS Power Level (P_CON_INTERVAL=2) +---- +|<------------->| - one SACCH multi-frame period +| 1 | 2 | 3 | 4 | ---> SACCH multi-frames +|SA0|SA1|SA2|SA3|SA0|SA1|SA2|SA3|SA0|SA1|SA2|SA3|SA0|SA1|SA2|SA3| ---> SACCH bursts +|<1>|...|...|<2>|<3>|...|...|<4>|<5>|...|...|<6>|<7>|...|...|<8>| +---- +<1> BTS sends new requested MS Power Level in header of SACCH +<2> MS receives SACCH block (new MS Power Level) +<3> MS starts ramping towards new MS Power Level (hence potentially variable power used over the period) +<4> MS should already be in desired MS Power Level (for step increments of less-or-equal than 8 dB) +<5> MS starts transmitting at desired MS Power level constantly (ramping is over) +<6> MS builds Measurement Results to be sent on next SACCH period +<7> MS sends the Measurement Results of the previous multiframe to the BTS +<8> BTS receives the Measurement Results from MS on SACCH, starts next loop iteration + Setting `ctrl-interval` to 0 increases the interval to 480 ms, so basically no SACCH block is skipped and MS Power Control loop is triggered upon receival of -every UL SACCH block. Value 2 corresponds to the interval of 1920 ms, so 3/4 -received SACCH blocks are skipped. - -3GPP TS 45.008 briefly mentions this parameter in table A.1 (`P_Con_INTERVAL`). - -A small time graph is depicted below for better understanding of the meaning of -values for this parameter, since it is not obvious at all. - -.Example: Suspension interval accomplished by several values of P_CON_INTERVAL ----- -|<-->| - one SACCH multi-frame period -| | -|----|----|----|----|----|----|----|----|----> SACCH multi-frames -a) * * * * * * * * * P_CON_INTERVAL=0 (0.48 s) -b) * * * * * P_CON_INTERVAL=1 (0.96 s, default) -c) * * * P_CON_INTERVAL=2 (1.92 s) -d) * * P_CON_INTERVAL=3 (2.88 s) -e) * * P_CON_INTERVAL=4 (3.84 s) ----- +every UL SACCH block. ==== Power change step size diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index c8108e8..a9fdfe3 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1142,7 +1142,7 @@ .inc_step_size_db = 4, /* 2, 4, or 6 dB */ .red_step_size_db = 2, /* 2 or 4 dB */ - .ctrl_interval = 1, /* Trigger loop every second SACCH block. TS 45.008 sec 4.7.1 */ + .ctrl_interval = 2, /* Trigger loop every fourth SACCH block (1.92s). TS 45.008 sec 4.7.1 */ /* RxLev measurement parameters */ .rxlev_meas = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25681 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I46be244a5e01a74086e3a977ec3ea139742a0074 Gerrit-Change-Number: 25681 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20211004/c3e20dae/attachment.htm>