请教一下大家,谁能告诉我64点fft的概念和c程序
来源:百度知道 编辑:UC知道 时间:2024/06/18 10:55:04
fft的概念最好看书,这个细细分析一下还是能够理解的。你要是没有相关的书的话,这个网站上的也可以看看:http://blog.csdn.net/sshcx/archive/2007/06/14/1651616.aspx
c程序我以前写过一个,注释得还是挺清楚的,你看看吧
(我这里写的是1024个点,你简单修改为64个点就行。程序思路比较简单清晰,建议你自己看懂吸收了比较好,这才是学习)
/**************************************************************/
#include<stdio.h>
#include<math.h>
#ifndef pi
#define pi 3.14159265
#endif
int N=1024; //采集的数据点数,注意为2的n次方
int n=10; //2^n=N
double input[1024]; //原始输入信号
double IO[1024]; //经过重新排序的信号(实数)
int code[1024]; //0~(2^n-1)的倒置码自然数组
struct complex c_IO[1024] ; //经过重新排序的信号(复数)
struct complex out[1024] ; //输出变换的结果(复数)
struct complex temp[1024] ; //保存中间变换结果(复数)
void fft(struct complex *c_IO,int m); //fft函数,输入c_IO[]为经过了码位转换的信号数据;m=n-1表示需要分解的层数
void tr