实验四离散信号频谱分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四 离散信号的频域分析
一、 实验目的
1. 掌握序列的傅里叶变换、离散傅里叶级数、离散傅里叶变换、快速傅里叶变换的Matlab 实现;
2.
学习用FFT 对连续信号和离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。
二、 实验原理及方法
1. 离散信号的谱分析 (1) 序列的傅里叶变换 对于满足绝对可和的序列,即
∞<∑∞
∞
-|)(|n x ,其傅里叶变换和反变换的定义为
∑∞
-∞
=-=
n n
j j e
n x e X ωω
)()( (4.1)
ωπ
ωπ
π
ωd e e X n x n j j ⎰-
=
)(21
)( (4.2)
序列)(n x 是离散的,但)(ω
j e X 是以π2为周期的ω的连续函数,为了能够在计算机上
处理,需要对)(n x 进行截断,对频域进行离散化,近似处理后
2
1
()()k
k n j j n
n n X e
x n e ωω-==∑
(4.3)
其中2k k M
π
ω=
,M 是对ω在一个周期内的采样,k 的取值由读者确定,若想观察一个周期内的频谱,0~1k M =-,若观察两个周期,0~21k M =-,以此类推。
序列傅里叶变换的Matlab 实现: clc;clear; n=0:3;
x=[1,1,1,1]; M=200;
k=0:M-1; W=2*pi/M*k;
X=x*(exp(-j*2*pi/M)).^(n'*k); %序列的傅里叶变换 magX=abs(X); phaX=angle(X); subplot(131); stem(x);
subplot(132); plot(W,magX); subplot(133); plot(W,phaX);
对4()R n 进行序列的傅里叶变换得到图4-1。
2
4
00.10.20.3
0.40.50.60.70.8
0.9
10510
0.51
1.5
2
2.5
3
3.5
4DTFT 幅度谱
0510
-4
-3
-2-1
1
2
3
DTFT 相位谱
图4-1 信号及信号的幅度谱和相位谱
(2)离散傅里叶变换(DFT )
如果序列)(n x 是有限长的,序列的谱分析可以采用离散傅里叶变换,其定义为:
10,)()]([)(1
-≤≤==∑-=N k W n x n x DFT k X N n kn
N (4.4)
10,)(1
)]([)(1
-≤≤=
=∑-=-N n W
k X N
k X IDFT n x N k kn N
(4.5)
因为)(n x 与)(k X 都是离散的,所以可以利用计算机进行数值计算。从数学观点看,DFT 表示的是对序列)(n x 或)(k X 的线性运算。
此处应用DFT 变换近似分析采样序列的频谱。设时域序列用x 表示,长度为M ;x 的DFT 变换为X ,变换区间长度为N (M N ≥)。
∑-==
1
)()(M n kn
N
W
n x k X 1,,1,0-=N k
将)(k X 展开,得:
⎪⎪
⎪⎩
⎪⎪⎪⎨⎧-++++=--++++=-++++=-++++=--------)
1)(1(2)1(1)1(0)1()
1(2222120)1(1121110)
1(0020100)1()2()1()0()1()1()2()1()0()2()1()2()1()0()1()1()2()1()0()0(M N N N N N N N N M N
N N N M N N N N M N N N N W M x W x W x W x N X W M x W x W x W x X W M x W x W x W x X W M x W x W x W x X 将上式表示成矩阵的形式:
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡-=--------)1)(1()1(1)1(02)1(2
021)1(11010)1(1000)]1()1()0([)]1()1()0([M N N M N M N N N
N N N N
N N N N
N N W W W W W W W W W W W W M x x x N X X X 1 DFT 变换的Matlab 实现:
clc;clear; M=4; N=8;
x=[1,1,1,1]; n=0:M-1; k=0:N-1;
WN=exp(-j*2*pi/N); kn=n'*k;
WNkn=WN.^kn; X=x*WNkn; magX=abs(X); phaX=angle(X); k=0:7;
subplot(131); stem(x);
subplot(132); stem(magX); subplot(133); stem(phaX);
对4()R n 进行离散傅里叶变换得到图4-2。