作业帮 > 综合 > 作业

求FFT的c语言程序

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 06:42:58
求FFT的c语言程序
快速傅里叶变换 要用C++ 才行吧 你可以用MATLAB来实现更方便点啊
此FFT 是用VC6.0编写,由FFT.CPP;STDAFX.H和STDAFX.CPP三个文件组成,编译成功.程序可以用文件输入和输出为文件.文件格式为TXT文件.测试结果如下:
输入文件:8.TXT 或手动输入
8 //N
1
2
3
4
5
6
7
8
输出结果为:或保存为TXT文件.(8OUT.TXT)
8
(36,0)
(-4,9.65685)
(-4,4)
(-4,1.65685)
(-4,0)
(-4,-1.65685)
(-4,-4)
(-4,-9.65685)
下面为FFT.CPP文件:
// FFT.cpp :定义控制台应用程序的入口点.
#include "stdafx.h"
#include
#include
#include
#include
#include
#include
#include
using namespace std;
bool inputData(unsigned long &,vector&); //手工输入数据
void FFT(unsigned long &,vector&); //FFT变换
void display(unsigned long &,vector&); //显示结果
bool readDataFromFile(unsigned long &,vector&); //从文件中读取数据
bool saveResultToFile(unsigned long &,vector&); //保存结果至文件中
const double PI = 3.1415926;
int _tmain(int argc,_TCHAR* argv[])
{
vector vecList; //有限长序列
unsigned long ulN = 0; //N
char chChoose = ' '; //功能选择
//功能循环
while(chChoose != 'Q' && chChoose != 'q')
{
//显示选择项
cout