ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:359.19KB ,
资源ID:5343020      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5343020.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字信号处理研讨DFT近似计算信号频谱.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字信号处理研讨DFT近似计算信号频谱.docx

1、数字信号处理研讨DFT近似计算信号频谱 Beijing Jiaotong University 数字信号处理研讨DFT近似计算信号频谱学 院:电子信息工程学院小组成员:指导教师:时 间:2013.06.24DFT近似计算信号频谱专题研讨【目的】(1) 掌握利用DFT近似计算不同类型信号频谱的原理和方法。(2) 理解误差产生的原因及减小误差的方法。(3) 培养学生自主学习能力,以及发现问题、分析问题和解决问题的能力。【研讨题目】 基本题 1. 已知一离散序列为 (1)用L=32点DFT计算该序列的频谱,求出频谱中谱峰的频率;(2)对序列进行补零,然后分别用L=64、128、256、512点DFT

2、计算该序列的频谱,求出频谱中谱峰的频率;(3)讨论所获得的结果,给出你的结论。该结论对序列的频谱计算有何指导意义?【题目分析】 本题讨论补零对离散序列频谱计算的影响。【温磬提示】 在计算离散非周期序列频谱时常用/作为横坐标,称/为归一化频率(normalized frequency)。在画频谱时需给出横坐标。每幅图下都需给出简要的文字说明。 由于离散非周期序列频谱是周期的,所以在计算时不必用fftshift 函数对fft计算的结果进行重新排列。【序列频谱计算的基本方法】 连续信号,通过其抽样的离散信号,和离散信号的DFT变换存在如下关系: 通过如上关系,我们就可以通过DFT来求信号的频谱。【仿

3、真结果】fm = 0.9375fm = 0.9219fm = 0.9141fm = 0.9102fm = 0.9082【结果分析】 增加DFT的点数可以使频谱更容易观察,即减轻了栅栏效应带来的影响。频谱的横坐标为归一化频率,所以原信号的峰值第一次应该出现在0.2处,随着DFT点数的增大,频谱表示也越来越精确。【自主学习内容】1.归一化频率相关知识。2.通过matlab计算DFT和matlab的绘图操作。【阅读文献】 1数字信号处理 2补零对有限长序列频谱及DFT的影响。【发现问题】 (专题研讨或相关知识点学习中发现的问题): DFT点数的增多是否能提高频谱分辨率?【问题探究】 虽然DFT点数增

