该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
数据处理用过,保存成.c然后用#include "fftt2.c"包含进去。
#include
#include
#define PI 3.141592653
int fftt2(x,y,n,f)
double *x;
double *y;
int n;
double f;
{
int i,i0,i1,j,l1,ns,n1,k;
double s,c,s1,c1,sc,x1,y1,t;
if(fabs(f)!=1.0)return(-1);
sc=PI;
j=0;
for(i=0;i
{
if(i
{
t=x[i];x[i]=x[j];x[j]=t;
t=y[i];y[i]=y[j];y[j]=t;
}
k=n/2;
while(k<=j)
{
j-=k;k/=2;
}
j=j+k;
}
ns=1;
while(ns<=n/2)
{
c1=cos(sc);s1=sin(f*sc);
c=1.0;s=0.0;
for(l1=0;l1
{
for(i0=l1;i0
{
i1=i0+ns;
x1=x[i1]*c-y[i1]*s;
y1=y[i1]*c+x[i1]*s;
x[i1]=x[i0]-x1;
y[i1]=y[i0]-y1;
x[i0]+=x1;
y[i0]+=y1;
}
t=c1*c-s1*s;
s=s1*c+c1*s;
c=t;
}
ns*=2;sc/=2.0;
}
if(f<0.0)
{
for(i=0;i
{
x[i]/=(double)n;
y[i]/=(double)n;
}
}
return(0);
}