aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Chemeris <Alexander.Chemeris@gmail.com>2017-03-17 18:22:19 -0700
committerAlexander Chemeris <Alexander.Chemeris@gmail.com>2017-03-22 18:31:07 +0000
commitb61c610cd964107aea2ccdf261575237d07ea994 (patch)
tree791cbbdab1ccb06bd85569e563b6165eca66cdfc
parent132fb247b101292818afaf72f7508b594625cc25 (diff)
Call vectorSlicer() right before packing bits for transmission to osmo-bts.
vectorSlicer() converts soft-bits from -1..+1 to 0..1 while we want to keep SoftVector in -1..+1 mode until the last minute, because at some point we'll want to transmit -1..+1 to osmo-bts instead of converting it from 0..1 back to -1..+1 on the osmo-bts side. Plus it removes code duplication - we call it once instead of twice. Change-Id: Idd6ddd7ac219afb0df055a692632678b66373764
-rw-r--r--Transceiver52M/Transceiver.cpp3
-rw-r--r--Transceiver52M/sigProcLib.cpp3
2 files changed, 3 insertions, 3 deletions
diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp
index 3f624d0..85dd629 100644
--- a/Transceiver52M/Transceiver.cpp
+++ b/Transceiver52M/Transceiver.cpp
@@ -962,6 +962,9 @@ void Transceiver::driveReceiveFIFO(size_t chan)
if (!rxBurst)
return;
+ // Convert -1..+1 soft bits to 0..1 soft bits
+ vectorSlicer(rxBurst);
+
/*
* EDGE demodulator returns 444 (148 * 3) bits
*/
diff --git a/Transceiver52M/sigProcLib.cpp b/Transceiver52M/sigProcLib.cpp
index 56a1a58..6f50f04 100644
--- a/Transceiver52M/sigProcLib.cpp
+++ b/Transceiver52M/sigProcLib.cpp
@@ -2068,8 +2068,6 @@ SoftVector *demodGmskBurst(signalVector &rxBurst, int sps,
bits = signalToSoftVector(dec);
delete dec;
- vectorSlicer(bits);
-
return bits;
}
@@ -2099,7 +2097,6 @@ SoftVector *demodEdgeBurst(signalVector &burst, int sps,
/* Soft slice and normalize */
bits = softSliceEdgeBurst(*rot);
- vectorSlicer(bits);
delete dec;
delete eq;