应用FFT对信号进行频谱分析Word下载.docx
《应用FFT对信号进行频谱分析Word下载.docx》由会员分享,可在线阅读,更多相关《应用FFT对信号进行频谱分析Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
1、实验目的
1、加深对离散信号的DTFT和DFT的及其相互关系的理解。
2、在理论学习的基础上,通过本次实验,加深对快速傅里叶变换的理解,熟悉FFT算法及其程序的编写。
3、熟悉应用FFT对典型信号进行频谱分析的方法。
4、了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际应用中正确应用FFT。
2、实验原理及方法
一个连续信号的频谱可以用它的傅里叶变换表示为
(2—1)
如果对信号进行理想采样,可以得到采样序列:
(2—2)
同样可以对该序列进行Z变换,其中T为采样周期
(2—3)
当Z=
的时候,我们就得到了序列的傅里叶变换
(2—4)
其中
成为数字频率,它和模拟频域的关系为
(2—5)
式中的
是采样频率,上式说明数字频率是模拟频率对采样频率的归一化。
同模拟域的情况相似,数字频率代表了序列值变化的速率,而序列的傅里叶变换称为序列的频谱。
序列的傅里叶变换和对应的采样信号频谱具有下式的对应关系。
(2—6)
即序列的频谱是采样信号频谱的周期延拓。
从上式可看出,只要分析采样序列的频谱,就可以得到相应的连续信号的频谱。
在各种信号序列中,有限长序列在数字信号处理中占有很重要的地位。
无限长的序列往往可以用有限长序列来逼近。
对于有限长的序列我们可以用离散傅里叶变换(DFT),这一变换可以很好的反映序列的频域特性,并且容易利用快速算法在计算机中实现当序列长度是N时,我们定义离散傅里叶变换为
(2—7)
其中
=
,它的反变换定义为:
(2—8)
根据以上两式,令Z=Z=
,则有
X(z)
=DFT[x(n)](2—9)
可以得到X(k)=X(z)
,
是Z平面单位圆上幅角为
ω=2πk/n的点,就是将单位圆进行N等分以后第K个点。
所以是Z变换在单位圆上的等距采样,或者说是序列傅里叶变换的等距采样。
时域采样在满足Nyquist定理时,就不会发生频谱混淆;
同样地,在频率域进行采样的时候,只要采样间隔足够小,也不会发生时域序列的混淆。
DFT时对序列傅里叶变换的等距采样,因此可以用于序列的频谱分析。
三实验内容及步骤
(2)上机实验内容
1、观察高斯序列的时域和频域特性
(1)固定信号xa(n)的参数p=8,改变q的值,使q分别等于2,4,8。
观察它们的时域和幅频特性,了解q取不同值的时候,对信号时域特性和幅频特性的影响。
>
n=0:
15;
p=8;
q=2;
x=exp(-1*(n-p).^2/q);
%利用fft函数实现傅里叶变换
closeall;
subplot(3,2,1);
stem(x);
title('
信号图形(p=8,q=2)'
);
subplot(3,2,2);
stem(abs(fft(n)));
信号的频谱(p=8,q=2)'
q=4;
subplot(3,2,3);
信号图形(p=8,q=4)'
subplot(3,2,4);
stem(abs(fft(x)));
信号的频谱(p=8,q=4)'
q=8;
subplot(3,2,5);
信号图形(p=8,q=8)'
subplot(3,2,6);
信号的频谱(p=8,q=8)'
(2)固定q=8,改变p,使p分别等于8,13,14,观察参数p变化对信号序列时域及幅频特性的影响。
注意p等于多少时,会发生明显的泄露现象,绘制相应的时域序列和幅频特性曲线。
p=13;
信号图形(p=13,q=8)'
信号的频谱(p=13,q=8)'
p=14;
信号图形(p=14,q=8)'
P=14时会发生明显的泄漏现象
2、观察衰减正弦序列的时域和幅频特性
(1)令a=0.1,并且f=0.0625,检查谱峰出现的位置是否正确,注意谱峰的形状,绘制幅频特性曲线。
n=015;
a=0.1;
f=0.0625;
x=exp(-an).sin(2pifn);
subplot(2,1,1);
stem(n,x);
信号图形'
subplot(2,1,2);
stem(n,abs(fft(x)));
信号的频谱'
(2)改变f=0.4375,再变化f=0.5625,观察这两种情况下,频谱的形状和谱峰出现的位置,有无混淆和泄露现象发生?
说明产生现象的原因。
f=0.4375
n=0:
f=0.4375;
x=exp(-a*n).*sin(2*pi*f*n);
f=0.5625
f=0.5625;
3、观察三角波序列和反三角波序列的时域和幅频特性
(1)用8点FFT分析信号xc(n)和xd(n)的幅频特性,观察两者的序列形状和频谱曲线有什么异同?
绘制两者的序列和幅频特性曲线
fori=1:
4;
%设置信号前4个点的数值
x(i)=i;
end
fori=5:
8;
x(i)=9-i;
subplot(2,2,1);
xc[n]信号图形'
subplot(2,2,2);
stem(abs(fft(x,16)));
xc[n]信号的频谱'
)
fori=1:
x(i)=5-i;
x(i)=i-4;
subplot(2,2,3);
xd[n]信号图形'
subplot(2,2,4);
xd[n]信号的频谱'
xc(n)和xd(n)的信号图形的波峰位置不一样,并且它们的频谱图上5~10的值也不一样。
(2)在xc(n)和xd(n)末尾补零,用16点FFT分析这两个信号的幅频特性,观察幅频特性发生了什么变化?
两个信号之间的FFT频谱还有没有相同之处?
这些变化说明了什么?
fori=9:
16;
x(i)=0;
16点FFT时xc(n)和xd(n)变化不大,两个信号在<
0n<
4,16>
=n>
=15时图形相似。
4、思考题
1、实验中的信号序列Xc(n)和Xd(n),在单位圆上的Z变换频谱会相同吗?
如果不同,你能说出那一个低频分量更多一些吗?
为什么?
答:
不相同,它们在单位圆上的Z变换频谱中,xc(n)的低频分量比xd(n)的多一些。
2、对一个有限长序列进行离散傅里叶变换,等价于将该序列周期延拓后进行傅里叶级数展开。
因为DFS也只是取其中一个周期来运算,所以FFT在一定条件下也可以分析周期信号序列。
如果正弦信号sin(2πfn),f=0.1,用16点的FFT来做DFS运算,得到的频谱是信号本身的真实谱吗?
得到的频谱不是信号本身的真实谱。
只应为有当DFS变换的点数N与进行FFT变换的点数K相同的时候,才可以认为DFS与FFT的变换是等价的,可以用DFS来分析FFT。
但是在N与K不相等的时候,DFS与FFT变换不等价。
在这里N=10,K=16,N不等于K,所以得到的频谱不是信号本身的真实谱。