【DSP研究性学习报告_频谱计算】

上传人:庄** 文档编号:234828059 上传时间:2022-01-04 格式:DOCX 页数:35 大小:835.17KB
返回 下载 相关 举报
【DSP研究性学习报告_频谱计算】_第1页
第1页 / 共35页
【DSP研究性学习报告_频谱计算】_第2页
第2页 / 共35页
【DSP研究性学习报告_频谱计算】_第3页
第3页 / 共35页
【DSP研究性学习报告_频谱计算】_第4页
第4页 / 共35页
【DSP研究性学习报告_频谱计算】_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《【DSP研究性学习报告_频谱计算】》由会员分享,可在线阅读,更多相关《【DSP研究性学习报告_频谱计算】(35页珍藏版)》请在金锄头文库上搜索。

1、DFT近似计算信号频谱专题研讨【目的】(1) 掌握利用DFT近似计算不同类型信号频谱的原理和方法。(2) 理解误差产生的原因及减小误差的方法。(3) 培养学生自主学习能力,以及发现问题、分析问题和解决问题的能力。【研讨题目】 基本题 1利用DFT分析x(t)=Acos(2pf1t)+Bcos(2pf2t)的频谱,其中f1=100Hz,f2=120Hz。(1)A=B=1; (2)A=1,B=0.2。要求选择不同的窗函数。【题目分析】由DFT结果可得:通过对不同抽样频率,不同的窗函数对信号的DFT结果可以看出:在对信号做DFT时,由于对信号进行截短,因此会产生频谱泄漏,要想从频谱中很好的分辨出个频

2、率分量,需要考虑时域抽样频率,所加的窗函数,窗函数的长度,以及DFT的点数等参数对结果的影响:因为f1 =2 f2 即fsam=240Hzf=f2 -f1=20N=c fsam/f(1)A=B=1 x(t)=cos(2pf1t)+cos(2pf2t)矩形窗1:条件:fsam=240HzN=20L=512矩形窗2:条件:fsam=600HzN=40L=512矩形窗3:fsam=1200HzN=80L=512Hamming窗1:N=40;L=512;fs=600;Hamming窗2:N=120;L=512;fs=600;(2)A=1,B=0.2x(t)=cos(2pf1t)+0.2cos(2pf2

3、t)矩形窗:N=100;L=512;fs=600;hamming窗:N=100;L=512;fs=600;【仿真结果】 (1)A=B=1 x(t)=cos(2pf1t)+cos(2pf2t)矩形窗:Hamming窗:(2)A=1,B=0.2x(t)=cos(2pf1t)+0.2cos(2pf2t)矩形窗:【结果分析】在(1)中进行矩形窗仿真时,我们选择了不同的fsam,分别为240,600,1200它们均满足抽样定理,但是我们仍旧发现,在240hz时出现了混叠现象。所以,在实际应用中抽样频率应大于最低抽样频率3-5倍才能有更好的结果。进行hamming窗仿真时,在保证抽样频率相同的条件下,取不

4、同的长度也40,120。其中,N=40不满足N=60的要求,我们可以看到出现了混叠,而N=120时,仿真效果良好。在(2)的条件下进行仿真时,我们选取了相同的N、L、fsam值,但是分别使用了矩形窗和hamming窗。使用矩形窗时,幅度较小的峰值与旁瓣的幅度接近,甚至难以区分,效果不理想。使用hamming窗后,泄露现象被有效遏制,所以可以清楚区分主瓣、旁瓣。 综上所述,在选择参数进行DFT变换时,应该保证抽样频率满足抽样定理,并且能大于最小抽样值3-5倍。长度选择保证N=c fsam/f。为防止泄露现象,特别是峰值之间差异较大时,应该选择加特殊的窗,如hamming窗。【自主学习内容】【阅读

5、文献】【发现问题】 (专题研讨或相关知识点学习中发现的问题): 按照理论分析最小抽样频率只需要满足2fmax就可以满足抽样定理,但在仿真中发现该频率无法满足要求,频谱发生严重的混叠。所以抽样频率应为最小抽样频率3-5倍。另外,在使用哈明窗作为窗函数时,按照理论分析,哈明窗长度满足N2fs/f,结合题中条件,当fs=600时N为60时恰好可以分出频谱,而实际中N=60时无法分出两个频率分量,当N=90时则可以分出。因此在做DFT是窗函数长度应大于最小长度。【问题探究】【仿真程序】(1)矩形窗1程序:N=20;L=512;f1=100;f2=120;fs=240;T=1/fs;ws=2*pi*fs

