DFT近似计算信号频谱专题研讨 北京交通大学.doc

上传人:bao****ty 文档编号:144606824 上传时间:2020-09-11 格式:DOC 页数:20 大小:1.31MB
返回 下载 相关 举报
DFT近似计算信号频谱专题研讨 北京交通大学.doc_第1页
第1页 / 共20页
DFT近似计算信号频谱专题研讨 北京交通大学.doc_第2页
第2页 / 共20页
DFT近似计算信号频谱专题研讨 北京交通大学.doc_第3页
第3页 / 共20页
DFT近似计算信号频谱专题研讨 北京交通大学.doc_第4页
第4页 / 共20页
DFT近似计算信号频谱专题研讨 北京交通大学.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《DFT近似计算信号频谱专题研讨 北京交通大学.doc》由会员分享,可在线阅读,更多相关《DFT近似计算信号频谱专题研讨 北京交通大学.doc(20页珍藏版)》请在金锄头文库上搜索。

1、近代数字信号处理课程研究性学习报告姓名 学号 同组成员 指导教师 薛健 时间 2012年 DFT近似计算信号频谱专题研讨【目的】(1) 掌握利用DFT近似计算不同类型信号频谱的原理和方法。(2) 理解误差产生的原因及减小误差的方法。(3) 培养学生自主学习能力,以及发现问题、分析问题和解决问题的能力。【研讨题目】 基本题 1. 已知一离散序列为 (1)用L=32点DFT计算该序列的频谱,求出频谱中谱峰的频率;(2)对序列进行补零,然后分别用L=64、128、256、512点DFT计算该序列的频谱,求出频谱中谱峰的频率;(3)讨论所获得的结果,给出你的结论。该结论对序列的频谱计算有何指导意义?【

2、题目分析】本题讨论补零对离散序列频谱计算的影响。【温磬提示】在计算离散非周期序列频谱时常用W/p作为横坐标,称W/p为归一化频率(normalized frequency)。在画频谱时需给出横坐标。每幅图下都需给出简要的文字说明。由于离散非周期序列频谱是周期的,所以在计算时不必用fftshift 函数对fft计算的结果进行重新排列。【序列频谱计算的基本方法】连续信号,通过其抽样的离散信号,和离散信号的DFT变换存在如下关系:通过如上关系,我们就可以通过DFT来求信号的频谱。【仿真结果】【结果分析】增加DFT的点数可以使频谱更容易观察,即减轻了栅栏效应带来的影响。频谱的横坐标为归一化频率,所以原

3、信号的峰值第一次应该出现在0.2处,随着DFT点数的增大,频谱表示也越来越精确。从图中看出误差越来越小,但是DFT点数从512到32768时图形和误差基本没变,所以DFT的点数合适即可,不用太大。【自主学习内容】1. 归一化频率相关知识。2. 通过matlab计算DFT和matlab的绘图操作。【阅读文献】1数字信号处理2补零对有限长序列频谱及DFT的影响。【发现问题】 (专题研讨或相关知识点学习中发现的问题):DFT点数的增多是否能提高频谱分辨率?【问题探究】虽然DFT点数增加使图像更加细致,但是因为不论DFT点数是多少,抽样点数都是相同的,所以每个频谱所包含的信息相同,频谱分辨率只与抽样点

