文档库 最新最全的文档下载
当前位置:文档库 › 实验三--用FFT对信号进行频谱分析及MATLAB程序

实验三--用FFT对信号进行频谱分析及MATLAB程序

实验三--用FFT对信号进行频谱分析及MATLAB程序
实验三--用FFT对信号进行频谱分析及MATLAB程序

实验三--用FFT对信号进行频谱分析及MATLAB程序

实验三 用FFT 对信号进行频谱分析

一 实验目的

1 能够熟练掌握快速离散傅立叶变换的原理及应用FFT 进行频谱分析的基本方法;

2了解用FFT 进行频谱分析可能出现的分析误差及其原因;

二 实验原理

1.用DFT 对非周期序列进行谱分析 单位圆上的Z 变换就是序列的傅里叶变换,即

()()

j j z e X e X z ω

ω== (3-1)

()

j X e ω是ω的连续周期函数。对序列()x n 进行N 点

DFT 得到()X k ,则()X k 是在区间[]0,2π上对()j X e ω

的N

点等间隔采样,频谱分辨率就是采样间隔2N π

。因

此序列的傅里叶变换可利用DFT (即FFT )来计算。

用FFT 对序列进行谱分析的误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而非周期序列的频谱是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。

2.用DFT 对周期序列进行谱分析

已知周期为N 的离散序列)(n x ,它的离散傅里叶级数DFS 分别由式(3-2)和(3-3) 给出:

DFS :

∑-=-=1

2)(1N n kn N

j k e n x N a π

n =0,1,2,…,N -1 (3-2)

IDFS :

∑-==1

02)(N k kn N

j k e

a n x π ,

n =0,1,2,…,N -1 (3-3)

对于长度为N 的有限长序列x (n )的DFT 对表达式分别由式(3-4)和(3-5)给出:

DFT :

∑-=-=1

02)()(N n kn N

j e

n x k X π ,

n =0,1,2,…,N -1 (3-4)

IDFT :

∑-==1

2)(1)(N k kn N

j e k X N n x π

n =0,1,2,…,N -1 (3-5)

FFT 为离散傅里叶变换DFT 的快速算法,对于周期为N 的离散序列x (n )的频谱分析便可由式(3-6)和(3-7)给出:

DTFS :

1

*(())k a fft x n N

=

(3-6) IDTFS :

()*()

k x n N ifft a =

(3-7)

周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。

3. 用DFT 对模拟周期信号进行谱分析 对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。对于模拟周期信号,也应该选取整数倍周期的长度,经采样后形成周期序列,按照周期序列的谱分析进行。如果不知道信号的周期,可以尽量选择信号的观察时间长一些。

三 实验内容

1. 对以下序列进行谱分析:

14()()

x n R n =

21

03()84700n n x n n

n thers +≤≤??

=-≤≤??? 3403()3

4700n n x n n n thers

-≤≤??

=-≤≤???

选择FFT 的变换区间N 为8和16两种情况进行频谱分析。分别打印其幅频特性曲线,并进行对比、分析和讨论。

2. 对以下周期序列进行谱分析:

4()cos()

4

x n n π

=

5()cos()cos()

48

x n n n π

π

=+

选择FFT 的变换区间N 为8和16两种情况进行频谱分析。分别打印其幅频特性曲线,并进行对比、分析和讨论。 3. 对模拟周期信号进行谱分析:

6()cos(8)cos(16)cos(20)

x t t t t πππ=++

选择采样频率64s

F

Hz

=,对变换区间N 分别取

16、32、64三种情况进行谱分析。分别打印其幅频特性曲线,并进行对比、分析和讨论。

四 思考题

1. 对于周期序列,如果周期不知道,如何用FFT 进行谱分析?

2. 如何选择FFT 的变换区间?(包括非周期信号和周期信号)

3. 当N=8时,2

()x n 和3

()x n 的幅频特性会相同吗?

为什么?N=16呢?

五 实验报告及要求

1. 完成各个实验任务和要求,附上程序清单和有关曲线。

2. 简要回答思考题。

相关文档