北京交通大学DSP研究性学习报告频谱计算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字信号处理》课程研究性学习报告
DFT近似计算信号频谱专题研讨
姓名李帆
学号********
同组成员张静11214028
林恒11214068
王亚君11214025
李亚伟11214009
指导教师薛健
时间2013年5月8日
利用DFT近似计算信号频谱专题研讨
【目的】
(1) 掌握利用DFT近似计算不同类型信号频谱的原理和方法;
(2) 理解误差产生的原因及减小误差的方法;
(3)研究用DFT近似计算连续周期信号的方法;
(4) 培养学生自主学习能力,以及发现问题、分析问题和解决问题的能力。
【研讨内容】
基本题
基本题是课程的基本要求,所有的人都需完成。
问题一
已知某离散序列为
]
[
=k
k
x
k
=
sin(
31
,1,0
,
π2.0
),
(1)用L=32点DFT计算该序列的频谱,求出频谱中谱峰的频率;
(2)对序列进行补零,然后分别用L=64、128、256、512点DFT计算该序列的频谱,求出频谱中谱峰的频率;
(3)讨论所获得的结果,从中你能得到了什么结论?该结论对序列的频谱计算有何指导意义?
【题目分析】
本题讨论补零对离散序列频谱计算的影响。
补零可以使DFT计算得出的频谱更加细致,但是不能改变序列的DTFT
【温磬提示】
在计算离散非周期序列频谱时常用Ω/π作为横坐标,称Ω/π为归一化频率(normalized frequency)。在画频谱时需给出横坐标。每幅图下都需给出简要的文字说明。
由于离散非周期序列频谱是周期的,所以在计算时不必用fftshift 函数对fft计算的结果进行重新排列。
【序列频谱计算的基本方法】
在MA TLAB中,用函数fft(x,N)可以计算X[k]序列的N点DFT
【仿真结果】
00.20.40.60.81 1.2 1.4 1.6 1.820
10
20
L=32
00.20.40.60.81 1.2 1.4 1.6 1.820
10
20
L=6400.20.40.60.81 1.2 1.4 1.6 1.820
10
20
L=12800.20.40.60.81 1.2 1.4 1.6 1.820
10
20
L=25600.20.40.60.81 1.2 1.4 1.6 1.82
010
20
L=512
00.20.40.60.81
1.2 1.4 1.6 1.82
L=32
L=1024
【结果分析】
通过对序列补零,使DFT 在计算频谱时,频谱更加清晰,容易观察,随着点数的增加,频谱的
很多细节之处都显示出来,频谱也越来越精确。但是当点数增加到一定范围,频谱基本不再变化,误差也没有减小,因此,在用DFT计算离散序列的频谱时,点数合适即可,不宜过少,也不宜过多。同时,不管取得的点数是多少,频谱的谱峰所对应的数值都是0.2,可见,对序列补零并不能改变序列的DTFT.
【阅读文献】
1、数字信号处理
2、老师的课件
【发现问题】(专题研讨或相关知识点学习中发现的问题):
对序列后面补零能不能提高频谱的分辨率。
【问题探究】
对序列后面补零不能提高频谱的分辨率。DFT是对信号fourier变换的离散化处理,对序列后面补零,只是增加了信号fourier变换后的离散抽样点,并不能改变信号本身的采样点,故不能提高频谱的分辨率。
【仿真程序】
k=0:31
x=sin(0.2*pi*k)
k1=0:31
x_32=fft(x,32)
subplot(5,1,1)
plot(2*k1/32,abs(x_32),'g')
title('L=32')
k2=0:63
x_64=fft(x,64)
subplot(5,1,2)
plot(2*k2/64,abs(x_64),'r')
title('L=64')
k3=0:127
x_128=fft(x,128)
subplot(5,1,3)
plot(2*k3/128,abs(x_128),'m')
title('L=128')
k4=0:255
x_256=fft(x,256)
subplot(5,1,4)
plot(2*k4/256,abs(x_256),'y')
title('L=256')
k5=0:511
x_512=fft(x,512)
subplot(5,1,5)
plot(2*k5/512,abs(x_512),'k')
title('L=512')
figure
k=0:31;
x=sin(0.2*pi*k)
L=0:1023
X=fft(x,1024)
subplot(2,1,1)
plot(2*L/1024,abs(X),'r')
hold on ;
k1=0:31
x_32=fft(x,32)
stem(2*k1/32,abs(x_32),'x','b')
title('L=32')
k=0:31
x=sin(0.2*pi*k)
L=0:1023
X=fft(x,1024)
subplot(2,1,2)
plot(2*L/1024,abs(X),'r')
hold on
k3=0:127
x_128=fft(x,128)
stem(2*k3/128,abs(x_128),'*','b')
title('L=1024')
问题二
某离散序列为 x [k ]=A cos Ω0k +B cos ( (Ω0+∆Ω)k )。用长度N =64的哈明窗对信号截短后近似计算其频谱。试用不同的A 和B 的值(如 A 和B 近似相等,A 和B 近差距较大),确定用哈明窗能分辩的最小的谱峰间隔N
c
π2Δw =Ω中c 的值。
【题目分析】
本题讨论用哈明窗计算序列频谱时的频率分辨率问题。
用哈明窗计算序列频谱时,可以减小序列的泄漏现象,即减少频谱中出现的多余高频分量,但是其是在降低频谱的分辨率的基础上实现的,故使用哈明窗会降低频谱的分辨率。
【仿真结果】
[1]A=B=2时
C=2