数字信号处理 实验 信号处理中FFT的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理实验报告
实验名称: 信号处理中FFT 的应用 学号: 姓名:
评语: 成绩:
一、实验目的
1、理解用FFT 对周期序列进行频谱分析时所面临的问题并掌握其解决方法。
2、掌握用时域窗函数加权处理的技术。
3、理解用FFT 对非周期信号进行频谱分析所面临的问题并掌握其解决方法。
二、实验原理与计算方法
1、对周期序列进行频谱分析应注意的问题
对时间序列作FFT 时,实际上要作周期延拓(如果取长序列的一段进行计算还要先作截断)。
周期序列是无限长时
间序列,如果截断区间刚好就是该序列周期的整数倍,那么在进行周
期延拓后,将还原出原来的周期序列,由此可以较精确地计算出的该周期序列的频谱。
反之,如果截断区间并不是该序列周期的整数倍,那么在进行周期延拓后,就不可能还原出原来的周期序列,由此计算出的频谱与该周期序列的频谱存在误差,而且误差的大小与截断区间的选取直接相关,如图4-1所示,其中幅度频谱的量值表示为)(log 20k X ,以dB(分贝)为单
位。
这种误差是由于周期序列与矩形截断序列相乘在频域产生二者的频谱卷积形成的。
矩形
窗的频谱是抽样函数序列f
N j e f fN )1()sin()sin(--πππ,如图4-2所示。
除了k = 0处主瓣内集中了
大部分的能量外,两旁的较小峰值处的旁瓣也分散了一部分能量,它与周期序列频谱卷积的
结果使原来集中的频谱展宽,称为频率泄漏。
如果对已知周期的信号作频谱分析,在进行时域截断时,完全可以选取其周期的整数倍裁取,从而可以避免这种频率泄漏的发生。
不过,通常需要进行频谱分析的信号是周期未知的信号,或随机信号,无法判断它的周期值,为了尽量避免频率泄漏对结果的影响,在作时间截断时,就应选取其频谱的旁瓣较小的截断函数,以
减轻泄漏问题。
2、时域窗函数的应用
作为截断函数,矩形窗在作时间截断时,对所截取区间内的信号不加以任何影响,而其它的窗函数都将对所截取区间内的信号作加权处理。
除了在实验二中已经介绍过三角窗、Hanning 窗和Hamming 窗外,常用的窗函数还有很多,例如Parzen 窗、Kaiser 窗、Chebyshev )(k X )(k X
k k
(a)时域周期整数倍截断 (b)时域非周期整数倍截断
图 4-1 周期函数t Ωsin 的幅频曲线
)(k X
k
图 4-2 矩形窗的频谱
窗、Tukey 窗、Poisson 窗、Caushy 窗、Gaussian 窗和Blackman 窗等等。
本次实验仍是采用实验二中的几种窗函数,但是利用窗函数作时域加权截断。
图 4-3 中给出了采用Hanning 窗对正弦函数作非整周期的时域加权截断后的波形和频谱,与图4-1(b)比较,泄漏已明显减少。
应该指出,前面所给出的窗函数都是定义为以0点为中心、宽度为N +1的加权函数,在这里应用时,需要将其右移2
N ,成为N →0区间内的加权函数。
3、对非周期序列进行频谱分析应注意的问题 (1)混叠
一般非周期信号作FFT 之前要进行时域采样和周期延拓(无限长时间信号还应先截断再
延拓)。
根据Fourier 变换理论,经等周期s T 的冲激采样后,离散序列)()()(~
t t x nT x T s δ=的频谱∑
∞
-∞
=-=
n s s
nf f X T f X )(1)(~
是原信号频谱)(f X 以s
s T f 1
=
为周期的周期延拓。
按照Nyquist 采样定理,由采样引起周期延拓后频谱之间不发生混叠的条件是:(1)原信号应该是有限带宽信号,设其频带宽度为f m ;(2)频谱的周期m s f f 2≥,即采样周期应满足Nyquist 条件
m
s f T 21
≤。
由于实际上有限长时间信号)(t x 的FT )(f X 是频域的无限函数,因此采样所得的离散序列的频谱必定产生混叠,减小采样周期s T 只能减小而不能消除混叠。
对于时间有限函数,当采样周期较大时,也会在FFT 得到的频域出现混叠,形成频谱失真,造成频谱分析结果与原信号的实际频谱的差异,也无法恢复出原信号。
当然,实际工作中只要采样和截断产生的误差在许可的范围内就行了,但应该认识到混叠是引起频谱分析误差的一个主要原因。
还应该注意的是,离散
Fourier 变换的
频域也是周期化的,区间1,,12-+N N 内
的样点实际上是负频率区的量值,因此如果出
现混叠,就将在一个周期内出
现,并发生在2
N
附近的区域,如图4-4所示。
要减少混叠,就要尽量减小采样周期。
(2)泄漏
周期函数截断引起的频率泄漏问题,在非周期函数截断处理后同样存在,这种误差是由于采样后的离散序列与矩形截断序列相乘在频域造成二者的频谱卷积形成的。
矩形窗的频谱
)()sin(n w n ω )
(k X
0 t
0 k (a) 正弦函数的加权的非周期时域截断 (b)减小了泄漏的频谱
图 4-3 采用Hanning 窗加权后的时域截断和频谱
)(n u e anT
- )(k X
0 n 0 N/2 N (a)时域按周期T s 采样 (b)频域一个周期内在N /2附近出现混叠
图 4-4 非周期函数t e -采样后的幅频曲线
是抽样函数序列
f
N j e f fN )1()
sin()sin(--πππ,它与离散序列频谱卷积的结果使原来集中于每一个样
点处的频谱展宽,其影响在高频区(接近N /2的样点)特别明显,如图4-5所示。
同样,为了
尽量避免频率泄漏对结果的影响,在对非周期函数作时间截断时,除尽量增加截断序列的宽度外,也应选取其频谱的旁瓣较小的截断函数,以减轻泄漏问题。
在选取了适当的窗函数后,应当使窗函数的宽度与被处理的序列长度相同,如果作变换前还需要补零(例如为了作卷积运算或避免栅栏效应),则应将原序列与窗函数相乘后再补零,即补零的样点不用窗函数加权处理。
(3)栅栏效应
非周期信号)(t x 应具有连续的频谱,在对)(t x 作抽样后进行DFT ,得到的是离散的频谱。
如果排除混叠和泄漏等误差的影响,所得的结果也只是)(t x 的连续频谱上的
12
+N
个样值。
这就象通过栅栏上的等间距缝隙观看到的另一边的景象,故此称栅栏效应。
被栅栏遮住的景象中有可能存在与显现出的频谱差异较大的变化,即显示信号特征的频谱分量。
为了使被栅栏遮住的部分能尽可能地显现出来,可以采用增加频域样点密度的方法,即在不增加信号采样点的情况下,用时域补零加宽变换尺度N 来实现,称为补零重构。
例如原来信号采样得到12个样点,在其后面再加上4个零,使序列的总长度为16个样点。
这样处理的结果原来信号的采样间隔和频率都没有改变,设采样频率为s f ,经补零重构之后,采样频率仍然为s f ,但是原来频域样点间宽度为s f /12,经补零重构之后频域样点间宽度为s f /16。
这就使补零重构之后频域样点密度增加,而且显示出原来没有显露的一些频率位置的频谱。
三、实验内容
(1)将余弦函数cos(2πt)以T s =1/53 s 抽样,对余弦序列做样点数为N =128的FFT ,画出频谱曲线,观察并记录频率泄漏现象,然后用Hamming 窗和三角窗作加权截断,观察并记录泄漏的衰减。
实验代码:
n=[0:127]; N=128; Ts=1./53; t=n.*Ts;
xn=cos(2.*pi.*t); w1=hamming(N); w2=bartlett(N); H=xn.*w1'; B=xn.*w2'; figure(1); subplot(2,1,1);
)(n w e anT - )
(k X
0 n 0 N/2 N
(a)时域截断 (b)频域一个周期内在N /2附近出现泄漏
图 4-5 函数t
e -采样后作截断的幅频曲线
stem(n,xn,'.');
title('xn函数')
subplot(2,1,2);
stem(abs(fft(xn,N)),'.'); title('xn频谱曲线')
figure(2);
subplot(2,1,1);
stem(n,H,'.');
title('Hamming窗加权')
subplot(2,1,2);
stem(abs(fft(H,N)),'.');
title('Hamming窗加权频谱曲线') figure(3);
subplot(2,1,1);
stem(n,B,'.');
title('三角窗加权')
subplot(2,1,2);
stem(abs(fft(B,N)),'.');
title('三角窗加权频谱曲线')
实验截图:
(2)将幅度为1,周期为2的方波信号,按T s=1/37 s的间距抽样,做样点数N=128的FFT,画出频谱曲线,然后用Hamming窗和三角窗作加权截断,观察并记录作不同的加权截断引起的频谱差异。
实验代码:
n=[0:1:127];
N=128;
Ts=1./37;
t=n.*Ts;
xn=square(1.*pi.*t,50);
w1=hamming(N);
w2=bartlett(N);
H=xn.*w1';
B=xn.*w2';
figure(1)
subplot(2,1,1);
stem(n,xn,'.');
title('方波函数')
subplot(2,1,2);
stem(abs(fft(xn,N)),'.');
title('方波频谱曲线')
figure(2)
subplot(2,1,1);
stem(n,H,'.');
title('Hamming窗加权')
subplot(2,1,2);
stem(abs(fft(H,N)),'.');
title('Hamming窗加权频谱曲线')
figure(3)
subplot(2,1,1);
stem(n,B,'.');
title('三角窗加权')
subplot(2,1,2);
stem(abs(fft(B,N)),'.');
title('三角窗加权频谱曲线')
实验截图:
(3)将单边指数函数x(t)=e-t u(t)抽样截断后作FFT,首先选取不同的抽样周期T s=0.05,0.1,0.5 s,并取N = 128,观察频谱混叠。
然后作不同宽度的截断,选取矩形窗宽为4,8,32等,并保持N = 128,观察频谱泄漏。
实验代码:
n=[0:3];
N=128;
Ts=0.05;
t=n.*Ts;
xn=exp(-t).*u(t);
f=boxcar(4);
J=xn.*f';
subplot(3,2,1);
stem(abs(fft(xn)),'.');
title('Ts=0.05抽样函数')
subplot(3,2,2);
stem(abs(fft(J,N)),'.');
title('矩形窗宽4加权频谱曲线')
n=[0:7]
N=128
Ts=0.1
t=n.*Ts
xn=exp(-t).*u(t)
f=boxcar(8)
J=xn.*f'
subplot(3,2,3);
stem(abs(fft(xn)),'.');
title('Ts=0.1抽样函数') subplot(3,2,4);
stem(abs(fft(J,N)),'.'); title('矩形窗宽8加权频谱曲线') n=[0:31]
N=128
Ts=0.5
t=n.*Ts
xn=exp(-t).*u(t)
f=boxcar(32)
J=xn.*f'
subplot(3,2,5);
stem(abs(fft(xn)),'.');
title('Ts=0.5抽样函数') subplot(3,2,6);
stem(abs(fft(J,N)),'.'); title('矩形窗宽8加权频谱曲线')实验截图:
(4)计算下面三个正弦函数的组合的频谱
)()]2sin()2sin()2[sin()(321t u t f t f t f t x πππ++=
其中频率f 1=6.3,f 2=9.7,f 3=15.3,令t =nT s ,抽样周期T s =1/64。
分别取N =32,64,128将其截断后作FFT ,观察和记录混叠和泄漏形态。
分别采取补零加宽和增加截取时间宽度的方法作出频谱图,了解栅栏效应和频率分辨力的意义。
实验代码:
n=[0:31]; N=32; Ts=1./64; t=n.*Ts;
xn=(sin(2.*pi.*6.3.*t)+sin(2.*pi.*9.7.*t)+sin(2.*pi.*15.3.*t)).*u(t); subplot(3,2,1);
stem(abs(fft(xn,N)),'.'); title('N=32截断'); subplot(3,2,2);
stem(n,abs(fft(xn)),'.'); n=[0:63]; N=64; Ts=1./64; t=n.*Ts;
xn=(sin(2.*pi.*6.3.*t)+sin(2.*pi.*9.7.*t)+sin(2.*pi.*15.3.*t)).*u(t); subplot(3,2,3);
stem(abs(fft(xn,N)),'.'); title('N=64截断'); subplot(3,2,4);
stem(n,abs(fft(xn)),'.'); n=[0:127]; N=128; Ts=1./64; t=n.*Ts;
xn=(sin(2.*pi.*6.3.*t)+sin(2.*pi.*9.7.*t)+sin(2.*pi.*15.3.*t)).*u(t); subplot(3,2,5);
stem(abs(fft(xn,N)),'.'); title('N=128截断'); subplot(3,2,6);
stem(n,abs(fft(xn)),'.')
实验截图:
仅供个人用于学习、研究;不得用于商业用途。
For personal use only in study and research; not for commercial use.
Nur für den persönlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden.
Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.
толькодля людей, которые используются для обучения, исследований и не должны использоваться в коммерческих целях.
以下无正文。