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

3G开发

开发平台:

Visual C++

  1. //
  2. //  File = polar_freq_dom_filt.h
  3. //
  4. #ifndef _POLAR_FREQ_DOM_FILT_H_
  5. #define _POLAR_FREQ_DOM_FILT_H_
  6. #include "signal_T.h"
  7. #include "psmodel.h"
  8. class PolarFreqDomainFilter : public PracSimModel
  9. {
  10. public:
  11.   PolarFreqDomainFilter(  char* instance_nam,
  12.                         PracSimModel* outer_model,
  13.                         Signal< std::complex<float> >* in_sig,
  14.                         Signal< std::complex<float> >* out_sig);
  15.   ~PolarFreqDomainFilter(void);
  16.   void Initialize(void);
  17.   int Execute(void);
  18. private:
  19.    int Proc_Block_Size;
  20.    int Block_Size;
  21.    double Samp_Rate;
  22.    bool Bias_Removal_Enab;
  23.    bool Decomp_Enab;
  24.    int Skirt_Type;
  25.    bool Group_Delay_Enab;
  26.    bool Output_Decomp_Enab;
  27.    int Amp_Decomp_Order;
  28.    int Phase_Decomp_Order;
  29.    int Fft_Size;
  30.    int Num_Saved_Samps;
  31.    bool Bypass_Enabled;
  32.    double *Magnitude;
  33.    double *Phase;
  34.    double Dt_For_Fft;
  35.    float Overlap_Save_Mem;
  36.    char *Magnitude_Data_Fname;
  37.    char *Phase_Data_Fname;
  38.    char *Resid_Data_Fname;
  39.    char *Stretched_Data_Fname;
  40.    float *Raw_Magnitude_Resp;
  41.    float *Raw_Phase_Resp;
  42.    float *Freqs_For_Magnitude;
  43.    float *Freqs_For_Phase;
  44.    ifstream *Magnitude_Data_File;
  45.    ifstream *Phase_Data_File;
  46.    int Num_Mag_Samps;
  47.    int Num_Phase_Samps;
  48.    double Mag_Freq_Scaling_Factor;
  49.    double Phase_Freq_Scaling_Factor;
  50.    double Ns_Exp;
  51.    Signal< std::complex<float> > *In_Sig;
  52.    Signal< std::complex<float> > *Out_Sig;
  53.    int Num_Corr_Passes;
  54.    std::complex<float> *Full_Buffer;
  55.    //std::complex<float> *Adj_Resp;
  56.    float *Mag_Resp;
  57.    float *Phase_Resp;
  58. };
  59. #endif