aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcu_main.cpp
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2015-06-04 12:12:32 +0200
committerJacob Erlbeck <jerlbeck@sysmocom.de>2015-06-08 09:40:09 +0200
commit1751c62c980f8d6ed965e08fcb9ad1af485d8854 (patch)
tree80b46ca4327c0902778eb3fd62e4c751af866f98 /src/pcu_main.cpp
parentf47f68a9d8e4421398e2369e4b18de8c52a9d396 (diff)
tbf: Add adaptive DL CS adjustment
To cope with transmission failures due to bad radio conditions, a different coding scheme with more redundance can be used. This commit adds an implemenation that is based on the Ack/Nack ratio per PACKET DOWNLINK ACK/NACK message received from the MS. Basically the CS level is decreased, if the block error rate goes above cs_adj_upper_limit (default 33%), and it is increased, if the rate drops below cs_adj_lower_limit (default 10%). Only blocks that have been encoded with the current CS are taken into account. Note that this approach doesn't measure the MS->BTS conditions and that the measurement values reported by the MS are not taken into account. Ticket: #1739 Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/pcu_main.cpp')
-rw-r--r--src/pcu_main.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp
index 9e96af08..2e4a970f 100644
--- a/src/pcu_main.cpp
+++ b/src/pcu_main.cpp
@@ -173,6 +173,9 @@ int main(int argc, char *argv[])
bts->n3105 = 8;
bts->alpha = 0; /* a = 0.0 */
bts->ms_idle_sec = 60; /* slightly above T3314 (default 44s, 24.008, 11.2.2) */
+ bts->cs_adj_enabled = 1;
+ bts->cs_adj_upper_limit = 33; /* Decrease CS if the error rate is above */
+ bts->cs_adj_lower_limit = 10; /* Increase CS if the error rate is below */
msgb_set_talloc_ctx(tall_pcu_ctx);