北京交通大学DSP研究性学习报告频谱计算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档