4、数相关,与DFT点数无关,频谱分辨率相同。所以不能通过增大DFT点数而减少信息损失。DFT点数的增多不能提过频率分辨率。【仿真程序】k = 0:31;N = 32 64 128 256 512 215; x = sin(0.2*pi*k);for i = 1:length(N) N_temp = N(i); X = fft(x,N_temp); k = 0:N_temp-1; k_temp = 2*k/N_temp; subplot(length(N),1,i); title(N = num2str(N_temp); peak = 2*(find(X = max(X) )-1)/(N_temp

5、); de = abs(peak-0.2)/0.2; peak_value = linspace(19,19,length(peak); plot(peak,peak_value,dr); title(N= num2str(N(i) peak position= num2str(peak) magnitude= num2str(max(abs(X) diviation of peak position = num2str(de); hold on; plot(k_temp,abs(X); ylabel(Magnitude);end2 已知一离散序列为 x k=AcosW0k+Bcos ( (W

6、0+DW)k)。用长度N=64的哈明窗对信号截短后近似计算其频谱。试用不同的A和B的值(如 A和B近似相等,A和B近差距较大),确定用哈明窗能分辩的最小的谱峰间隔中c的值。【题目分析】本题讨论用哈明窗计算序列频谱时的频率分辨率。【仿真结果】【结果分析】便于观察,频谱的坐标为归一化频率,并且频谱只显示用于观察区别的部分,红色和绿色垂线表示理论的谱峰处。粉色为标记出可以区分谱峰的频谱,第一排是c=4,第二排c=3,远大于教材定义的标准c=2。无论A/B的比值是多少,区分谱峰毫无压力。第3排中,c=2是教材定义的标准,A与B接近的时候,区分较为容易,当A/B为1.6的时候,几乎是无法区分,而A/B=

7、4的时候,完全无法区分。所以说在设计使用哈明窗的时候,如果不同频谱的信号所占比例相差较大,哈明窗的c要比2大。从第一列可以看出,如果A/B象近的时候,即使c稍小于2,也是可以区分的。每一列中,A/B的比值是相同的,随着c的减小,谱峰的区别能力很容易看出是降低的。【自主学习内容】不同窗函数的屏幕分辨率。【阅读文献】数字信号处理【发现问题】 (专题研讨或相关知识点学习中发现的问题):哈明窗所起的作用?哈明窗与矩形窗谁的分辨率高?在仿真的时候c该选用怎样的值?【问题探究】哈明窗主瓣较宽,分辨率比矩形窗差,但是哈明窗可以使能量集中在主瓣处。所以哈明窗可以起到减小泄漏的作用。在仿真的时候c该选用怎样的值

8、?在开始的时候选用的c为 1 2 4 8 16,对比效果不明显,发现c的取值过于大,反复尝试确定在2附近多取值,其他值也不可取得过于大,因为c稍大实验现象基本相同,所以没有意义。【仿真程序】N = 64;k = 0:N-1;c_set = 4 3 2.2 2 1.9 1.8 1.5;A_set = 1 1.2 1.6 4;%A与B比值取值范围B = 1;w0 = 0.5*pi;for c_index = 1:length(c_set) c = c_set(c_index); dw = c*2*pi/N; for A_index = 1:length(A_set) A = A_set(A_ind

9、ex); x = A*cos(w0*k)+B*cos(w0+dw)*k); Xh = fft(x.*hamming(N); w = k*2/N; subplot(length(c_set),length(A_set),length(A_set)*(c_index-1)+A_index); plot(w,abs(Xh); hold on; title(c= num2str(c) ;A/B= num2str(A); axis(0.45 0.65 0 25); fr1 = 0.5 0.5; fr2 = 0.5+c*2/N 0.5+c*2/N; y = 0 25; plot(fr1,y,r,fr2,y

10、,g); endend3 已知一离散序列为 xk=cos(W0k)+0.75cos(W1k), 0 k 63 其中W0=0.4p, W1=W0+p/64(1) 对xk做64点FFT, 画出此时信号的频谱。(2) 如果(1)中显示的谱不能分辨两个谱峰,是否可对(1)中的64点信号补零而分辨出两个谱峰。通过编程进行证实,并解释其原因 。(3) 给出一种能分辨出信号中两个谱峰的计算方案,并进行仿真实验。【题目分析】分析影响谱峰分辨率的主要因数,进一步认识补零在在频谱计算中的作用。【仿真结果】【结果分析】频谱的横坐标是归一化频率,图示只观察要区别的部分。红绿线为理论谱峰。每一个列的抽样点相同,每一行D

11、FT点相同。但看第一列,虽然增加DFT点数,甚至是增加到32768,也不能够区分两个谱峰,所以要想增加频率的分辨率,可以增加抽样点数,第二列和第三列抽样点数分别是128和256,都可以区分两个谱峰。【自主学习内容】如何增加频谱分辨率。【阅读文献】数字信号处理。【发现问题】 (专题研讨或相关知识点学习中发现的问题):如何计算所需抽样点数?可以通过信号频率的差值计算。【问题探究】1、2、3题讨论的是离散信号频谱的计算问题。与连续信号频谱计算问题相比较,其计算误差有何不同?连续信号的频率是非周期的,离散信号的频谱是连续信号频谱的周期话,可能会有混叠误差。【仿真程序】w0 = 0.4*pi;dw =

12、pi/64;w1 = w0+dw;N_set = 64 128 256;L_set = 64 128 256 512 32768;for N_index = 1:length(N_set); N = N_set(N_index); k = 0:N-1; x = cos(w0*k)+0.75*cos(w1*k); for L_index =1:length(L_set) L = L_set(L_index); if LN continue end X = fft(x,L); m = (0:L-1)*2/L; subplot(length(L_set),length(N_set),(L_index-1)*length(N_set)+N_index); plot(m,abs(X); axis(0.38 0.44 0 40); title(N= num2str(N) L= num2str(L); hold on; fr1 = 0.4 0.4; fr2 = 0.4 + 1/64,0.4+1/64; y = 0 40; plot(fr1,y,r,fr2,y,g); endend4 试用DFT近似计算高斯信号的频谱抽样值。高斯信号频谱的理论值为通过与理论值比较,讨论信号的时域截取长度和抽样频率对计算误差的影响。【题目分析】

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号