程式如下:
/************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 定義乙個結構體表示複...