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>
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 @@
 	@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 @@
 
 /** 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 @@
         @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 @@
         @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.