diff --git a/Transceiver52M/sigProcLib.h b/Transceiver52M/sigProcLib.h
index c6dd172..8ff8246 100644
--- a/Transceiver52M/sigProcLib.h
+++ b/Transceiver52M/sigProcLib.h
@@ -199,10 +199,7 @@
                         int sps,
                         complex &amplitude,
                         float &TOA,
-                        unsigned maxTOA,
-                        bool requestChannel = false,
-                        signalVector** channelResponse = NULL,
-                        float *channelResponseOffset = NULL);
+                        unsigned maxTOA);
 
 /**
 	Decimate a vector.
@@ -223,35 +220,4 @@
 */
 SoftVector *demodulateBurst(signalVector &rxBurst, int sps,
                             complex channel, float TOA);
-
-/**
-	Design the necessary filters for a decision-feedback equalizer.
-	@param channelResponse The multipath channel that we're mitigating.
-	@param SNRestimate The signal-to-noise estimate of the channel, a linear value
-	@param Nf The number of taps in the feedforward filter.
-	@param feedForwardFilter The designed feed forward filter.
-	@param feedbackFilter The designed feedback filter.
-	@return True if DFE can be designed.
-*/
-bool designDFE(signalVector &channelResponse,
-	       float SNRestimate,
-	       int Nf,
-	       signalVector **feedForwardFilter,
-	       signalVector **feedbackFilter);
-
-/**
-	Equalize/demodulate a received burst via a decision-feedback equalizer.
-	@param rxBurst The received burst to be demodulated.
-	@param TOA The time-of-arrival of the received burst.
-	@param sps The number of samples per GSM symbol.
-	@param w The feed forward filter of the DFE.
-	@param b The feedback filter of the DFE.
-	@return The demodulated bit sequence.
-*/
-SoftVector *equalizeBurst(signalVector &rxBurst,
-		       float TOA,
-		       int sps,
-		       signalVector &w, 
-		       signalVector &b);
-
 #endif /* SIGPROCLIB_H */
