filtfunc.h

来自「digital filter designer s handbook heade」· C头文件 代码 · 共 77 行

H
77
字号
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//  File = filtfunc.h
//
//

#ifndef _FILTFUNC_H_
#define _FILTFUNC_H_

#include <fstream.h>
#include "poly.h"
#include "typedefs.h"

class FilterTransFunc
{ 
 public: 
   
   FilterTransFunc( int order);
   
   void FilterFrequencyResponse(void);

   double_complex* GetPrototypePoles( int *num_poles );   
   
   double_complex* GetPoles( int *num_poles ); 
   
   double_complex GetPole(int pole_indx);  
   
   double_complex* GetPrototypeZeros( int *num_zeros );
   
   double_complex* GetZeros( int *num_zeros );

   double_complex GetZero(int zero_indx);  
   
   void LowpassDenorm(double cutoff_freq_hz);
   
   int GetNumPoles(void);
   
   int GetNumZeros(void);              
   
   float GetHSubZero( void );
   
   void DumpBiquads( ofstream* output_stream);

   Polynomial GetDenomPoly( void );
 
   Polynomial GetNumerPoly( void );

   void FrequencyPrewarp( double sampling_interval );
 
 protected:
 
   int Filter_Order;
   int Num_Denorm_Poles;
   int Num_Denorm_Zeros;
   int Degree_Of_Denom;
   int Degree_Of_Numer;
   int Num_Prototype_Poles;
   int Num_Prototype_Zeros;
   int Num_Biquad_Sects;
   logical Filter_Is_Denormalized;
   //double Denorm_Cutoff_Freq_Hz;
   double Denorm_Cutoff_Freq_Rad;
   double *A_Biquad_Coef;
   double *B_Biquad_Coef;
   double *C_Biquad_Coef;
   double H_Sub_Zero;
   double_complex *Prototype_Pole_Locs;
   double_complex *Prototype_Zero_Locs;
   double_complex *Denorm_Pole_Locs;
   double_complex *Denorm_Zero_Locs;
   Polynomial Denom_Poly;
   Polynomial Numer_Poly;
   ofstream *Response_File;
};

#endif

⌨️ 快捷键说明

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