[PATCH] osmo-bts[master]: WIP: higher-precision TA/TOA math

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
Tue Feb 27 16:32:43 UTC 2018


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

WIP: higher-precision TA/TOA math

Change-Id: I0dc8e78545465dfc5c93691a49b86b6b8b56b432
---
M include/osmo-bts/gsm_data_shared.h
M src/common/l1sap.c
M src/common/measurement.c
3 files changed, 8 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/65/6965/1

diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h
index 7cefb10..770aea8 100644
--- a/include/osmo-bts/gsm_data_shared.h
+++ b/include/osmo-bts/gsm_data_shared.h
@@ -165,8 +165,8 @@
 struct bts_ul_meas {
 	/* BER in units of 0.01%: 10.000 == 100% ber, 0 == 0% ber */
 	uint16_t ber10k;
-	/* timing advance offset (in quarter bits) */
-	int16_t ta_offs_qbits;
+	/* timing advance offset (in 1/256 bits) */
+	int16_t ta_offs_256bits;
 	/* C/I ratio in dB */
 	float c_i;
 	/* flags */
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 50bd612..e095417 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -522,7 +522,7 @@
 		return 0;
 
 	memset(&ulm, 0, sizeof(ulm));
-	ulm.ta_offs_qbits = info_meas_ind->ta_offs_qbits;
+	ulm.ta_offs_256bits = info_meas_ind->ta_offs_qbits*(256/4);
 	ulm.ber10k = info_meas_ind->ber10k;
 	ulm.inv_rssi = info_meas_ind->inv_rssi;
 	ulm.is_sub = info_meas_ind->is_sub;
diff --git a/src/common/measurement.c b/src/common/measurement.c
index 98d9403..bdb2850 100644
--- a/src/common/measurement.c
+++ b/src/common/measurement.c
@@ -342,7 +342,7 @@
 	uint32_t irssi_full_sum = 0;
 	uint32_t ber_sub_sum = 0;
 	uint32_t irssi_sub_sum = 0;
-	int32_t taqb_sum = 0;
+	int32_t ta256b_sum = 0;
 	unsigned int num_meas_sub = 0;
 	int i;
 
@@ -362,7 +362,7 @@
 
 		ber_full_sum += m->ber10k;
 		irssi_full_sum += m->inv_rssi;
-		taqb_sum += m->ta_offs_qbits;
+		ta256b_sum += m->ta_offs_256bits;
 
 		if (m->is_sub) {
 			num_meas_sub++;
@@ -374,7 +374,7 @@
 	/* step 2: divide */
 	ber_full_sum = ber_full_sum / lchan->meas.num_ul_meas;
 	irssi_full_sum = irssi_full_sum / lchan->meas.num_ul_meas;
-	taqb_sum = taqb_sum / lchan->meas.num_ul_meas;
+	ta256b_sum = ta256b_sum / lchan->meas.num_ul_meas;
 
 	if (num_meas_sub) {
 		ber_sub_sum = ber_sub_sum / num_meas_sub;
@@ -387,9 +387,9 @@
 		irssi_sub_sum = 120; /* -120 dBm */
 	}
 
-	LOGP(DMEAS, LOGL_INFO, "%s Computed TA(% 4dqb) BER-FULL(%2u.%02u%%), RSSI-FULL(-%3udBm), "
+	LOGP(DMEAS, LOGL_INFO, "%s Computed TA256(% 4d) BER-FULL(%2u.%02u%%), RSSI-FULL(-%3udBm), "
 		"BER-SUB(%2u.%02u%%), RSSI-SUB(-%3udBm)\n", gsm_lchan_name(lchan),
-		taqb_sum, ber_full_sum/100,
+		ta256b_sum, ber_full_sum/100,
 		ber_full_sum%100, irssi_full_sum, ber_sub_sum/100, ber_sub_sum%100,
 		irssi_sub_sum);
 

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

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



More information about the gerrit-log mailing list