資源簡介
fft c語言 基二FFT算法
代碼片段和文件信息
/*基二FFT算法*/
#include?“math.h“
#include?“stdio.h“
struct?compx?
{?double?real;
??double?imag;
}?compx?;
struct?compx?EE(struct?compx?b1struct?compx?b2)??//復數相乘函數
{
struct?compx?b3;
b3.real=b1.real*b2.real-b1.imag*b2.imag;
b3.imag=b1.real*b2.imag+b1.imag*b2.real;
return(b3);
}
void?FFT(struct?compx?*xinint?N)
{
int?fmLHnmikjL;
double?p??ps?;
int?leBip;
float?pi;
struct?compx?wt;
LH=N/2;
f=N;
for(m=1;(f=f/2)!=1;m++){;}
nm=N-2;????
j=N/2;
/*變址運算*/
for(i=1;i<=nm;i++)
{
if(i k=LH;
while(j>=k){j=j-k;k=k/2;}
j=j+k;
}
for(L=1;L<=m;L++)
{??
le=pow(2L);
B=le/2;?
pi=3.14159;
?for(j=0;j<=B-1;j++)
? ?{
?? ???p=pow(2m-L)*j;
? ???ps=2*pi/N*p;
???w.real=cos(ps);
? ???w.imag
- 上一篇:圖形學矩陣、向量類C++實現
- 下一篇:數獨游戲MFC實現完整源代碼
評論
共有 條評論