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
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 @@
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 @@
bits = signalToSoftVector(dec);
delete dec;
- vectorSlicer(bits);
-
return bits;
}
@@ -2099,7 +2097,6 @@
/* Soft slice and normalize */
bits = softSliceEdgeBurst(*rot);
- vectorSlicer(bits);
delete dec;
delete eq;