clock_recov.h
上传用户:jtjnyq9001
上传日期:2014-11-21
资源大小:3974k
文件大小:2k
源码类别:

3G开发

开发平台:

Visual C++

  1. //
  2. //  File = clock_recov.h
  3. //
  4. #ifndef _CLOCK_RECOV_H_
  5. #define _CLOCK_RECOV_H_
  6. #include "signal_T.h"
  7. #include "anlg_filt_iir.h"
  8. class ClockRecoveryLoop : public PracSimModel
  9. {
  10. public:
  11. ClockRecoveryLoop( char* instance_nam,
  12.             PracSimModel *outer_model,
  13.             Signal<float> *in_signal,
  14.             Signal<float> *raw_err_signal,
  15.             Signal<float> *filt_err_signal,
  16.             Signal<float> *fsig_symbol_period,
  17.             Signal<float> *out_signal );
  18.    ~ClockRecoveryLoop(void);
  19.    void Initialize(void);
  20.    int Execute(void);
  21. private:
  22.    double Samp_Intvl;
  23.    Signal<float> *fsig_Input;
  24.   // Signal<float> *fsig_Phase_Error;
  25.    Signal<float> *fsig_Filtered_Error;
  26.    Signal<float> *fsig_Raw_Error;
  27.   // Signal<float> *fsig_Osc_Output;
  28.   // Signal<float> *fsig_Osc_Freq;
  29.   // Signal<float> *fsig_Osc_Phase;
  30.    Signal<float> *fsig_Output;
  31.    Signal<float> *fsig_Symbol_Period;
  32.    double K_Sub_0;
  33.   // double I_OscOutput;
  34.   // double Q_OscOutput;
  35.   // double Phi_Sub_2;
  36.   // double Phi_Divided;
  37.    double Omega_Sub_0;
  38.    double Center_Freq_Hz;
  39.   // float Osc_Output_Prev_Val;
  40.  //  double Scaler_Divisor;
  41.    double Reduced_Time;
  42.    double Gate_Fraction;
  43.    double Nominal_Symbol_Period;
  44.    double Adjusted_Symbol_Period;
  45.    double Early_Gate_Sum;
  46.    double Early_Gate_Latched_Sum;
  47.    double Late_Gate_Sum;
  48.    double Late_Gate_Latched_Sum;
  49.    double Gate_Diff;
  50.    double Early_Gate_Open_Time;
  51.    double Early_Gate_Close_Time;
  52.    double Late_Gate_Open_Time;
  53.    double Late_Gate_Close_Time;
  54.    bool Early_Gate_Is_Open;
  55.    bool Late_Gate_Is_Open;
  56.    float Old_Input_Val;
  57.    double Min_Symbol_Period;
  58.    double Max_Symbol_Period;
  59.    AnalogFilterByIir<float> *Filter_Core;
  60.   
  61. };
  62. #endif