7.6实验6:快速傅里叶变换-基4时间抽取
FFT 算法matlab 实现
7.6.1实验目的
1.练习利用matlab6.5中工具箱中的信号处理函数
2.熟悉快速傅里叶变换的基本原理
3.熟悉基4?IT-ΦΦT 运算的MATΛAB 程序并运用
7.6.2涉及函数
信号处理函数X=fft(x)或者X=fft(x,N):
自定义功能函数φυνχτιον [Ξκ]=?IΦ?ΦΦT?4(ξν,N)
7.6.3实验原理与方法(基-4时域抽取算法与基-2时域抽取算法具有完全相同的实质,两者的差异仅源于基的选择不同。)
1 ?IT-ΦΦT 算法的基本原理
有限长序列x (n )的N 点?ΦT 定义为:∑-==10 )()(N n n k N W n x k X ,式中N j N e
W π2-=,其整数次幂简称
为旋转因子。N 符合2的整数幂,N 为2的几次幂,则需要进行几次分解。碟形运算流图符号如下:
2 ?IT-ΦΦT 算法的运算规律及编程思想
为了编写?IT-ΦΦT 算法的运算程序,首先要分析其运算
规律,总结编程思想并绘出程序框图。由右图可知,
?IT-ΦΦT 算法的运算过程很有规律。
2.1 原位计算
对M N 2=点的ΦΦT 共进行M 级运算,每级由N /2个蝶
形运算组成。在同一级中,每个蝶的输入数据只对本蝶有
用,且输出节点与输入节点在同一水平线上,这就意味着每
算完一个蝶后,所得数据可立即存入原输入数据所占用的数
组元素(存储单元),这种原位(址)计算的方法可节省大量内
存。
2.2 蝶形运算
实现ΦΦT 运算的核心是蝶形运算,找出蝶形运算的规律是编程的基础。 for mm=1:m %将DFT 做m 次基2分解,从左到右,对每次分解作DFT 运算