📄 filter_main.c
字号:
#include "math.h"
#include "stdio.h"
#include "stdlib.h"
void filter(b,a,m,n,x,len,px,py);
main()
{int i,k,m,n,len,nblk;
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,0.0,0.0};
double py[5]={0.0,0.0,.0,0.0,0.0};
double x[25],data[100];
FILE *fp;
m=4;
n=4;
len=25;
nblk=4;
x[0]=1.0;
for(k=1;k<len;k++)
{x[k]=0.0;}
for(i=0;i<nblk;i++)
{filter(b,a,m,n,x,len,px,py);
for(k=0;k<len;k++)
{data[i*len+k]=x[k];
x[k]=0.0;
}
}
printf("Unit Impulse Response\n");
for(i=0;i<16;i++)
{printf(" %10.7lf",data[i]);
if(i%4==3)printf("\n");
}
if((fp=fopen("filter.dat","w"))==NULL)
{printf("cannot open the file ‘filter.dat'! \n");
exit(0);
}
for(i=0;i<100;i++)
{fprintf(fp,"%2d %lf\n",i,data[i]);}
fclose(fp);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -