aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/sigProcLib.h
diff options
context:
space:
mode:
authorThomas Tsou <tom@tsou.cc>2013-08-20 16:10:01 -0400
committerThomas Tsou <tom@tsou.cc>2013-10-18 13:10:04 -0400
commit83e0689e76b0c00ab5d40d04063b7eb50677af64 (patch)
treef684a5e943e1c4b90b2fe6ae6d2e150bb89894d1 /Transceiver52M/sigProcLib.h
parentd24cc2cd9647c56c0103490c3a0bfc1dd13d6cd2 (diff)
Transceiver52M: Make GSM pulse filter internal to implementation
There is no reason expose the pulse shaping filter outside of the signal processing calls. The main transceiver object makes no use of the filter and there's no reason to pass it around. Initialize the pulse shape with the signal processing library, and maintain an internal static member like many of the other library variables. Similarly destroy the object when the library is closed. Signed-off-by: Thomas Tsou <tom@tsou.cc>
Diffstat (limited to 'Transceiver52M/sigProcLib.h')
-rw-r--r--Transceiver52M/sigProcLib.h17
1 files changed, 6 insertions, 11 deletions
diff --git a/Transceiver52M/sigProcLib.h b/Transceiver52M/sigProcLib.h
index e91644c..a9fabb0 100644
--- a/Transceiver52M/sigProcLib.h
+++ b/Transceiver52M/sigProcLib.h
@@ -125,7 +125,7 @@ signalVector* convolve(const signalVector *a,
@param symbolLength The size of the pulse.
@return The GSM pulse.
*/
-signalVector* generateGSMPulse(int sps, int symbolLength);
+void generateGSMPulse(int sps, int symbolLength);
/**
Frequency shift a vector.
@@ -162,9 +162,8 @@ bool vectorSlicer(signalVector *x);
/** GMSK modulate a GSM burst of bits */
signalVector *modulateBurst(const BitVector &wBurst,
- const signalVector &gsmPulse,
int guardPeriodLength,
- int sps);
+ int sps, bool emptyPulse = false);
/** Sinc function */
float sinc(float x);
@@ -229,15 +228,14 @@ void offsetVector(signalVector &x,
@param TSC The training sequence [0..7]
@return Success.
*/
-bool generateMidamble(signalVector &gsmPulse, int sps, int tsc);
+bool generateMidamble(int sps, int tsc);
/**
Generate a modulated RACH sequence, stored within the library.
@param gsmPulse The GSM pulse used for modulation.
@param sps The number of samples per GSM symbol.
@return Success.
*/
-bool generateRACHSequence(signalVector &gsmPulse,
- int sps);
+bool generateRACHSequence(int sps);
/**
Energy detector, checks to see if received burst energy is above a threshold.
@@ -310,11 +308,8 @@ signalVector *decimateVector(signalVector &wVector,
@param TOA The time-of-arrival of the received burst.
@return The demodulated bit sequence.
*/
-SoftVector *demodulateBurst(signalVector &rxBurst,
- const signalVector &gsmPulse,
- int sps,
- complex channel,
- float TOA);
+SoftVector *demodulateBurst(signalVector &rxBurst, int sps,
+ complex channel, float TOA);
/**
Creates a simple Kaiser-windowed low-pass FIR filter.