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

3G开发

开发平台:

Visual C++

  1. //
  2. //  File = fir_resp.h
  3. //
  4. #ifndef _FIR_RESP_H_
  5. #define _FIR_RESP_H_
  6. #include "fir_dsgn.h"
  7. class FirFilterResponse
  8. {
  9. public:
  10.   //-------------------------------------------------
  11.   // constructor with all configuration parameters 
  12.   // passed as input arguments
  13.   FirFilterResponse( FirFilterDesign *filter_design,
  14.                      int num_resp_pts,
  15.                      int db_scale_enabled,
  16.                      int normalize_enabled,
  17.                      char* resp_file_name );
  18.   
  19.   //--------------------------------------------------
  20.   //  alternate constructor with configuration 
  21.   //  parameters obtained interactively through 
  22.   //  streams uin and uout
  23.                      
  24.   FirFilterResponse( FirFilterDesign *filter_design,
  25.                      istream& uin,
  26.                      ostream& uout );
  27.   
  28.   //--------------------------------------
  29.   // method to compute magnitude response
  30.   // from the data set up by constructor
  31.   
  32.   double ComputeMagResp( void );
  33.   
  34.   //---------------------------------------
  35.   // method to normalize magnitude response
  36.   
  37.   double NormalizeResponse( void );
  38.   
  39.   //-----------------------------
  40.   // method that returns pointer
  41.   // to an array that holds the
  42.   // completed magnitude response
  43.   // (ordinates only)
  44.                          
  45.   double* GetMagResp( void);
  46.   
  47.   //------------------------------------
  48.   // method that outputs magnitude
  49.   // response to the stream 
  50.   // pointed-to by Response_File
  51.   // (ordinates and normalized abscissae
  52.   
  53.   void DumpMagResp( void );
  54.   double GetIntervalPeak(int beg_indx, int end_indx);
  55.   
  56.   
  57. protected:
  58.   FirFilterDesign *Filter_Design;
  59.   int Num_Resp_Pts;
  60.   int Db_Scale_Enabled;
  61.   int Normalize_Enabled;
  62.   ofstream *Response_File;
  63.   int Num_Taps; 
  64.   double* Mag_Resp;
  65.   //-----------------------------------
  66.   // stuff below is for "linear phase" filters
  67.   //
  68.   // filter band configuration: 1 = lowpass,  2 = highpass,
  69.   //                            3 = bandpass, 4 = bandstop
  70.   //int Band_Config;
  71.   //int Fir_Type;
  72.   //int N1, N2, N3, N4;
  73.   
  74. };
  75. #endif