資源簡介
在網絡已有的c語言版的fft基礎上,編寫能夠實現任意點數的浮點fft和任意點數,位寬為16位的定點fft。而且內附完整的說明和注釋,對大家有又一定的啟發。
代碼片段和文件信息
#include?
#include?
#include?
typedef?struct{
????????double?r;
????????double?i;
}my_complex
;
//檢查a是否為2的整數次方數
#define?NOT2POW(a)?(((a)-1)&(a)||(a)<=0)
//pi
#define?MYPI?3.14159265358979323846
my_complex*?fft(const?my_complex*?x?unsigned?int?len){
????????unsigned?int?ex=0t=len;
????????unsigned?int?ijk;
????????my_complex?*y;
????????double?trtirrriyryi;
????????
????????if(NOT2POW(len))?return?NULL;????????//如果失敗,返回空指針
????????for(;!(t&1);t>>=1)?ex++;????????//len應該等于2的ex次方
????????
????????y=(my_complex*)malloc(len*sizeof(my_complex));
????????if(!y)?return?NULL;
????????
????????//變址計算,庫里-圖基算法
????????for(i=0;i ????????????????k=i;
????????????????j=0;
????????????????t=ex;
????????????????while((t--)>0){
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????217156??2011-03-29?15:24??fft\Debug\fft.exe
?????文件?????239584??2011-03-29?15:24??fft\Debug\fft.ilk
?????文件???????5746??2011-03-29?15:24??fft\Debug\fft.obj
?????文件?????229908??2011-03-08?16:12??fft\Debug\fft.pch
?????文件?????467968??2011-03-29?15:24??fft\Debug\fft.pdb
?????文件??????41984??2011-03-29?16:51??fft\Debug\vc60.idb
?????文件??????53248??2011-03-29?15:24??fft\Debug\vc60.pdb
?????文件???????3188??2011-03-29?15:24??fft\fft.cpp
?????文件???????4248??2011-03-08?16:11??fft\fft.dsp
?????文件????????512??2011-03-08?16:11??fft\fft.dsw
?????文件??????41984??2011-03-29?16:51??fft\fft.ncb
?????文件??????54784??2011-03-29?16:51??fft\fft.opt
?????文件???????1258??2011-03-29?15:24??fft\fft.plg
?????文件?????217160??2011-03-31?10:38??fft_p\Debug\fft_p.exe
?????文件?????224376??2011-03-31?10:38??fft_p\Debug\fft_p.ilk
?????文件???????7694??2011-03-31?10:38??fft_p\Debug\fft_p.obj
?????文件?????229908??2011-03-15?09:27??fft_p\Debug\fft_p.pch
?????文件?????476160??2011-03-31?10:38??fft_p\Debug\fft_p.pdb
?????文件??????41984??2011-03-31?10:38??fft_p\Debug\vc60.idb
?????文件??????53248??2011-03-31?10:38??fft_p\Debug\vc60.pdb
?????文件???????5622??2011-03-31?10:38??fft_p\fft_p.cpp
?????文件???????4272??2011-03-15?19:44??fft_p\fft_p.dsp
?????文件????????516??2011-03-15?09:27??fft_p\fft_p.dsw
?????文件??????41984??2011-03-31?10:38??fft_p\fft_p.ncb
?????文件??????53760??2011-03-31?10:38??fft_p\fft_p.opt
?????文件????????244??2011-03-31?10:38??fft_p\fft_p.plg
?????目錄??????????0??2011-03-29?15:24??fft\Debug
?????目錄??????????0??2011-03-31?10:38??fft_p\Debug
?????目錄??????????0??2011-03-29?16:51??fft
?????目錄??????????0??2011-03-31?10:38??fft_p
............此處省略3個文件信息
- 上一篇:藍牙例程,C++編程
- 下一篇:MD5加解密算法C語言
評論
共有 條評論