aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-06-08 17:54:24 +0200
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-06-18 18:56:57 +0200
commit6fd4f77243b40156b7929ab6b2ee865bc040d8db (patch)
treeab96893b5ce46f31fdf73bf4abe7db9300a59803 /include
parenta4847427933b280f8f93aa4ec5fee879fa4602e5 (diff)
osmo-bts-trx: report interference levels to the upper layers
In trx_sched_ul_burst(), treat all BURST.ind and NOPE.ind mapped to inactive logical channels as interference. Average the RSSI values on the fly using a sliding average with constant a=0.5. Report averaged values for each logical channel every 104 TDMA frames (SACCH period) by calling gsm_lchan_interf_meas_push(). Change-Id: I4686448e42a40df56c1d27a14fd0a4d43fd144a5 Related: I78b6d8beffa5228a28231b75728e7aebdd3cb23c Related: SYS#5313, OS#1569
Diffstat (limited to 'include')
-rw-r--r--include/osmo-bts/scheduler.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h
index 40b73301..80a260fe 100644
--- a/include/osmo-bts/scheduler.h
+++ b/include/osmo-bts/scheduler.h
@@ -136,10 +136,14 @@ struct l1sched_chan_state {
uint8_t ul_encr_key[MAX_A5_KEY_LEN];
uint8_t dl_encr_key[MAX_A5_KEY_LEN];
- /* Simple ring buffer (up to 8 unique measurements) */
+ /* Uplink measurements */
struct {
- struct l1sched_meas_set buf[8];
+ /* Active channel measurements (simple ring buffer) */
+ struct l1sched_meas_set buf[8]; /* up to 8 entries */
unsigned int current; /* current position */
+
+ /* Interference measurements */
+ int interf_avg; /* sliding average */
} meas;
/* handover */