?? fft.txt
字號:
void FFT(struct complex *s)
{
unsigned char idata nv2,nm1,k,level,i,j=0;
unsigned char idata ip,le,lei;
struct complex idata v,w,t;
float max;
nv2=64>>1;
nm1=64;
for(i=0;i<nm1;i++)
{
if(i<j)
{
t=s[j];
s[i]=t;
}
k=nv2;
while(k<=j)
{
j-=k;
k=k>>1;
}
j+=k;
}
le=1;
for(level=1;level<=6;level++)
{
lei=le;
le<<=1;
v.real=1.0;
v.image=0.0;
w.real=cos(pi/lei);
w.image=-sin(pi/lei);
for(j=0;j<lei;j++)
{
for(i=j;i<64;i+=le)
{
t=mul(s[ip],v);
s[ip].real=s[i].real-t.real;
s[ip].image=s[i].image-t.image;
s[i].real+=t.real;
s[i].image+=t.image;
}
v=mul(v,w);
}
}
for(i=0;i<32;i++)
s[i].real=sqrt(s[i].real*s[i].real+s[i].image*s[i].image); //幅值
max=s[0].real;
for(i=1;i<32;i++)if(max<s[i].real)max=s[i].real;
for(i=0;i<32;i++)s[i].real=s[i].real*50/max;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -