离散傅里叶变换
离散傅里叶反变换
傅里叶变换理论值过程
dft.c
#include "math.h"
double dft(a,b,A,B,N)
int N;
double a[],b[],A[],B[];
{
double PI=acos(-1.0);
int n,k;
double c,d,w0,w,s;
w0=2*PI/N;
for(k=0;k<N;k++){
w=k*w0;
A[k]=B[k]=0.0;
for(n=0;n<N;n++){
d=n*w;
c=cos(d);
s=sin(d);
A[k]+=c*a[n]+s*b[n];
B[k]+=c*b[n]-s*a[n];
}
}
return PI;
}
idft.c
#include "math.h"
void idft(A,B,a,b,N)
int N;
double A[],B[],a[