diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-10-13 17:03:37 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-10-14 12:53:04 +0200 |
commit | e91544d740a8606a994053b2f9eaf99059f40e33 (patch) | |
tree | 94e32b203c6dc8e5af4eb8de280c6c841dc6d55e /Transceiver52M/radioInterface.h | |
parent | 93fee1f163054094ec52a87db33ab31e3b5ab74e (diff) |
Calculate RSSI offset based on RxGain configuration
Prior to this patch, osmo-trx relied totally on proper VTY configuration
being set in "rssi-offset" together with the RxGain set through TRXC in
order to provide correct Uplink RSSI measurements to bts-trx.
With this patch, RSSI is now by default calculated (in LMS and UHD
backends) based on the currently set RxGain, by providing empirically
discovered values. Still, for backward compatibility, the old
"rssi-offset" command will overwrite completely the per-default
calculated rssi offset.
A new optional parameter "relative" is added at the end of the
"rssi-offset" VTY command to flag the value as relative to the newly
per-default calculated value. This way specific setups (like adding a
LNA / RF fronted) can still be expressed while still keeping the
automatic per-default offset.
Related: OS#4468
Change-Id: I8ef78fd20c22c60d61bfb18d80a4a36df4fd6c20
Diffstat (limited to 'Transceiver52M/radioInterface.h')
-rw-r--r-- | Transceiver52M/radioInterface.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index 8e5f4c1..efe5606 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -109,6 +109,9 @@ public: /** set receive gain */ virtual double setRxGain(double dB, size_t chan = 0); + /** return base RSSI offset to apply for received samples **/ + virtual double rssiOffset(size_t chan = 0); + /** drive transmission of GSM bursts */ void driveTransmitRadio(std::vector<signalVector *> &bursts, std::vector<bool> &zeros); @@ -190,4 +193,5 @@ public: bool tuneTx(double freq, size_t chan); bool tuneRx(double freq, size_t chan); virtual double setRxGain(double dB, size_t chan); + virtual double rssiOffset(size_t chan = 0); }; |