1、正余弦信号的谱分析课程设计正余弦信号的谱分析课程设计摘要数字信号处理方法的一个重要用途是在离散时间域中确定一个连续时间信号的频谱,通常称为频谱分析,更具体的说它也包括能量谱或功率谱,所谓信号的谱分析就是计算信号的傅里叶变换,而DFT的实质是有限长序列傅里叶变换的有限点离散采样,从而实现了频域离散化,使数字信号处理可以在频域采样数值运算的方法进行,这样就大大提高了数字信号处理的灵活性,从而使信号的实时处理和设备的简化得以实现。利用Matlab软件对正余弦信号进行设计程序分析并画出频谱图,所以说DFT不仅在理论上有重要意义,而且在各种信号的处理中亦起着核心的作用,数字频谱分析可以应用在很广的领域。
2、关键字:Matlab 频谱分析DFT二 用DFT对连续信号进行谱分析 工程实际中,经常遇到连续信号(t),其频谱函数也是连续信号。为了利用DFT对(t)进行频谱分析,先对(t)进行时域采样,得到x(n)=,在对x(n)进行DFT,得到的X(k)则是x(n)的傅里叶变换X()在频域区间0,2上的N点等间隔采样。这里x(n)和X(k)均为有限长序列。实际上对频谱很宽的信号,为防止时域采样后产生频谱混叠失真,可用预滤波器滤除幅度较小的高频成分,是连续信号的带宽小于折叠频率。对于持续时间很长的信号,采样点数太多,以致无法存储和计算,只好截取有限点进行DFT。即x(n)(n)W(n)。最后进行频域采样,
3、将进行DFT得到=DFT,将作为对(t)的谱分析结果。由此可知,用DFT对连续信号进行谱分析必然是近似的,其近似度与信号带宽采样频率和截取长度有关。三用DFT进行谱分析的误差问题 DFT可以用来对连续信号和数字信号进行谱分析,但在实际分析过程中,要对连续信号采样和截断,有时非时限数据序列也要截断,因此可能引起分析的误差。1.混叠现象 对连续信号进行谱分析时,首先要对其采样,变成时域离散信号后才能用DFT进行谱分析。采样速率必须满足采样定理,否则会在w=附近发生频谱混叠现象。这是用DFT分析结果必然在附近产生较大误差。因此,理论上必须满足。对确定的情况,一般在采样前进行预滤波,滤除高于折叠频率的
4、频率成分,以免发生频谱混叠现象。2.栅栏效应 N点DFT是在频率区间0, 2上对时域离散信号的频谱进行N点等间隔采样,而采样点之间的频谱是看不到的。这就好像从N个栅栏缝隙中观看信号的频谱情况,仅得到N个缝隙中看到的频谱函数值,这就是栅栏效应。由于栅栏效应可能漏掉大的频谱分量。故对于有限长序列,可以在原序列尾部补零;对于无限长序列,可以增大截取长度及DFT变换区间长度,从而使频域采样间隔变小,增大频域采样点数和采样点位置,使原来漏掉的某些频谱分量被检测出来。3.截断效应实际中遇到的序列x(n)可能是无限长的,用DFT对其进行谱分析师必须将其截断,形成有限长序列y(n)=x(n)w(n),长度为N
5、。 w(n)=,称为矩形窗函数。截断后对谱分析的影响主要表现在以下两点:(1).泄露:原来序列x(n)的频谱是离散谱线,经截断后,是原来的离散谱线向附近展宽,通常称这种展宽为泄露。泄露可以是频谱变模糊,使谱分辨率降低。(2).普间干扰:在主谱线两边形成很多旁瓣,引起不同频率分量间的干扰,特别是强信号谱的旁瓣可能湮没弱信号的主谱线,或者把强信号谱的旁瓣误认为是另一频率的信号的谱线,从而造成假信号,这样就会使谱分析产生较大偏差。 截断效应就是有以上两种影响对信号截断引起的。四设计实现1. 设计内容(1)对一个频率为10Hz,采样频率为64Hz的32点余弦序列进行谱分析,画出其频谱图;若将频率改为1
6、1Hz,其他参数不变,重新画出该序列的频谱图,观察频谱泄漏现象,分析原因;(2)考察DFT的长度对双频率信号频谱分析的影响。设待分析的信号为 令两个长度为16的正余弦序列的数字频率为及。取N为四个不同值16,32,64,128。画出四个DFT幅频图,分析DFT长度对频谱分辨率的影响。(3)在上题中若把两个正弦波的频率取得较近,令 , ,试问怎样选择FFT参数才能在频谱分析中分辨出这两个分量?2.用Matlab软件实现(1)当频率为10Hz时 F=input(输入信号频率); t=0:0.001:0.2; x1=cos(2*pi*F*t); subplot(3,1,1); plot(t,x1);
7、title(x1连续余弦信号); n=0:31;x2=cos(2*pi*F*n*1/64);subplot(3,1,2),stem(n,x2); xlabel(n),ylabel(x1(n); title(x2采样后的余弦信号); k=0:31;X=abs(fft(x2,32); subplot(3,1,3); stem(k,X);xlabel(k),ylabel(X(k);string=num2str(32),点FFT幅频曲线; title(strin);当频率为11Hz时F=input(输入信号频率); t=0:0.001:0.2; x1=cos(2*pi*F*t); subplot(3,
8、1,1); plot(t,x1);title(x1连续余弦信号); n=0:31;x2=cos(2*pi*F*n*1/64);subplot(3,1,2),stem(n,x2); xlabel(n),ylabel(x1(n); title(x2采样后的余弦信号); k=0:31;X=abs(fft(x2,32); subplot(3,1,3); stem(k,X);xlabel(k),ylabel(X(k);string=num2str(32),点FFT幅频曲线; title(strin) (2) 当两个长度为16的正余弦序列的数字频率为及时N1=16;N2=32;N3=64;N4=128;
9、n=1:N-1; figure(1)f1=0.22,f2=0.34;x=0.5*sin(2*pi*f1*n)+sin(2*pi*f2*n); subplot(4,2,1),stem(n,x); xlabel(n),ylabel(x1(n); title(余弦系列); X=abs(fft(x,N1); subplot(4,2,2); k=0:N1-1; stem(k,X);xlabel(k),ylabel(X(k);string=num2str(N1),点DFT幅频曲线; title(string);X1=abs(fft(x,N1); subplot(4,2,3),stem(n,x); xlab
10、el(n),ylabel(x2(n); title(余弦系列); X=abs(fft(x,N2); subplot(4,2,4); k=0:N2-1; stem(k,X);xlabel(k),ylabel(X(k);string=num2str(N2), 点DFT幅频曲线; title(string);X2=abs(fft(x,N2);subplot(4,2,5),stem(n,x); xlabel(n),ylabel(x3(n); title(余弦系列 ); X=abs(fft(x,N2); subplot(4,2,6); k=0:N2-1; stem(k,X);xlabel(k),ylab
11、el(X(k);string=num2str(N3), 点DFT幅频曲线; title(string);X3=abs(fft(x,N3);subplot(4,2,7),stem(n,x); xlabel(n),ylabel(x4(n); title(余弦系列); X=abs(fft(x,N2); subplot(4,2,8); k=0:N2-1; stem(k,X);xlabel(k),ylabel(X(k);string=num2str(N4), 点DFT幅频曲线; title(string);X4=abs(fft(x,N4);(3)当两个长度为16的正余弦序列的数字频率为及时N1=16;N
12、2=32;N3=64;N4=128; n=1:N-1; figure(1)f1=0.22,f2=0.25;x=0.5*sin(2*pi*f1*n)+sin(2*pi*f2*n); subplot(4,2,1),stem(n,x); xlabel(n),ylabel(x1(n); title(余弦系列); X=abs(fft(x,N1); subplot(4,2,2); k=0:N1-1; stem(k,X);xlabel(k),ylabel(X(k);string=num2str(N1), 点DFT幅频曲线; title(string);X1=abs(fft(x,N1); subplot(4,
13、2,3),stem(n,x); xlabel(n),ylabel(x2(n); title(余弦系列); X=abs(fft(x,N2); subplot(4,2,4); k=0:N2-1; stem(k,X);xlabel(k),ylabel(X(k);string=num2str(N2), 点DFT幅频曲线; title(string);X2=abs(fft(x,N2);subplot(4,2,5),stem(n,x); xlabel(n),ylabel(x3(n); title(余弦系列); X=abs(fft(x,N2); subplot(4,2,6); k=0:N2-1; stem(
14、k,X);xlabel(k),ylabel(X(k);string=num2str(N3), 点DFT幅频曲线; title(string);X3=abs(fft(x,N3);subplot(4,2,7),stem(n,x); xlabel(n),ylabel(x4(n); title(余弦系列 ); X=abs(fft(x,N2); subplot(4,2,8); k=0:N2-1; stem(k,X);xlabel(k),ylabel(X(k);string=num2str(N4), 点DFT幅频曲线; title(string);X4=abs(fft(x,N4);五结果分析(1)当频率为
15、10Hz时,它的DFT只有两个不等于零,这样DFT确实正确的分辨了余弦信号的频率。但这样理想的结果只是恰好得到的。当把频率改成11Hz时,其他的都不变,用同样的程序计算此预先信号的频谱,可以得到频谱上有两个较大的峰值,其他点上的幅度也不再为零。由此可知,信号的频谱峰值确实位于两者之间,本来是单一的11Hz频率的能量会分布到许多DFT频率上的现象称为频率泄露。(2)当两个长度为16的正余弦序列的数字频率为及时可知:当频率不变时,要提高频谱分辨率可以增加采样点数N;如果保持采样点数N不变时,要提高频率分辨率,就必须降低采样频率。而且随着采样点数N的增大,频谱分辨率可提高。(3)当两个长度为16的正
16、余弦序列的数字频率为及时由图可知:当采样点数N为32时最接近33,此时分辨率最好。因而,要增大频谱分辨率不仅与其窗函数的宽度N有关还与两频率差有关,随着N的增大,其频谱的分辨率增大,但当N增大到一定程度时它的频谱分辨率反而下降。六结束语 通过此次课程设计我在老师的热心帮助下完成了正余弦信号的谱分析实验。使我对数字信号处理这门课的理解得到了进一步的加深。在以往学习中,我学到的都是一些理论知识对Matlab软件的具体使用知识会一些表面上的没有很具体的掌握,在课程设计的过程中出现了很对问题,但经过一次一次的思考和检查以及与小组的讨论终于找出来问题的所在,也暴露出了我的知识欠缺和经验不足,由此可以知道
17、只有将理论与实践结合才可以做出自己预想的结果。在这过程中,我不止一次遇到了难以突破的瓶颈,很多次在我想要糊弄过去的时候,都是通过合作让我完整的完成了这个过程。我又再一次的充满了高涨的热情,通过网上查找资料,与同学探讨,最终完成了课程设计。总体来说这次的课程设计很成功,达到了预想的目的:学到了知识,提高了能力,完成了任务。有点缺憾是时间有限,不能进一步深入和扩散学习和研究。希望有时间可以对程序作更进一步的改进,也让我懂得了在今后的发展和学习实践中,一定要不懈努力,不厌其烦的发现问题的所在,只有这样,才能成功的做成想做的事。七 致谢两周的实训结束了,感慨很多。在两周里首先感谢杨老师老师给我们很多扎
18、实的基本知识。感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因;其次,感谢学校工程坊的实验室给我们良好的理论与实践知识,其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计中的难题。同时也感谢学院为我提供良好的做毕业设计的环境。八 参考文献(1)邹其洪.MATLAB教程.电子工业出版社,2005(2)高西全 丁玉美.数字信号处理.西安电子科技大学出版社,2001(3)程佩青.数字信号处理.清华大学出版社,2008(4)陈怀琛.MATLAB应用与提高.西安电子科技大学出版社,2000(5)徐以逃.数字信号处理.西安电子科技大学出版社,2002
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1