aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2022-04-24 01:45:50 +0300
committerlaforge <laforge@osmocom.org>2022-05-15 08:10:10 +0000
commit1f9fbd881602f20f5d83b94f2332c18c19b680e0 (patch)
tree193bcc407c03334a31fc00dd64d3f83752896b7c
parent284f16e7d7797391e40f034d36756a0dbcf6cf71 (diff)
osmo-bts-trx: rx_tchf_fn(): do not treat AFS_SID_UPDATE as SUB frame
We have two similar values in enum gsm0503_amr_dtx_frames: * AFS_SID_UPDATE - precursor of SID UPDATE, * AFS_SID_UPDATE_CN - the actual SID UPDATE. The former is internally used by libosmocoding to mark the current frame as a precursor of the actual SID UPDATE frame - the later. +---+---+---+---+---+---+---+---+ | _ | _ | _ | _ | a | b | c | d | AFS_SID_UPDATE +---+---+---+---+---+---+---+---+ | a | b | c | d | _ | _ | _ | _ | AFS_SID_UPDATE_CN +---+---+---+---+---+---+---+---+ ^ | | We're here. Do not treat the precursor frames as a SUB frames, as they contain no information (rc=-1) and usually have *expected* BER ~50%. This fixes unexpected RXQUAL-SUB > 0 in the Uplink measurements during DTX. Change-Id: I46f32bbbcb6284615d05b8703945c5ca4da55b92 Related: SYS#5853
-rw-r--r--src/osmo-bts-trx/sched_lchan_tchf.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c
index 6a90327b..067e31a3 100644
--- a/src/osmo-bts-trx/sched_lchan_tchf.c
+++ b/src/osmo-bts-trx/sched_lchan_tchf.c
@@ -171,7 +171,11 @@ int rx_tchf_fn(struct l1sched_ts *l1ts, const struct trx_ul_burst_ind *bi)
"Received AMR DTX frame (rc=%d, BER %d/%d): %s\n",
rc, n_errors, n_bits_total,
gsm0503_amr_dtx_frame_name(chan_state->amr_last_dtx));
- is_sub = 1;
+ /* ... except AFS_SID_UPDATE, which is in fact a precursor of
+ * the actual SID UPDATE frame (AFS_SID_UPDATE_CN) and only
+ * used internally by gsm0503_tch_afs_decode_dtx() */
+ if (chan_state->amr_last_dtx != AFS_SID_UPDATE)
+ is_sub = 1;
}
/* The occurrence of the following frames indicates that we