資源簡介
一維快速傅里葉變換FFT的C++實現,里面是FFT1.cpp函數,用于進行一維數組的FFT。有詳細的注釋和說明。
代碼片段和文件信息
bool?FFT1(complex?*?TD?complex?*?FD?int?r)?{
//一維快速傅里葉變換。
//TD:指向時域數組的指針數組(輸入);?
//FD:指向頻域數組的指針數組(輸出);?
//r:2的冪數,即迭代次數,也即sqrt(length(TD))
????LONG?count;?//?Fourier變換點數
????int?ijk;?//?循環變量
????int?bfsizep;?//?中間變量
????double?angle;?//?角度
????complex?*W*X1*X2*X;
????count?=?1?<????W?=?new?complex[count?/?2];
????X1?=?new?complex[count];
????X2?=?new?complex[count];?//?分配運算所需存儲器
//?計算加權系數(旋轉因子w的i次冪表)
????for(i?=?0;?i?????????angle?=?-i?*?PI?*?2?/?count;
????????W[?i?]?=?complex?(cos(angle)?sin(angle));
????}
//?將時域點寫入X1
????memcpy(X1?TD?sizeof(complex)?*?coun
- 上一篇:opencv3.0批量校正圖片
- 下一篇:opencv+zed測距
評論
共有 條評論