- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
*******************
实践教学
*******************
兰州理工大学
理学院
2016年春季学期
并行计算 课程设计
专业班级:2013级信息与计算科学2班
姓 名:
学 号:
指导教师:
成 绩:
基于串行FFT蝶式递归计算
摘要
本文主要设计快速傅氏变换两种经典的串行算法之一的递归算法(蝶式)。它是利用分治的思想来推导递归的FFT计算算法,将b元素或a元素之下标分别按偶下标与奇下标展开而推导出的递归式。算法主要过程如下:首先主进程对输入的元素按其下标进行奇偶划分,然后分配给两个处理器,分别在各自的处理器在进行同样的划分、并计算其结果,将结果带入到上一层再进行计算,最后将结果带入到主进程合并进行计算,输出结果。
关键字: 蝶式计算 傅里叶变换 递归算法
目录
一. 题目及要求 1
1.1设计题目 1
1.2设计参数 1
1.3测试实例 1
二. 设计算法及要求 1
2.1 算法设计原理 1
2.2 算法设计 2
三.算法描述与设计流程 3
3.1算法描述 3
3.2 流程图 4
四.原程序代码与运行结果 5
4.1 源程序 5
4.2 运行结果 10
五.算法分析及其优缺点 11
5.1 算法分析 11
5.2 优缺点 12
六.总结 13
七.参考文献 14
一.题目及要求
1.1设计题目
串行FFT递归算法(蝶式递归计算原理)
蝶式递归计算原理、算法性能1.3测试实例
对给定的,利用串行FFT递归算法
(蝶式递归计算原理)计算其傅里叶变换的结果。
二.设计算法及要求
2.1 算法设计原理
令 为n/2次单位元根,则有 .
将b向量的偶数项 和奇数项 分别记为
和 注意推导中反复使用
2.2 算法设计
对于以上的分析可画出如图 1所示的离散傅里叶变换递归计算流图。
图1 n=8的FFT蝶式计算图
三.算法描述.1算法描述
3.2 流程图
是
否
是
否
是
否
图2 算法设计流程图
四.原程序代码与运行结果
4.1 源程序
/************FFT***********/ //整个程序输入和输出利用同一个空间x[N],节约空间
#include stdio.h
#include math.h
#include stdlib.h
#define N 1000 //定义输入或者输出空间的最大长度
typedef struct
{
double real;
double img;
}complex; //定义复数型变量的结构体
void fft(); //快速傅里叶变换函数声明
void initW(); //计算W(0)~W(size_x-1)的值函数声明
void change(); //码元位置倒置函数函数声明
void add(complex,complex,complex *); /*复数加法*/
void mul(complex,complex,complex *); /*复数乘法*/
void
文档评论(0)