aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/radioInterface.h
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2020-10-13 17:03:37 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2020-10-14 12:53:04 +0200
commite91544d740a8606a994053b2f9eaf99059f40e33 (patch)
tree94e32b203c6dc8e5af4eb8de280c6c841dc6d55e /Transceiver52M/radioInterface.h
parent93fee1f163054094ec52a87db33ab31e3b5ab74e (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.h4
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);
};