6、;t=(0:N-1)*T;x=cos(2*pi*f1*t)+cos(2*pi*f2*t);X=fft(x,L);w=(-ws/2+(0:L-1)*ws/L)/(2*pi);plot(w,abs(X);ylabel(矩形窗1)矩形窗2程序:N=40;L=512;f1=100;f2=120;fs=600;T=1/fs;ws=2*pi*fs;t=(0:N-1)*T;x=cos(2*pi*f1*t)+cos(2*pi*f2*t);X=fft(x,L);w=(-ws/2+(0:L-1)*ws/L)/(2*pi);plot(w,abs(X);ylabel(矩形窗2)hamming1:N=40;L=512;

7、f1=100;f2=120;fs=600;T=1/fs;ws=2*pi*fs;t=(0:N-1)*T;x=cos(2*pi*f1*t)+cos(2*pi*f2*t);wh=(hamming(N);x=x.*wh;X=fft(x,L);w=(-ws/2+(0:L-1)*ws/L)/(2*pi);plot(w,abs(X);ylabel(hamming1)hamming2N=120;L=512;f1=100;f2=120;fs=600;T=1/fs;ws=2*pi*fs;t=(0:N-1)*T;x=cos(2*pi*f1*t)+cos(2*pi*f2*t);wh=(hamming(N);x=x.*

8、wh;X=fft(x,L);w=(-ws/2+(0:L-1)*ws/L)/(2*pi);plot(w,abs(X);ylabel(hamming1)(2)矩形窗:N=100;L=512;f1=100;f2=120;fs=600;T=1/fs;ws=2*pi*fs;t=(0:N-1)*T;x=cos(2*pi*f1*t)+0.2*cos(2*pi*f2*t);X=fft(x,L);w=(-ws/2+(0:L-1)*ws/L)/(2*pi);plot(w,abs(X);ylabel(2)矩形窗)hamming窗:N=100;L=512;f1=100;f2=120;fs=600;T=1/fs;ws=

9、2*pi*fs;t=(0:N-1)*T;x=cos(2*pi*f1*t)+0.2*cos(2*pi*f2*t);wh=(hamming(N);x=x.*wh;X=fft(x,L);w=(-ws/2+(0:L-1)*ws/L)/(2*pi);plot(w,abs(X);ylabel(2)hamming)【研讨题目】 基本题 2已知一离散序列为 (1)用L=32点DFT计算该序列的频谱,求出频谱中谱峰的频率;(2)对序列进行补零,然后分别用L=64、128、256、512点DFT计算该序列的频谱,求出频谱中谱峰的频率;(3)讨论所获得的结果,给出你的结论。该结论对序列的频谱计算有何指导意义?【题目

10、分析】 对离散非周期序列做DFT时,所得结果相当于对序列做傅里叶变换,再在一个周期内进行频域抽样,而DFT的点数为频域抽样的点数【温磬提示】在计算离散非周期序列频谱时常用W/p作为横坐标,称W/p为归一化频率(normalized frequency)。在画频谱时需给出横坐标。每幅图下都需给出简要的文字说明。由于离散非周期序列频谱是周期的,所以在计算时不需要用fftshift 函数对fft计算的结果进行重新排列。【序列频谱计算的基本方法】在仿真软件中fft函数可以进行离散序列的DFT其调用形式为:fft(x,N)计算序列的N点DFT,若序列长度为M,当MN时则将原序列截短为N点序列再进行计算,

11、若NM则将序列补零后在做N点的DFT.【仿真结果】(1) L=32从图中可见,对长度为32点的序列xk进行32点的DFT,只可以获得其频谱函数X很少的细节(2)L=64 从图中可见,对长度为32点的序列xk进行64点的DFT,相比上图进行32点的DFT,其频谱函数获得了X很多的细节L=128从图中可见,对长度为32点的序列xk进行128点的DFT,相比上图进行64点的DFT,其频谱函数获得了X很多的细节L=256从图中可见,对长度为32点的序列xk进行256点的DFT,相比上图进行128点的DFT,其频谱函数获得了X很多的细节L=512从图中可见,对长度为32点的序列xk进行512点的DFT,

12、相比上图进行256点的DFT,其频谱函数获得了X很多的细节【结果分析】(1) 如图中可知,频峰频率为0.1Hz (2) 如各图中可知,频峰频率仍为0.1Hz (3) 通过对该序列不断的补零,我们从图中可以看出补零越多,则频谱间隔越减小,频谱函数越详细,细节越多,使信号频谱的显示分辨率越大。【自主学习内容】利用DFT分析连续非周期信号的频谱 栏栅现象【阅读文献】数字信号处理(第三版) 陈后金主编【发现问题】(专题研讨或相关知识点学习中发现的问题):对序列补零的作用【问题探究】对序列补零的作用可以减小频谱分析时的谱线间隔,所以鞥能够提高信号频谱的显示分辨率。 通过对序列补零只能提高信号频谱的显示分

13、辨率。如果连续信号在离散化或时域加窗过程中,由于混叠或泄露等过程已经造成信号频谱中信息的失真,则无论怎么补零也无法再恢复已损失的信息。【仿真程序】(1)L=32; k=0:31; x=sin(2*pi*k./10); X=fft(x); plot(k/32,abs(X); (2)L=0:63; k=0:31; x=sin(2*pi*k./10); X=fft(x,64); plot(L/64,abs(X); L=0:127; k=0:31; x=sin(2*pi*k./10); X=fft(x,128); plot(L/128,abs(X); L=0:255; k=0:31; x=sin(2*pi*k./10); X=fft(x,256); plot(L/256,abs(X); L=0:511; k=0:31; x=sin(2*pi*k./10); X=fft(x,512); plot(L/512,abs(X); 【研讨题目】 基本题 3已知一离散序列为 x k=AcosW0k+Bcos ( (W0

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

最新文档


当前位置:首页 > 办公文档 > 总结/报告

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