[PATCH] osmo-bts[master]: common/l1sap.c: limit the minimal ToA for RACH bursts

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

Vadim Yanitskiy gerrit-no-reply at lists.osmocom.org
Mon Mar 5 15:45:18 UTC 2018


Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/7089

to look at the new patch set (#3).

common/l1sap.c: limit the minimal ToA for RACH bursts

In general, RACH bursts should not arrive with negative offset.
Let's limit early signal arrival up to 2 symbols, otherwise it
is most likely noise, interference or a ghost.

TTCN-3 test case: Icccc88545ed3aabd6da28a40599a8a77d1de477d
Change-Id: I662294fe3136cf7a259be13816a3e63f7db9a948
---
M src/common/l1sap.c
1 file changed, 12 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/89/7089/3

diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index ce68599..8380175 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -1159,9 +1159,13 @@
 	return 0;
 }
 
+#define RACH_MIN_TOA256 -2 * 256
+
 static bool rach_pass_filter(struct ph_rach_ind_param *rach_ind,
 	struct gsm_bts_role_bts *btsb)
 {
+	int16_t toa256 = rach_ind->acc_delay_256bits;
+
 	/* Check for RACH exceeding BER threshold (ghost RACH) */
 	if (rach_ind->ber10k > btsb->max_ber10k_rach) {
 		LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring RACH request: "
@@ -1170,11 +1174,15 @@
 		return false;
 	}
 
-	/* Make sure that ToA (Timing of Arrival) is acceptable */
-	if (rach_ind->acc_delay > btsb->max_ta) {
+	/**
+	 * Make sure that ToA (Timing of Arrival) is acceptable.
+	 * We allow early arrival up to 2 symbols, and delay
+	 * according to maximal allowed Timing Advance value.
+	 */
+	if (toa256 < RACH_MIN_TOA256 || toa256 > btsb->max_ta * 256) {
 		LOGPFN(DL1C, LOGL_INFO, rach_ind->fn, "Ignoring RACH request: "
-			"ToA(%u) exceeds the maximal allowed TA(%u) value\n",
-			rach_ind->acc_delay, btsb->max_ta);
+			"ToA(%d) exceeds the allowed range (%d..%d)\n",
+			toa256, RACH_MIN_TOA256, btsb->max_ta * 256);
 		return false;
 	}
 

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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I662294fe3136cf7a259be13816a3e63f7db9a948
Gerrit-PatchSet: 3
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Vadim Yanitskiy <axilirator at gmail.com>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list