请教一下大家,谁能告诉我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