并行计算课程设计任务书概要1
*******************
实践教学
*******************
兰州理工大学
理学院
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 sub(complex,complex,complex *); /*复数减法*/
void divi(complex,complex,compl
您可能关注的文档
最近下载
- Unit 1 Animal friends Speed up(课件)外研版(三起)(2024)英语三年级下册.pptx VIP
- 医药企业医院廉洁承诺范文.docx VIP
- 小学综合实践活动一年级下册第四单元《碗筷的摆放和收拾》课件.docx VIP
- Python少儿编程(第1-17课).pptx VIP
- 2026及未来5年中国活检针行业发展研究报告.docx
- 汽车检测诊断技术.pptx VIP
- 小学综合实践活动一年级下册第四单元《碗筷的摆放和收拾》课件.pptx VIP
- 四川省成都市第七中学2025-2026学年高一上学期11月半期考试英语(含答案).pdf
- 集成电路原理与设计之一数字教案_chap.pdf VIP
- python少儿编程课程-第6课:周而复始(for循环).pptx VIP
原创力文档

文档评论(0)