cbutterworthdesigner.h

来自「构造级联型Butterworth滤波器」· C头文件 代码 · 共 37 行

H
37
字号
// CButterworthDesigner.h: interface for the CButterworthDesigner class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CBUTTERWORTHDESIGNER_H__18CC7EBB_7F23_4520_B7BE_F887CA85AEB7__INCLUDED_)
#define AFX_CBUTTERWORTHDESIGNER_H__18CC7EBB_7F23_4520_B7BE_F887CA85AEB7__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "math.h"
class CButterworthDesigner  
{
//Condition:
//sample rate 8000
//NS=20
//N=2	for lowpass
//N=4   for bandpass
//级联型IIR
public:
	void ButterworthBandPassDesign	(double fl, double fh, double *b, double *a);
	void ButterworthLowPassDesign	(double fl,double * b,double *a);
	void ButterworthGainC			(double *b, double *a, int n,double *x, double *y);
	CButterworthDesigner();
	virtual ~CButterworthDesigner();
private:
	void	m_Gainc		(double *b, double *a, int n, int ns, double *x, double *y, int len, int sign);
	void	m_Bilinear	(double *d,double * c,double *b,double *a ,int n);
	double	m_Combin	(int i1,int i2);
	void	m_Fblt		(double * d,double * c,int n,int band ,double fln,double fhn,double * b,double *a);
	void	m_Bwth		(int ln,int k,int n,double *d,double *c);
	void	m_IIRbcf	(int band,int ns,int n,double f1,double f2,double f3,double f4,double *b,double *a);

};

#endif // !defined(AFX_CBUTTERWORTHDESIGNER_H__18CC7EBB_7F23_4520_B7BE_F887CA85AEB7__INCLUDED_)

⌨️ 快捷键说明

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