diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-06-08 17:54:24 +0200 |
---|---|---|
committer | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-06-18 18:56:57 +0200 |
commit | 6fd4f77243b40156b7929ab6b2ee865bc040d8db (patch) | |
tree | ab96893b5ce46f31fdf73bf4abe7db9300a59803 /include | |
parent | a4847427933b280f8f93aa4ec5fee879fa4602e5 (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.h | 8 |
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 */ |