Index: /experimental/components/SymbolSyncPoly/branches/SymbolSyncPoly-metadata/src/FrameSynchronizerDSP.cpp
===================================================================
--- /experimental/components/SymbolSyncPoly/branches/SymbolSyncPoly-metadata/src/FrameSynchronizerDSP.cpp	(revision 5561)
+++ /experimental/components/SymbolSyncPoly/branches/SymbolSyncPoly-metadata/src/FrameSynchronizerDSP.cpp	(revision 5573)
@@ -45,11 +45,4 @@
     UpdatePhaseLoopFilterCoefficients(0.0025f);
     UpdateTimingLoopFilterCoefficients(ALPHA_T_HI, BETA_T_HI);
-
-    // Costas loop
-    pd2_cl = 0.0f;
-    tmp2_cl = 0.0f;
-    q_hat_cl = 0.0f;
-    q_prime_cl = 0.0f;
-    UpdateCostasLoopFilterCoefficients(0.02f);
 
     e_i = 0;
@@ -73,126 +66,4 @@
     input_log.close();
 #endif
-}
-
-// Find frame header using Costas loop
-bool FrameSynchronizerDSP::FindFrameHeaderCostasLoop(
-    short * I_in,
-    short * Q_in,
-    unsigned int input_length,
-    unsigned int &num_read,
-    short * I_out,
-    short * Q_out,
-    unsigned int output_length,
-    unsigned int &num_written)
-{
-    alpha_s = 0.027f;
-    beta_s = 1.02f;
-
-    int i(0);
-    short I, Q;
-    num_read = 0;
-    num_written = 0;
-    //printf("nco CV = %f\n", cv/(2*PI));
-
-    while ( i < (signed int) input_length ) {
-        v++;
-
-        // apply nco to input sample
-        ApplyNCO(I_in[i], Q_in[i], I, Q);
-        //I = I_in[i];
-        //Q = Q_in[i];
-        i++;
-
-        // push samples into buffer
-        PushInput(I, Q);
-
-        // compute filtered outputs (stored in mf_i, mf_q)
-        ComputeFilterBankOutputs();
-        
-        // compute costas loop phase error on matched-filter outputs
-        ///\todo matched filter output won't work because of delay
-        pd2_cl = GenerateCostasLoopPhaseError(I, Q);
-        //pd2_cl = GenerateCostasLoopPhaseError(mf_i, mf_q);
-        pd2_cl /= Ac;
-        
-        // advance costas loop filter
-        AdvanceCostasLoopFilter();
-
-        // update nco
-        UpdateNCO();
-            //I_out[num_written] = mf_i;
-            //Q_out[num_written] = mf_q;
-            //num_written++;
-
-        // decimate
-        if ( v >= (signed int) k ) {
-            // enable output
-            v -= k;
-            I_out[num_written] = mf_i;
-            Q_out[num_written] = mf_q;
-            num_written++;
-            //printf("I = %d, Q = %d\n", mf_i, mf_q);
-
-            // generate timing error
-            GenerateTimingError();
-
-            // advance timing loop filter
-            AdvanceTimingLoopFilter();
-
-            // compute filter bank index
-            ComputeFilterBankIndex();
-
-            // update v
-            switch (lc) {
-            case SHIFT:
-                // normal operation; do nothing
-                break;
-            case SKIP:
-                v--;
-                //printf("skip\n");
-                lc = SHIFT;
-                break;
-            case STUFF:
-                v++;
-                //printf("stuff\n");
-                lc = SHIFT;
-                break;
-            default:;
-            }
-
-            // push sample into buffer
-            inputBuffer.Push(mf_i);
-            r = CorrelateSequence( pnFrameSyncCode, 255 );
-
-            if ( abs(r) > int( Ac/2 ) ) {
-                r_frame_sync = abs(r);
-                std::cout << "PN FRAME SYNC CODE FOUND!!!" << std::endl;
-                std::cout << "  r = " << r_frame_sync << std::endl;
-
-                // check for phase inversion; if so inject pi radians into NCO
-                // [not sure how well this will work with band-limited pulse shapes]
-                if ( r<0 ) {
-                    std::cout << "  [Frame sync found negative PN code]" << std::endl;
-                    nco_control += PI;
-                }
-
-                operationalMode = EXTRACT_CONTROL_CODES;
-                inputBuffer.Release();
-                numControlCodesReceived = 0;
-
-                //num_read = i+1;
-                //return true;
-
-                // reduce bandwidth of loop filters for steady tracking mode
-                //UpdatePhaseLoopFilterCoefficients(0.0025f);
-                //UpdateTimingLoopFilterCoefficients(ALPHA_T_LO, BETA_T_LO);
-
-            }
-
-        }
-    }
-    
-    num_read = input_length;
-    return false;
 }
 
Index: /experimental/components/SymbolSyncPoly/branches/SymbolSyncPoly-metadata/src/FrameSynchronizerDSP.h
===================================================================
--- /experimental/components/SymbolSyncPoly/branches/SymbolSyncPoly-metadata/src/FrameSynchronizerDSP.h	(revision 5472)
+++ /experimental/components/SymbolSyncPoly/branches/SymbolSyncPoly-metadata/src/FrameSynchronizerDSP.h	(revision 5573)
@@ -64,7 +64,4 @@
     /// Destructor
     ~FrameSynchronizerDSP();
-
-    /// \brief Uses a CostasLoop to lock to the carrier, correlates with P/N sequence
-    FRAME_SYNCHRONIZER_DEFINE_API(FindFrameHeaderCostasLoop)
 
     // Finds the frame header P/N sync code
@@ -147,44 +144,4 @@
     unsigned int header_phase_lock_delay_counter;
 
-    // Costas loop methods
-
-    void UpdateCostasLoopFilterCoefficients(float _BT_cl) {
-        BT_cl = _BT_cl;
-        float k1(1.0f);
-        float XI(0.707106781186547f);
-
-        beta_cl = 2*BT_cl/(XI+1/(4*XI))/k1;
-        alpha_cl = 2*XI*beta_cl;
-
-        printf("\n\nbeta_cl = %f\n\n\n", beta_cl);
-        printf("\n\nalpha_cl = %f\n\n\n", alpha_cl);
-
-        ///\todo this is necessary because of the delay introduced by the filter
-        //beta_cl /= 30.0f;
-    };
-
-    float GenerateCostasLoopPhaseError(short I, short Q) {
-        return ( I > 0 ) ? (float) Q : (float) -Q;
-    }
-
-    void AdvanceCostasLoopFilter() {
-        q_prime_cl = pd2_cl*beta_cl + tmp2_cl;
-        q_hat_cl = alpha_cl*pd2_cl + q_prime_cl;
-        tmp2_cl = q_prime_cl;
-        
-        // store filtered error signal in external variable
-        q_hat_c = q_hat_cl;
-    }
-    
-    // Costas loop variables
-    float BT_cl;        ///< Bandwidth-time product of Costas loop filter
-    float alpha_cl;     ///< Costas loop filter feedback coefficient
-    float beta_cl;      ///< Costas loop filter feedforward coefficient
-
-    float pd2_cl;       ///<
-    float tmp2_cl;      ///<
-    float q_hat_cl;     ///<
-    float q_prime_cl;   ///<
-
   private:
     /// Disallow copy constructor
