📄 fir.c
字号:
#include <stdio.h>
#define length 256
int input[length],output[length];
static int filter(int xin[],int xout[],int n, int h[]);
static void dataIO(void);
static int h[37]={ -78,-152,-210,-173,18,355,737,983,903,413,-374,
-1139,-1443,-910,582,2792,5154,6963,7640,6963,5154,2792,582,-910,
-1443,-1139,-374,413,903,983,737,355,18,-173,-210,-152,-78};
/*Q15*/
static int x1[length+37];
/*低通滤波定点子程序*/
static int filter(int indata[],int outdata[],int n,int h[])
{
int i,j;
long sum;
for(i=0;i<length;i++) x1[n+i-1]=indata[i];
for(i=0;i<(n-1);i++) x1[n-i-2]=indata[length-i-1];
for(i=0;i<length;i++)
{
sum=0;
for(j=0;j<n;j++) sum+=(long)h[j]*x1[i-j+n-1];
outdata[i]=sum>>15;
}
return 1;
}
void main()
{
while(1)
{
dataIO();
filter(input,output,19,h);
}
}
static void dataIO()
{
/*do data I/O*/
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -