#include <stdio.h>
#include <math.h>
#include "dft.h"
#define FILEIO //可以屏蔽dataIn函数中的赋值
main()
{
while(1)
{
dataIn() ; //此处缺分号
processing(in);
}
}
void dataIn()
{
/*#ifndef FILEIO
int i;
for (i=0;i<N;i++) //此处n没有定义,内容,应该是头文件宏定义的N
in[i]=(3.0*sin(2.0*pi*i*F1/FS)+sin(2.0*pi*i*F2/FS))*1024;
#endif*/
}
void DFT(int *p_in,int *p_out,int n)
{
COMPLEX dft1; int i,j; float arg;
for (i=0;i<n;i++)
{
dft1.re=0; dft1.imag=0;
for(j=0;j<n;j++)
{
arg=-2*pi*i*j/n;
dft1.re += p_in[j]*cos(arg);
dft1.imag += p_in[j]*sin(arg);
}
p_out[i]=sqrt(dft1.re*dft1.re+dft1.imag*dft1.imag);
} //此处缺掉一个},使括号不对应
}
void processing(int *input)
{
int n=N, x;
while(n--) {
x=*input*gain;
*input++=x;
}
DFT(in,out,N);
}
评论1