谁有傅里叶变换的源程序啊,想用来做倒频谱分析

来源:百度知道 编辑:UC知道 时间:2024/06/16 16:37:02

百度的问题好多哦。一个人忙不过来。
就这些分就不解释了。
程序已编译确认。
/* 快速傅里叶变换实用程序 */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define PI 3.1415926

typedef struct complexnumber
{
double rpart;
double ipart;
}cnumber;

void quickfft(cnumber p[],int n,int k,cnumber f[],int l,int il)
{
int it,m,is,i,j,nv,l0;
double t,q,s,vr,vi,r;
cnumber podd;

for (it=0; it<n; it++){
m=it; is=0;
for (i=0; i<k; i++){
j=m/2;
is=2*is+(m-2*j);
m=j;
}
f[it].rpart=p[is].rpart;
f[it].ipart=p[is].ipart;
}
p[0].rpart=1.0;
p[0].ipart=0.0;
t=2*PI/(1.0*n);
p[1].rpart=cos(t);
p[1].ipart=-sin(t);
if (l!=0) p[1].ipart=-p[1].ipart;
for (i=2; i<n; i++) {
t=p[i-1].rpart*p[1].