[PATCH] libosmocore[master]: gsm0503_coding.c: Use majority vote in tch_efr_unreorder()

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/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Fri Nov 3 12:04:38 UTC 2017


Review at  https://gerrit.osmocom.org/4676

gsm0503_coding.c: Use majority vote in tch_efr_unreorder()

The EFR coding contains some repeated bits.  In case there are
transmission errors, some bits may of course get corrupted.  It looks
like there's an improvement can be made by taking a majority vote on
those "repetition bits", i.e. if 2 out of 3 bits are the same, then use
that instead of expecting to match all 3 bits.

See 3GPP TS 45.003 Section 3.1.1.3 for reference.

Change-Id: I2a28a4d7fb82aed4d39fe8efeea702effdba3858
---
M src/coding/gsm0503_coding.c
1 file changed, 3 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/76/4676/1

diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c
index c4bdb81..639d2df 100644
--- a/src/coding/gsm0503_coding.c
+++ b/src/coding/gsm0503_coding.c
@@ -1743,16 +1743,16 @@
 
 	memcpy(s, w, 71);
 	sum = s[69] + w[71] + w[72];
-	s[69] = (sum > 2);
+	s[69] = (sum >= 2);
 	memcpy(s + 71, w + 73, 50);
 	sum = s[119] + w[123] + w[124];
-	s[119] = (sum > 2);
+	s[119] = (sum >= 2);
 	memcpy(s + 121, w + 125, 53);
 	sum = s[172] + w[178] + w[179];
 	s[172] = (sum > 2);
 	memcpy(s + 174, w + 180, 50);
 	sum = s[222] + w[230] + w[231];
-	s[222] = (sum > 2);
+	s[222] = (sum >= 2);
 	memcpy(s + 224, w + 232, 20);
 	memcpy(p, w + 252, 8);
 }

-- 
To view, visit https://gerrit.osmocom.org/4676
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2a28a4d7fb82aed4d39fe8efeea702effdba3858
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>



More information about the gerrit-log mailing list