4、加使图像更加细致,但是因为不论DFT点数是多少,抽样点数都是相同的,所以每个频谱所包含的信息相同,频谱分辨率只与抽样点数相关,与DFT点数无关,频谱分辨率相同。所以不能通过增大DFT点数而减少信息损失。 DFT点数的增多不能提过频率分辨率。【仿真程序】k = 0:31;N = 16; x = sin(0.2*pi*k);for i = 1:5 N = 2*N; X = fft(x,N); k = 0:N-1; subplot (5,1,i); plot (k/N,abs(X); xlabel (f/HZ); ylabel (Magnitude); fm = find( X = max(X)/N

5、; fmend2 已知一离散序列为 x k=Acos0k+Bcos ( (0+)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=4的时候,完全无法区分。所以说在设计使用哈明窗的时候,如果

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

7、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; 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_index); x = A*cos(w0*k)+B*cos(w0+

8、dw)*k); Xh = fft(x.*hamming(N); subplot(length(c_set),length(A_set),length(A_set)*(c_index-1)+A_index); plot(k,abs(Xh); hold on; title(c= num2str(c) ;A/B= num2str(A); axis(12 25 0 25); endend3 已知一离散序列为 xk=cos(0k)+0.75cos(1k), 0 k 63 其中0=0.4, 1=0+/64(1) 对xk做64点FFT, 画出此时信号的频谱。(2) 如果(1)中显示的谱不能分辨两个谱峰,是否

9、可对(1)中的64点信号补零而分辨出两个谱峰。通过编程进行证实,并解释其原因 。(3) 给出一种能分辨出信号中两个谱峰的计算方案,并进行仿真实验。【题目分析】 分析影响谱峰分辨率的主要因数,进一步认识补零在在频谱计算中的作用。【仿真结果】【结果分析】 频谱的横坐标是归一化频率,图示只观察要区别的部分。每一个列的抽样点相同,每一行DFT点相同。 但看第一列,虽然增加DFT点数,甚至是增加到32768,也不能够区分两个谱峰,所以要想增加频率的分辨率,可以增加抽样点数,第二列和第三列抽样点数分别是128和256,都可以区分两个谱峰。【自主学习内容】 如何增加频谱分辨率。【阅读文献】 数字信号处理。【

10、发现问题】 (专题研讨或相关知识点学习中发现的问题): 如何计算所需抽样点数?可以通过信号频率的差值计算。【问题探究】 1、2、3题讨论的是离散信号频谱的计算问题。与连续信号频谱计算问题相比较,其计算误差有何不同? 连续信号的频率是非周期的,离散信号的频谱是连续信号频谱的周期话,可能会有混叠误差。【仿真程序】w0 = 0.4*pi;dw = 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

11、 = 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); endend4 试用DFT近似计算高斯信号的频谱抽样值。

12、高斯信号频谱的理论值为通过与理论值比较,讨论信号的时域截取长度和抽样频率对计算误差的影响。【题目分析】 连续非周期信号频谱计算的基本方法。计算中出现误差的主要原因及减小误差的方法。【仿真结果】【结果分析】 如图所示,横轴坐标为角频率,左斜线上的图截取时间相同,垂线上的抽样频率相同,很容易能否看出,增加截取时间和抽样频率都可以减小误差。 【自主学习内容】 连续非周期信号的频谱计算方法。【仿真程序】d = pi;fsam_set = 1 2 4 8 16;N_set = 1 2 4 8;L = 64;for fsam_index = 1:length(fsam_set); fsam = fsam_

13、set(fsam_index); Tsam = 1/fsam; for N_index = 1:length(N_set); N = N_set(N_index); cuttime = N*Tsam; k = -N/2:N/2-1; t = k*Tsam; x = exp(-d*t.2); X = Tsam*fftshift(fft(x,L); w = linspace(-pi*fsam,pi*fsam,L); subplot(length(N_set),length(fsam_set),fsam_index+length(fsam_set)*(N_index-1); plot(w,abs(X

14、); hold on; G = exp(-w.*w/(4*d); plot(w,G,r); title(cuttime= num2str(cuttime) fsam= num2str(fsam); endend扩展题5 本题研究连续周期信号频谱的近似计算问题。 周期为T0的连续时间周期信号x(t)可用Fourier级数表示为 其中 X(n0)称为连续时间周期信号x(t)的频谱函数。称为信号的基频(基波),称为信号的谐波。 如果信号x(t)函数表达式已知,则可由积分得出信号的频谱。如果信号x(t)函数表达式未知,或者x(t)函数表达式非常复杂,则很难由积分得信号的频谱。本题的目的就是研究如何利用

15、DFT近似计算连续时间周期信号的频谱。(1)若在信号x(t)的一个周期T0内抽样N个点,即, T为抽样周期(间隔),可获得序列xk 试分析序列xk的DFT与连续时间周期信号x(t)的频谱X(n0)的关系;(2)由(1)的结论,给出由DFT近似计算周期信号频谱X(n0)的方案;(3)周期信号x(t)的周期T0=1,x(t)在区间0,1的表达式为x(t)=20t2(1-t)4cos(12t)(a)试画出信号x(t)在区间0,1的波形;(b)若要用6次以内的谐波近似表示x(t),试给出计算方案,并计算出近似表示的误差。讨论出现误差的原因及减小误差的方法。 【理论推导】 DFT计算所得结果Xm与连续周

16、期信号频谱X(n0)的关系。 由于,于是得 令n=m+rN;m=0,1,2,,为整数,上式可化为化简可得对比IDFT 可得 【计算方案】 根据理论推导结果设计近似计算方案。分析产生误差的主要原因。 DFT是连续信号频谱的周期化,如果频谱信号高频信号较多,就会产生混叠,所以有误差。如果主要是低频信号,周期话后互补产生影响,就没有误差。【扩展分析】 如果周期信号x(t)是带限信号,即信号的最高频率分量为M0(是正整数),试确定在一个周期内的最少抽样点N,使得在频谱的计算过程当中不存在混叠误差。与抽样定理给出的结论比较,发表你的看法。 很容易看出,要想不产生混叠,必须N 2M+1。 该结论与抽样定理

17、相似。 因为周期信号是一种特殊的连续信号,所以抽样定理对周期信号也是适用的。【仿真结果】【结果分析】 在N=16,k=6时,误差最小,最大误差为0.1229,平均误差为0.07187。 无论是减小N和减小k都很大的增大了误差。 为了分别测试N和k对误差的影响,分别设k=6,求不同N时候的误差,N=16,不同k对误差的影响,分别得到了下图(在原程序上稍加改动,所以在仿真程序中不再另写了) 此图可以看出,在N等于13的时候误差有明显的减小。 在k=6的时候,误差有明显的减小。 可见原函数最大的高频分量为6*w0,根据前面推出的理论,N取6*2+1=13点的时侯误差减小。实验结果符合结论【自主学习内

18、容】 周期信号的频谱与DFT的关系。【发现问题】 : 原函数最高频分量大约是多少?【问题探究】 根据前面推理,最高频分量为6*w0。【仿真程序】n = 1024;t = linspace(0,1,n);N_set = 12 16;H_set = 4 6;T0 = 1;count = 0;for N_index = 1:length(N_set) N = N_set(N_index); dT = T0/N; k = (0:N-1)*dT; x = 20*k.2.*(1-k).4.*cos(12*pi.*k); X = fft(x); for H_index = 1:length(H_set) H

19、 = H_set(H_index); sum = 0; X1 = X(N-H+1:N) X(1:H+1)/N; for k = -H:H; yt = X1(k+H+1)*exp(j*2*pi*k*t/T0); sum = sum+yt; end figure(N_index-1)*length(H_set)+H_index); subplot(1,2,1); xt = 20*t.2.*(1-t).4.*cos(12*pi.*t); plot(t,xt,r,t,sum,b); hold on; title(N= num2str(N) k= num2str(H); subplot(1,2,2);

20、plot(t,xt-sum);4 de=abs(xt-sum); maxde = max(de); meande = mean(de); title(Diviation:; mean: num2str(meande,4) max: num2str(maxde,4); count=count+1; deviation(count)=meande; endend电子文件提交说明:文件名 学号姓名研讨题目 (每组在文件名上只需提供一个学号和姓名)文件格式 Microsoft Word 2003 或以下版本建议用Office 套装软件 Visio 进行绘图。 Matlab所绘图形可在Visio环境下ungroup 后进行编辑。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1