From aa15d62a8cac2bfa30a336b76cd18f3b9647dd0d Mon Sep 17 00:00:00 2001 From: Tom Tsou Date: Thu, 11 Aug 2016 14:36:23 -0700 Subject: sigproc: Match differential GMSK start/end bits to tail bits Invert the initial and trailing diffential bits in the 4 sps GMSK modulator to fix power-time mask irregularity at start and end of burst. GSM tail bits are always zero, so we can safely use fixed bit values. Signed-off-by: Tom Tsou --- Transceiver52M/sigProcLib.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Transceiver52M/sigProcLib.cpp') diff --git a/Transceiver52M/sigProcLib.cpp b/Transceiver52M/sigProcLib.cpp index d274e26..a361eff 100644 --- a/Transceiver52M/sigProcLib.cpp +++ b/Transceiver52M/sigProcLib.cpp @@ -816,8 +816,8 @@ static signalVector *modulateBurstLaurent(const BitVector &bits) c1_burst->isReal(true); c1_itr = c1_burst->begin(); - /* Padded differential start bits */ - *c0_itr = 2.0 * (0x01 & 0x01) - 1.0; + /* Padded differential tail bits */ + *c0_itr = 2.0 * (0x00 & 0x01) - 1.0; c0_itr += sps; /* Main burst bits */ @@ -826,8 +826,8 @@ static signalVector *modulateBurstLaurent(const BitVector &bits) c0_itr += sps; } - /* Padded differential end bits */ - *c0_itr = 2.0 * (0x01 & 0x01) - 1.0; + /* Padded differential tail bits */ + *c0_itr = 2.0 * (0x00 & 0x01) - 1.0; /* Generate C0 phase coefficients */ GMSKRotate(*c0_burst, sps); -- cgit v1.2.3