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

3G开发

开发平台:

Visual C++

  1. //
  2. //  File = rate_changer_T.h
  3. //
  4. #ifndef _RATE_CHANGER_T_H_
  5. #define _RATE_CHANGER_T_H_
  6. #include "signal_T.h"
  7. #include "control_T.h"
  8. #include "delay_modes.h"
  9. #include "interp_modes.h"
  10. #include "psmodel.h"
  11. template <class T>
  12. class RateChanger : public PracSimModel
  13. {
  14. public:
  15.   //---------------------------------------------------
  16.   //  constructor does not support 'gated' or 'dynamic'
  17.   //  delay modes (eliminates the need to connect gating
  18.   //  and delay controls)
  19.   RateChanger< T >( char* instance_name,
  20.                     PracSimModel* outer_model,
  21.                     Signal<T>* in_signal,
  22.                     Signal<T>* out_signal);
  23.   ~RateChanger<T>(void);
  24.   void Initialize(void);
  25.   int Execute(void);
  26. private:
  27.   //--------------------------------------------
  28.   //  state variables and derived parameters
  29.   double Nom_Block_Size;
  30.   double Samp_Intvl;
  31.   double Out_Samp_Intvl;
  32.   double Rate_Change_Factor;
  33.   int Num_Sidelobes;
  34.   float *Sinc_Val;
  35.   int Out_Samp_Count;
  36.   int Rt_Brack_Avail;
  37.   int Max_Buffer_Len;  // numb of locs needed for Max_Delay
  38.   T *Start_Of_Buffer;
  39.   T *End_Of_Buffer;
  40.   T *Read_Ptr;
  41.   T *Read_Ptr_Start;
  42.   T *Write_Ptr;
  43.   //--------------------------
  44.   //  Signals
  45.   Signal<T> *In_Sig;
  46.   Signal<T> *Out_Sig;  
  47. };
  48. #endif