diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-02-27 16:58:46 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-02-27 20:00:16 +0100 |
commit | acefd0586e5d463b2e7a6a039131994bc12573fc (patch) | |
tree | 9d7b22f8a0453c4fb20d69835717a20db02e7a90 /src/osmo-bts-litecell15 | |
parent | c092f4e1ded65447061198ea1c57458becc71574 (diff) |
L1SAP: Increase resolution of reported burst timing
Before this patch we had:
* osmo-bts-trx internally using 1/256th bit/symbol period
* osmo-bts-sysmo internally using 1/4 bit/smbol period
* PCU interface using 1/4
* L1SAP interface using 1/4
* measurement processing code on top of L1SAP using 1/256
So for sysmo/lc15/octphy we are not loosing resolution, but for
osmo-bts-trx we're arbitrarily reducing the resolution via L1SAP
only then to compute with higher resolution again.
Let's change L1SAP to use 1/256 bits and hence not loose any resolution.
This requires a corresponding change in libosmocore for l1sap.h, which
is found in Change-Id Ibb58113c2819fe2d6d23ecbcfb8b3fce4055025d
Change-Id: If9b0f617845ba6c4aa47969f521734388197c9a7
Diffstat (limited to 'src/osmo-bts-litecell15')
-rw-r--r-- | src/osmo-bts-litecell15/l1_if.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index 1b83fbde..9e122cd8 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -907,7 +907,7 @@ static int process_meas_res(struct gsm_bts_trx *trx, uint8_t chan_nr, PRIM_OP_INDICATION, NULL); l1sap.u.info.type = PRIM_INFO_MEAS; l1sap.u.info.u.meas_ind.chan_nr = chan_nr; - l1sap.u.info.u.meas_ind.ta_offs_qbits = m->i16BurstTiming; + l1sap.u.info.u.meas_ind.ta_offs_256bits = m->i16BurstTiming*64; l1sap.u.info.u.meas_ind.ber10k = (unsigned int) (m->fBer * 10000); l1sap.u.info.u.meas_ind.inv_rssi = (uint8_t) (m->fRssi * -1); l1sap.u.info.u.meas_ind.fn = fn; @@ -983,7 +983,7 @@ static int handle_ph_data_ind(struct lc15l1_hdl *fl1, GsmL1_PhDataInd_t *data_in l1sap->u.data.rssi = rssi; if (!pcu_direct) { l1sap->u.data.ber10k = data_ind->measParam.fBer * 10000; - l1sap->u.data.ta_offs_qbits = data_ind->measParam.i16BurstTiming; + l1sap->u.data.ta_offs_256bits = data_ind->measParam.i16BurstTiming*64; l1sap->u.data.lqual_cb = data_ind->measParam.fLinkQuality * 10; } return l1sap_up(trx, l1sap); |