ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:16.84KB ,
资源ID:18418442      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18418442.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(傅里叶变换C编程Word格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

傅里叶变换C编程Word格式.docx

1、下面为FFT.CPP文件:/ FFT.cpp : 定义控制台应用程序的入口点。#include stdafx.h#include complexbitsetvectorconio.hstringfstream using namespace std;bool inputData(unsigned long &, vectorcomplex &); /手工输入数据void FFT(unsigned long & /FFT变换void display(unsigned long & /显示结果bool readDataFromFile(unsigned long & /从文件中读取数据bool s

2、aveResultToFile(unsigned long & /保存结果至文件中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 nPlease chose a function endl;t1.Input data manually, press M:t2.Read

3、data from file, press Ft3.Quit, press Please chose: /输入选择 chChoose = getch(); /判断 switch(chChoose) case m if(inputData(ulN, vecList) FFT(ulN, vecList); display(ulN, vecList); saveResultToFile(ulN, vecList); break;f /从文档读取数据 if(readDataFromFile(ulN, vecList) return 0;bool Is2Power(unsigned long ul) /

4、判断是否是2的整数次幂 if(ul 1 ) if( ul % 2 ) ul /= 2; return true; ulN, vector vecList) /题目 coutulN; if(!Is2Power(ulN) /验证N的有效性N is invalid (N must like 2, 4, 8, .), please retry. /输入各元素 vecList.clear(); /清空原有序列 complex c; for(unsigned long i = 0; i vecList.push_back(c); vecList) /从文件中读取数据nnn=Read Data From F

5、ile= /输入文件名 string strfilename;Input filename: ; strfilename; /打开文件open file strfilename cant get NN = ulN /读取元素t get enough infomationx() = c /关闭文件 loadfile.close(); vecList) /保存结果至文件中 /询问是否需要将结果保存至文件Do you want to save the result to file? (y/n): chChoose = _getch(); if(chChoose !yYnInput file name

6、:Save result to file . ofstream savefile(strfilename.c_str();savefile)t open file /写入N savefile /写入元素 for(vectoriterator i = vecList.begin(); vecList.end(); *i 0) ulPower+; ulN1 /= 2; /反序 bitset bsIndex; /二进制容器 unsigned long ulIndex; /反转后的序号 unsigned long ulK; for(unsigned long p = 0; p p+) ulIndex

7、= 0; ulK = 1; bsIndex = bitset(p); for(unsigned long j = 0; j p) c = vecListp; vecListp = vecListulIndex; vecListulIndex = c; /计算旋转因子 vecW; ulN / 2; vecW.push_back(complex(cos(2 * i * PI / ulN) , -1 * sin(2 * i * PI / ulN); for(unsigned long m = 0; m m+)nvW= vecWm; /计算FFT unsigned long ulGroupLength

8、 = 1; /段的长度 unsigned long ulHalfLength = 0; /段长度的一半 unsigned long ulGroupCount = 0; /段的数量 cw; /WH(x) c1; /G(x) + WH(x) c2; /G(x) - WH(x) for(unsigned long b = 0; b b+) ulHalfLength = ulGroupLength; ulGroupLength *= 2; j += ulGroupLength) for(unsigned long k = 0; k ulHalfLength; k+) cw = vecWk * ulN

9、/ ulGroupLength * vecListj + k + ulHalfLength; c1 = vecListj + k + cw; c2 = vecListj + k - cw; vecListj + k = c1; vecListj + k + ulHalfLength = c2;nn=Display The Result= for(unsigned long d = 0; d d+)X()ttt = vecListd / TODO: 在此处引用程序要求的附加头文件下面为STDAFX.CPP文件:/ stdafx.cpp : 只包括标准包含文件的源文件/ FFT.pch 将成为预编译头/ stdafx.obj 将包含预编译类型信息 在 STDAFX.H 中/引用任何所需的附加头文件,而不是在此文件中引用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1