aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/Transceiver.cpp
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2019-07-03 15:00:56 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2019-07-03 15:49:38 +0200
commitbe9cd66020ee1e32a66b95edbfec06b36dde4980 (patch)
tree1fd9b815d3bbea4b339f1d68fcfceb5f5976fb0f /Transceiver52M/Transceiver.cpp
parentb9d2515704ac83cacd88d0a73ecba30323df0b2d (diff)
Transceiver: Avoid noise calculation formula in 2 branches in pullRadioVector
Makes code easier to follow and will help in forthcoming refactoring once idle frames are supported. Change-Id: I56c84e9684ca460efd6c983d7e95d8e455bcac69
Diffstat (limited to 'Transceiver52M/Transceiver.cpp')
-rw-r--r--Transceiver52M/Transceiver.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp
index 58e8719..7f05a2c 100644
--- a/Transceiver52M/Transceiver.cpp
+++ b/Transceiver52M/Transceiver.cpp
@@ -631,19 +631,18 @@ bool Transceiver::pullRadioVector(size_t chan, struct trx_ul_burst_ind *bi)
burst = radio_burst->getVector(max_i);
avg = sqrt(avg / radio_burst->chans());
- bi->rssi = 20.0 * log10(rxFullScale / avg) + rssiOffset;
-
if (type == IDLE) {
/* Update noise levels */
state->mNoises.insert(avg);
state->mNoiseLev = state->mNoises.avg();
- bi->noise = 20.0 * log10(rxFullScale / state->mNoiseLev) + rssiOffset;
+ }
+ bi->rssi = 20.0 * log10(rxFullScale / avg) + rssiOffset;
+ bi->noise = 20.0 * log10(rxFullScale / state->mNoiseLev) + rssiOffset;
+
+ if (type == IDLE) {
delete radio_burst;
return false;
- } else {
- /* Do not update noise levels */
- bi->noise = 20.0 * log10(rxFullScale / state->mNoiseLev) + rssiOffset;
}
unsigned max_toa = (type == RACH || type == EXT_RACH) ?