快速傅里叶变换(FFT)算法C++实现代码 - 简单代码的专栏 - CSDNBlog正在处理您的请求...
文章
收藏
相册
存档
2007年06月(2)
2007年05月(1)
2007年04月(1)
最近评论
snowdrop2:能给我讲解一下如果事先不确定采集到的个数的话应该用哪一种FFT啊
快速傅里叶变换(FFT)算法C++实现代码
#include <math.h>
#define DOUBLE_PI 6.283185307179586476925286766559
// 快速傅里叶变换
// data 长度为 (2 * 2^n), data 的偶位为实数部分, data 的奇位为虚数部分
// isInverse表示是否为逆变换
void FFT(double * data, int n, bool isInverse = false)
{
int mmax, m, j, step, i;
double temp;
double theta, sin_htheta, sin_theta, pwr, wr, wi, tempr, tempi;
n = 2 * (1 << n);
int nn = n >> 1;
// 长度为1的傅里叶变换, 位置交换过程
j = 1;
for(i = 1; i < n; i += 2)
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余3页未读,立即下载