⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 contin_delay_t.h

📁 终于找到了bpsk信号的调制
💻 H
字号:
//
//  File = contin_delay_T.h
//

#ifndef _CONTIN_DELAY_T_H_
#define _CONTIN_DELAY_T_H_

#include "signal_T.h"
#include "control_T.h"
#include "delay_modes.h"
#include "interp_modes.h"
#include "psmodel.h"

template <class T>
class ContinuousDelay : public PracSimModel
{
public:

  //---------------------------------------------
  // constructor that supports all delay modes

  ContinuousDelay< T >( char* instance_name,
                    PracSimModel* outer_model,
                    Signal<T>* in_signal,
                    Signal<T>* out_signal,
                    Control<float>* new_delay,
                    Control<bool>* delay_change_enabled);

  //---------------------------------------------------
  //  constructor does not support 'gated' delay mode
  //  (eliminates the need to connect gating control)

  ContinuousDelay< T >( char* instance_name,
                    PracSimModel* outer_model,
                    Signal<T>* in_signal,
                    Signal<T>* out_signal,
                    Control<float>* new_delay);

  //---------------------------------------------------
  //  constructor does not support 'gated' or 'dynamic'
  //  delay modes (eliminates the need to connect gating
  //  and delay controls)

  ContinuousDelay< T >( char* instance_name,
                    PracSimModel* outer_model,
                    Signal<T>* in_signal,
                    Signal<T>* out_signal);

  ~ContinuousDelay<T>(void);
  void Initialize(void);
  int Execute(void);

private:
  //------------------------------------------------------
  //  private method that is called by each of the
  //  three different constructors to perform common tasks

  void Constructor_Common_Tasks(  char* instance_name,
                                  Signal<T>* in_signal,
                                  Signal<T>* out_signal);

  //---------------------------------------------
  //  user-specified static parameters

  DELAY_MODE_T Delay_Mode;
  INTERP_MODE_T Interp_Mode;
  double Initial_Delay;
  int Max_Delay;

  //--------------------------------------------
  //  state variables and derived parameters

  double Block_Size;
  double Samp_Intvl;

  double Active_Delay;
  float Interp_Weight;
  float One_Minus_Weight;
  int Active_Buffer_Len;
  int Num_Sidelobes;
  int Return_Status;
  int New_Pass_Number;
  int Blocks_Of_Offset;
  int Num_Blocks_Skipped;
  int Offset_Sum_Start_To_Out_Samp;
  float *Sinc_Val;

  int Max_Buffer_Len;  // numb of locs needed for Max_Delay

  T *Start_Of_Buffer;
  T *End_Of_Buffer;
  T *Read_Ptr;
  T *Read_Ptr_Start;
  T *Write_Ptr;

  //--------------------------
  //  Signals

  Signal<T> *In_Sig;
  Signal<T> *Out_Sig;  

  //-----------------------------------
  //  Controls

  Control<bool> *Delay_Change_Enabled;
  Control<float> *New_Delay;
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -