anlg_filt_iir.h
来自「终于找到了bpsk信号的调制」· C头文件 代码 · 共 122 行
H
122 行
//
// File = anlg_filt_iir.h
//
#ifndef _ANLG_FILT_IIR_H_
#define _ANLG_FILT_IIR_H_
#include <complex>
#include "signal_T.h"
#include "filter_proto.h"
#include "denorm_proto.h"
#include "psmodel.h"
#include "filter_types.h"
//======================================================
template <class T>
class AnalogFilterByIir : public PracSimModel
{
public:
// Normal Constructor
AnalogFilterByIir( char* instance_name,
PracSimModel *outer_model,
Signal<T> *in_sig,
Signal<T> *out_sig );
// Subordinate Constructor
AnalogFilterByIir( char* instance_name,
PracSimModel *outer_model);
~AnalogFilterByIir(void);
// Normal Initialize
virtual void Initialize(void);
// Subordinate Initialize
void Initialize( int proc_block_size,
double samp_intvl);
virtual int Execute();
// Used instead of 'Execute' for subordinate form
T ProcessSample(T input_val);
protected:
// Implements functionality common to both ctors
void Constructor_Core( char *instance_name);
// Implements functionality common to both
// forms of 'Initialize'
void Init_Kernel(void);
Signal<T> *In_Sig;
Signal<T> *Out_Sig;
float Estim_Delay;
std::complex<double> *Out_Mem;
std::complex<double> *In_Mem;
std::complex<double> *Input_Buffer;
std::complex<double> *Output_Buffer;
int Input_Write_Idx;
int Output_Write_Idx;
bool Bypass_Enabled;
double Samp_Rate;
double Samp_Intvl;
DenormalizedPrototype *Denorm_Proto_Filt;
AnalogFilterPrototype *Lowpass_Proto_Filt;
int Filt_Shape;
FILT_BAND_CONFIG_T Filt_Band_Config;
int Filt_Order;
bool Resp_Plot_Enabled;
bool Db_Scale_Enabled;
int Prototype_Order;
int Upper_Summation_Limit;
float Upper_Cutoff_NFU;
float Lower_Cutoff_NFU;
float Passband_Ripple;
float Stopband_Ripple;
float Stopband_Atten;
float Norm_Hz_Pass_Edge;
float Norm_Hz_Pass_Edge_2;
float Warped_Rad_Pass_Edge;
float Warped_Rad_Pass_Edge_2;
float Norm_Hz_Stop_Edge;
float Lower_Stopband_Edge;
float Upper_Trans_Width;
float Lower_Trans_Width;
double *A_Coefs;
double *B_Coefs;
double *A_Coef_Precess_Buf;
double *B_Coef_Precess_Buf;
int Num_Poles;
int Num_Zeros;
int Cumul_Samp_Count;
int Proc_Block_Size;
bool Using_Signal_Objects;
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?