filtery example.c

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

C
32
字号
#include"stdio.h"
#include"filtery.c"
/*求4阶切比雪夫低通数字滤波器H(z)的单位冲激响应 */
void main()
{	int i,m,n,len;
	/*H(z)=(0.001836+0.007344z^-1+0.011016z^-2+0.007344z^-3+0.001836z^-4)/(1.0-3.0544z^-1+3.8291z^-2-2.2925z^-3+0.55075z^-4)*/
	double b[5]={0.001836,0.007344,0.011016,0.007344,0.001836};
	double a[5]={1.0,-3.0544,3.8291,-2.2925,0.55075};
	double px[5]={0.,0.,0.,0.,0.};
	double py[5]={0.,0.,0.,0.,0.};
	double x[100],y[100];
	FILE *fp;
	m=4;
	n=4;
	len=100;
	/*x[n]为单位冲激响应;*/
	for(i=0;i<len;i++)
	{	x[i]=0.0;	
		y[i]=0.0;
	}
	x[0]=1.0;
	filtery(b,a,m,n,x,y,len,px,py);
	/*输出data;*/
	if(( fp=fopen("filtery.txt","w"))==NULL)
		{	printf("cannot open file 'filtery.txt'!\n");
		exit(0);
		}
	for(i=0;i<100;i++)
	{	fprintf(fp,"%lf ",y[i]);
	}
	fclose(fp);
}

⌨️ 快捷键说明

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