diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2022-04-24 01:45:50 +0300 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2022-05-15 08:10:10 +0000 |
commit | 1f9fbd881602f20f5d83b94f2332c18c19b680e0 (patch) | |
tree | 193bcc407c03334a31fc00dd64d3f83752896b7c | |
parent | 284f16e7d7797391e40f034d36756a0dbcf6cf71 (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.c | 6 |
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 |