filterds2008butterworth.c

来自「自己编的数值计算方法的c语言实现源程序。」· C语言 代码 · 共 28 行

C
28
字号
/*巴特沃斯滤波器;
	ln:为滤波器的阶次N;k: 第k个极点;n:分子分母多项式长度;d[]为分子系数;c[]为分母系数;*/
	
void main()
{	
	int ln,k,n,i;
	double d[],c[]; 
	double pi,tmp;
	ln=
	
	pi=4.0*atan(1.0);
	/*初始化d[],c[],分子分母常数项必为1。*/
	d[0]=1.0; 
	c[0]=1.0;  
	for(i=1;i<=n;i++)
	{	d[i]=0.0;
		c[i]=0.0;
	}
	tmp=(k+1)- (ln+1.0)/2.0;
	if(tmp==0.0)
	{	c[1]=1.0;	} //一阶系统1/(p+1);
	else
	{	c[1]=-2.0*cos((2*(k+1)+ln-1)*pi/(2*ln));   //二阶系统1/(p^2-2cos((2k+N-1)pi/2N)+1);
		c[2]=1.0;
	}

}

⌨️ 快捷键说明

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