FFT的C語言演算法實現

2021-05-26 02:25:39 字數 1363 閱讀 6100

程式如下:

/************fft***********/

#include   

#include   

#include   

#define   n   1000

typedef   struct

complex;

void   fft(); /*快速傅利葉變換

*/ 

void   ifft(); /*快速傅利葉逆變換

*/ 

void   initw();

void   change();

void   add(complex   ,complex   ,complex   *);   /*複數加法

*/   

void   mul(complex   ,complex   ,complex   *);   /*複數乘法

*/   

void   sub(complex   ,complex   ,complex   *);   /*複數減法

*/   

void   divi(complex   ,complex   ,complex   *);/*複數除法

*/   

void   output(); /*輸出結果*/

complex   x[n],   *w;/*輸出序列的值*/

int   size_x=0;/*輸入序列的長度,只限2的

n次方*/

double   pi;

int   main()

/*進行基

-2 fft

運算*/

void   fft()   

}   

}   

}   

void   ifft()   

}   

}   

change();   

}   

void   initw()   

}   

void   change()   

if(j>i)   

}   

}   

void   output()   /*

輸出結果*/

}   

void   add(complex   a,complex   b,complex   *c)   

void   mul(complex   a,complex   b,complex   *c)   

void   sub(complex   a,complex   b,complex   *c)   

void   divi(complex   a,complex   b,complex   *c)     

FFT的C語言演算法實現

fft計算的理 式 將n的數值的fft按照奇數和偶數項拆分為兩個n 2的fft,推出乙個迭代關係 將離散dft某點的傅利葉變換看做偶數字置和奇數字置離散點的傅利葉變換的合成,如上述的合成關係,w k是二者的合成橋梁。以八點時間抽取基2fft為例,其butterfly結構圖如下 在執行蝶形運算之前,先...

C語言實現FFT演算法

c語言實現fft演算法 fft1d.c和fft1d.h見 ifndef fft1d h define fft1d h include math.h define pi 3.1415926535897932384626433832795028841971 typedef struct complex ...

C語言實現FFT

參考 fft中的位反轉演算法 include include include define n 1024 int size 0 定義資料長度 double pi 4.0 atan 1 定義 因為tan 4 1 所以arctan 1 4 增加 的精度 typedef struct 定義乙個結構體表示複...