频谱峰值搜索

频谱峰值搜索

ID:38066062

大小:241.00 KB

页数:6页

时间:2019-05-25

频谱峰值搜索_第1页
频谱峰值搜索_第2页
频谱峰值搜索_第3页
频谱峰值搜索_第4页
频谱峰值搜索_第5页
资源描述:

《频谱峰值搜索》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验名称:频谱峰值搜索实验目的:1、熟练掌握离散信号的DFT实现方法;2、熟练掌握Matlab实现DFT的方法,提高编程实践能力;3、增强自我学习能力,查阅文献搜索能力;4、掌握离散信号的时域与频域的对应关系。实验原理:1.离散复正弦信号的DFT(1)2、Matlab主要函数fft(signal,N);signal:输入信号,N:fft的点数函数的作用是对输入信号做N点的DFTfftshift(fft(signal,N));将零频点移到频谱的中间3谱峰搜索算法采用一维黄金分割精搜算法[5]取代分级搜索过程中的递归精搜。对于一维黄金分割精搜算法,若函数有且仅有一个

2、极大值位于区间上,则有当时,且。此时若在区间上选取一点,当时,则且,即极大值点将位于三元点组对应的区间上;否则,当时,则且,即极大值点将位于三元点组对应的区间上。在这些三元点组中,其中间点对应的函数值都是每一轮求解过程中的最大值.这一过程下图所示,继续对三元点组所对应的区间进行划分,直到区间足够小,小到以至于该区间上任何一点都可以表示函数的极大值点。下面是一维黄金分割搜索算法的基本原理。给定三元点组,假设是,之间的一个分割。即(2)再假设一个试探点位于区间之间,且有(3)通过选取试探点后,可以将极大值点压缩到相对长度为的区间。或者是相对长度为的区间上。考虑到搜索

3、极大值的最坏情况,应该使得下式成立:(4)可见试探点应该选为点关于区间的对称点。同样应该保证是之间的一个分割。(5)把式(4)代入到式(5)中得到如下的二次方程(6)解得其根为(考虑到,舍弃另一根)(7)所以对于给定的三元点组所对应的区间上,每次选取试探点都是位于较大的一段子区间上,并且距离原来中间点0.3189660的位置上。也就是说通过一次这样的试探点的选取可以使得极大值点将位于原区间0.6180340的更小的区间上。继续这样的计算,那么区间将变得越来越小,小到以至于该区间上任何一点都可以表示函数的极大值点。实验步骤:1、设置输入信号的参数以及DFT变换的点

4、数根据要求,输入信号的模拟频率为,那么采样频率满足即可,为方便观察频率最大值位置,取=2Hz。给定DFT点数为1024点,而为了使的被观察的频谱峰值在频谱图的中央,将抽样时间取在的区间,采样间隔为。其中N=512,满足采样点数为点。这样得到输入信号的表达式为(8)2、对信号进行DFT,并画出频谱图。(1)在MATLAB中应用fft(signal,N)对信号signal做N点的FFT;(2)分别应用函数fftshift、abs对DFT结果调整和取绝对值;(3)设置横坐标。根据和的对应关系,得到很坐标的取值范围是[-1,1]。在MATLAB中设置为f=((1:2*N

5、)-N)*(fs/(2*N));3、运用一维黄金分割方法找出频谱峰值。根据频谱的峰值范围,以及分割法的原理,设置个参数为:,,。创建计算相应频率点的幅值计算函数。根据DFT的计算定义,处的频谱值为(9)根据计算精度,将MATLAB计算精度设置为formatlong。并设计计算迭代次数的变量iterations。通过判别b点和x点的幅值大小来更新参数,参数更新如下(10)实验结果:1、运行程序(程序见附录),得到频谱图如图1所示图1复正弦信号的频谱由于图上显示精度的原因,直接找到的最大值不是我们所需要的最大值,通过峰值搜索函数得到最大值。2、得到搜索结果为:ite

6、rations=53。实验结果分析:1、由于DFT的点数1024比较多,而频谱范围较小,所以离散的频谱在图上显得像连续谱一样。2、因为输入信号的模拟频率的值为=0.111111111,所以图上离散的点上没有显示最大值点。3、从搜索的结果看出,最大值在满足精度要求的情况下是正确的,说明一维黄金搜索方法在本实验中是可行的。4、在取值距离最大值较远的情况下经过53次循环迭代可以得到最大值。说明该算法收敛比较快。附录:clearall;clc;formatlongN=512;设置采样点数为2N=1024fs=2;%设置采样频率为2Hzt=-N/fs:1/fs:N/fs-

7、1/fs;%采样时间序列f1=0.111111111;输入信号的频率signal=exp(i*2*pi*f1*t);输入信号的采样序列signalDtf=abs(fftshift(fft(signal)));%对信号进行DFT%画出波形f=((1:2*N)-N)*(fs/(2*N));设置横坐标plot(f,20*log10(signalDtf));holdon;gridxlabel('fHz');ylabel('20log10(幅度)');title('输入信号的DFT');%采用一维黄金分割精度算法%结合算法的特点选择a=-0.2,c=-0.2,w=0.31

8、89660;%初始化幅值

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。