From 1751c62c980f8d6ed965e08fcb9ad1af485d8854 Mon Sep 17 00:00:00 2001 From: Jacob Erlbeck Date: Thu, 4 Jun 2015 12:12:32 +0200 Subject: 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 --- src/gprs_ms.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/gprs_ms.h') diff --git a/src/gprs_ms.h b/src/gprs_ms.h index 01858366..27c4be40 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -86,6 +86,8 @@ public: void detach_tbf(gprs_rlcmac_tbf *tbf); + void update_error_rate(gprs_rlcmac_tbf *tbf, int percent); + bool is_idle() const {return !m_ul_tbf && !m_dl_tbf && !m_ref;} void* operator new(size_t num); -- cgit v1.2.3