firfilter.hpp

来自「Adaptive digital Filters in C++」· HPP 代码 · 共 46 行

HPP
46
字号
// firfilter.hpp	A general purpose FIR, convolution filter

//                      (c) Copyright 1995, Everett F. Carter Jr.
//                      Permission is granted by the author to use
//			this software for any application provided this
//			copyright notice is preserved.

// rcsid: %W% %U% %G%   EFC

#ifndef FIR_FILTER_HPP_
#define FIR_FILTER_HPP_ %I%

#include <convfilter.hpp>
#include <barray.hpp>

class FIRFilter : public ConvolutionFilter
{


	protected:
           virtual float filter(const float);
        public:
          FIRFilter() {}
	  FIRFilter(const int ord)                { order( ord );   }
          FIRFilter(const BasicArray& c)  	  { set_coefs(c);   }
          FIRFilter(const float* c, const int n)  { set_coefs(c,n); }
          FIRFilter(const char* filename,
                    const char* cstart = "#", const char* cend = "\n")
				           { set_coefs( filename,cstart,cend ); }
          
          virtual ~FIRFilter() {}

	  virtual int order(const int w = -1);

          void set_coefs(const float* c, const int n = -1);
          void set_coefs(const BasicArray& c);

          // to set coefficients by reading directly from a file with comments
	  void set_coefs(const char* filename,const char *cstart = "#",
			 const char* cend = "\n");
          
};

#endif

⌨️ 快捷键说明

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