aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/bts.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2016-06-27 18:56:01 +0200
committerHarald Welte <laforge@gnumonks.org>2018-02-27 17:27:46 +0100
commitb3a2a3e24f44adcc6660d33cc9684a8f24271e2e (patch)
treecd0993648158ad2c050553a6e99dc72d21e4a95a /src/common/bts.c
parentc2b4c668f3510b7b0baace749c5a310959010e90 (diff)
RACH decoding: Use BER threshold for RACH ghost detection
When decoding RACH bursts, we should use a BER threshold in order to help distinguish 'ghost' RACH bursts from real RACH bursts. The theoretical ideal threshold according to some papers is 7 out of 41 bits qhich aquals to Eb/N0 of 0 dB = 0.1707 (17.07%) We add a new 'ber10k' parameter to the RACH indication l1sap primitive (needs separate change for libosmocore), and then fill this value from osmo-bts-{sysmo,lc15,trx,octphy}. The common part above L1SAP then applies the threshold, which can be changed from vty using the "max-ber10k-rach <0-10000>" command available at the BTS node. The unit is BER in 1/10000, i.e. a value of 100 equals 1% bit error rate. Change-Id: Ic41c11f6312a36baa2738547e8dcec80829457f8
Diffstat (limited to 'src/common/bts.c')
-rw-r--r--src/common/bts.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/common/bts.c b/src/common/bts.c
index b10d7f21..15b92d72 100644
--- a/src/common/bts.c
+++ b/src/common/bts.c
@@ -149,6 +149,7 @@ int bts_init(struct gsm_bts *bts)
btsb->t3105_ms = 300;
btsb->min_qual_rach = MIN_QUAL_RACH;
btsb->min_qual_norm = MIN_QUAL_NORM;
+ btsb->max_ber10k_rach = 1707; /* 7 of 41 bits is Eb/N0 of 0 dB = 0.1707 */
btsb->pcu.sock_path = talloc_strdup(btsb, PCU_SOCK_DEFAULT);
for (i = 0; i < ARRAY_SIZE(btsb->t200_ms); i++)
btsb->t200_ms[i] = oml_default_t200_ms[i];