没有合适的资源?快使用搜索试试~ 我知道了~
串行FFT递归算法(蝶式递归计算原理)求傅里叶变换.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 22 浏览量
2023-03-06
20:23:25
上传
评论
收藏 310KB PDF 举报
温馨提示
试读
18页
。
资源推荐
资源详情
资源评论
WORD 格式-可编辑
串行 FFT 递归算法(蝶式递归计算原理)求傅里叶变换
摘要
FFT,即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的
奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。它对傅氏变换的理
论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可
以说是进了一大步。
设 x(n)为 N 项的复数序列,由 DFT 变换,任一 X(m)的计算都需要 N 次复数乘法
和 N-1 次复数加法,而一次复数乘法等于四次实数乘法和两次实数加法,一次复数加法
等于两次实数加法,即使把一次复数乘法和一次复数加法定义成一次“运算”(四次实
数乘法和四次实数加法),那么求出 N 项复数序列的 X(m),即 N 点 DFT 变换大约就需要
N^2 次运算。当 N=1024 点甚至更多的时候,需要 N2=1048576 次运算,在 FFT 中,利用
WN 的周期性和对称性,把一个 N 项序列(设 N=2k,k 为正整数),分为两个 N/2 项的子序
列,每个 N/2 点 DFT 变换需要(N/2)^2 次运算,再用 N 次运算把两个 N/2 点的 DFT 变
换组合成一个 N 点的 DFT 变换。这样变换以后,总的运算次数就变成 N+2(N/2)
^2=N+N^2/2。继续上面的例子,N=1024 时,总的运算次数就变成了 525312 次,节省了
大约 50%的运算量。而如果我们将这种“一分为二”的思想不断进行下去,直到分成两
两一组的 DFT 运算单元,那么 N 点的 DFT 变换就只需要 Nlog(2)(N)次的运算,N 在 1024
点时,运算量仅有 10240 次,是先前的直接算法的 1%,点数越多,运算量的节约就越大,
这就是 FFT 的优越性。
关键字:FFT 蝶式计算 傅里叶变换
专业知识--整理分享
WORD 格式-可编辑
目录
一.题目及要求 ......................................................................1
1.1 题目.........................................................................1
二.设计算法、算法原理 ..............................................................1
2.1 算法原理与设计...............................................................1
2.2 设计步骤.....................................................................2
三.算法描述、设计流程 ..............................................................4
3.1 算法描述.....................................................................4
3.2 流程图.......................................................................5
四. 源程序代码及运行结果 ...........................................................7
4.1 源程序代码...................................................................7
4.2 运行结果....................................................................12
五. 算法分析、优缺点 ..............................................................13
5.1 算法分析....................................................................13
5.2 优缺点......................................................................14
六. 总结 ..........................................................................15
七. 参考文献 ......................................................................16
专业知识--整理分享
WORD 格式-可编辑
一.题目及要求
1.1 题目
对给定的
(21, 22,74,30, 8,16,27,23)
,利用串行 FFT 递归算法(蝶式递归计算原
理)计算其傅里叶变换的结果。
1.2 要求
利用串行递归与蝶式递归原理,对给定的向量求解傅里叶变换的结果。
二.设计算法、算法原理
2.1 算法原理与设计
T
,b
1
,...,b
1
)
和奇数项
(b
0
n
将 b 向量的偶数项 分别记
(b ,b ,...,b )
0 2 n 2
2
~
= e
2 i/(n /2 )
为 n/2 次单位元根,则有
~
=
2
,蝶式递归计算原理:令
T
,b
1
,...,b(b
0
)
。为
n
(b ,b ,...,b )
T
和
1
1 3 n 1
2
T
注意推导中反复使用:
1, 1,
ln
1,
sn p p
。
n n/2
图 2.1 公式图形
专业知识--整理分享
WORD 格式-可编辑
2.2 设计步骤
偶数时: b
l
b
2 l
2 lk
a
k
k 0
n 1
n
1
a
0
a
1
a
2
2
a
n
1
2 l 4 l
2 l
2
a
n
a
n
1
a
n
2
2 2 2
2 2
2 l 4 l
n
1
2
a
n 1
2 l
2
(a
0
a
n
)
2 l
(a
1
a
n
1
)
4 l
(a
2
a
n
2
)
2 l
n
1
2
(a
n
1
a
n 1
)
2
2 2
~
l
(a a )
~
2 l
(a a )(a
0
a
n
)
n n
1 2
1 2
2
l
n
1
~
2
(a
n
1
2
n
1
2
a
n 1
)
l 0,1, ,
n
2
1
~
k l
(a a )
n
k
k
k 0
2
2 2 2
因此,向量(b
0
,b
2
,...,b
n 2
)
T
是(a
0
a
n
,a
1
a
n
1
,...,a
n
1
a
n 1
)
T
的DFT
奇数时:b
l
b
2l 1
(2l 1)k
a
k
因此,向量(b
1
,b
3
,...,b
n 1
) 是((a
0
a
n
), (a
1
a
n
1
),...,
2 2
n 1
k 0
a
0
2l 1
a
1
2(2l 1)
a
2
2
n
1 (2l 1)
2
a
n
1
2
n
(2l 1)
2
a
n
2
n
1 (2l 1)
2
4l 2
a
n
1
n 1 (2l 1)
a
n 1
2l
2
n
1
n
1
2
a
0
a
1
a
2
2
a
n
1
2l
n
1
n
1
2
a
n
a
n
1
2
a
n 1
2l
2l
2 2
n
1
n
1
2
(a
0
a
n
) (a
1
a
n
1
) (a
2
a
n
2
)
2
(a
n
1
a
n 1
)
2l 4l 2
2l
2 2 2 2
l
n
1
n
1
l 2l 2
~ ~ ~
2
(a
0
a
n
) (a
1
a
n
1
) (a
2
a
n
2
)
2
(a
n
1
a
n 1
)
2 2 2 2
~
kl k
(a a )
n
k
k
k 0
2
n
1
2
n
1
2
l 0,1, ,
n
2
1
T
(a
n
1
a
n 1
))
T
的DFT
2
对于以上的分析可画出如图 2.2 所示的离散傅里叶变换递归计算流图。图 2.3 就是
一个按此递归方法计算的 n=8 的 FFT 蝶式计算图。
专业知识--整理分享
剩余17页未读,继续阅读
资源评论
不吃鸳鸯锅
- 粉丝: 8314
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于51单片机的汉字点阵显示Proteus仿真+软件程序C源码.zip
- 甘晴void:一位多才多艺的编程新星.zip
- 基于C++的App图标资源库设计源码 - libicon
- 基于Java的日记本应用程序设计源码 - Diary
- 基于C#的.NET模板引擎设计源码 - jntemplate
- 基于51单片机+AC24C04+LCD1602显示的电子密码锁程序源代码及电路仿真.zip
- 基于C++的图形共享内存轻量级设计源码 - graphic_surface_lite
- 深入解析指令调度与延迟分支.zip
- 基于STC15F104E系列单片机的EEPROM应用程序测试例程KEIL工程源码.zip
- 基于STC15F104E系列单片机的串口通讯应用程序测试例程KEIL工程源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功