信号与系统课程设计
1
快速傅里叶变换 FFT 的 matlab 实现和 FFT 的简单应用
(
1
周江 2801305029 08 级英才实验三班)
(
2
石磊 2801301021 08 级英才实验三班)
【摘要】 在信号处理中,DFT(离散傅里叶变换)的计算具有举足轻重的地位。但是基于
其复杂的计算,直接应用起来十分麻烦,基于此,本文利用 Matlab 软件对有限长度信号的
DFT 进行改进,提出 FFT(快速傅里叶变换),并利用 FFT 对所给连续时间和离散时间信号
做了频谱分析。
关 键 词:DFT,FFT,有限长度信号,频谱分析。
一、前言:
傅里叶变换在信号处理中具有十分重要的作用,但是基于离散时间的傅里叶变换具有很
大的时间复杂度,根据傅里叶变换理论,对一个有限长度且长度为
的离散信号,做傅里
叶变换的时间复杂度为
,当
很大时,其实现的时间是相当惊人的(比如当
为
时,其完成时间为
(
为计算机的时钟周期)),故其实现难度是相当大的,同时也严
重制约了 DFT 在信号分析中的应用,故需要提出一种快速的且有效的算法来实现。
正是鉴于 DFT 极其复杂的时间复杂度,1965 年
和
巧妙地利用
因子的周期性和对称性,提出了一个 DFT 的快速算法,即快速傅里叶变换(FFT),从
而使得 DFT 在信号处理中才得到真正的广泛应用。
本文基于时间抽选奇偶分解,利用 Matlab 软件实现快速傅里叶变换。基于所编的 FFT
源程序应用的一个实例,本文对有限长度离散时间和连续时间信号进行频谱分析。
二、 FFT 的具体实现、
2.1 DFT 的算法和时间复杂度
对于一个长度为
的离散信号序列
,其 DFT 变换为
1
0
( ) [ ]
N
nk
N
n
X k x n W
(1)
其中
。
对任意
,
1
0 1 ( 1)
0
( ) [ ] [0] [1] ... [ 1]
N
nm m m N m
N N N N
n
X m x n W x W x W x N W
(2)
评论7