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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(频谱峰值搜索.doc)为本站会员(gnk289057)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

频谱峰值搜索.doc

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

2、分割精搜算法, 若函数 有且仅有一个极大值位于区间 上, 则有当()fx()ac时, 且 。此时若在区间 上选取一点 , 当abc()fabfc,bx时 , 则 且 , 即极大值点将位于三元点组()fx()f()x对应的区间 上; 否则, 当 时, 则 且,x()f()fb, 即极大值点将位于三元点组 对应的区间 上。()()fbfcbc,c在这些三元点组中, 其中间点对应的函数值都是每一轮求解过程中的最大值.这一过程下图所示, 继续对三元点组所对应的区间进行划分 , 直到区间足够小, 小到以至于该区间上任何一点都可以表示函数的极大值点。下面是一维黄金分割搜索算法的基本原理。给定三元点组 ,

3、假设 是 , 之间的一个分割 。即abcacw(2)1bw再假设一个试探点 位于区间 之间, 且有x()bc(3) xzca通过选取试探点 后, 可以将极大值点压缩到相对长度为 的区间 。或x wz(,)ax者是相对长度为 的区间 上。考虑到搜索极大值的最坏情况,应该使得1w()b下式成立:(4)1 z=-2zw可见试探点 应该选为点 关于区间 的对称点。同样应该保证 是xb(,)acx之间的一个分割 。(,)bcw(5)1xzcbw把式( 4) 代入到式 (5) 中得到如下的二次方程(6)230解得其根为( 考虑到 , 舍弃另一根)01w(7)5.81962所以对于给定的三元点组所对应的区间

4、上, 每次选取试探点都是位于较大的一段子区间上, 并且距离原来中间点0.3189660 的位置上。也就是说通过一次这样的试探点的选取可以使得极大值点将位于原区间0.6180340 的更小的区间上。继续这样的计算, 那么区间将变得越来越小, 小到以至于该区间上任何一点都可以表示函数的极大值点。实验步骤:1、设置输入信号的参数以及 DFT 变换的点数根据要求,输入信号的模拟频率为 ,那么采样频率满足10.1f即可,为方便观察频率最大值位置,取 =2Hz。给定 DFT 点数为 102412sf s点,而为了使的被观察的频谱峰值在频谱图的中央,将抽样时间取在 1,ssNtff的区间,采样间隔为 。其中

5、 N=512,满足采样点数为 点。1/ssTf 51204这样得到输入信号的表达式为(8)12sjfnTigale2、对信号进行 DFT,并画出频谱图。(1)在 MATLAB 中应用 fft(signal,N)对信号 signal 做 N 点的 FFT;(2)分别应用函数 fftshift、abs 对 DFT 结果调整和取绝对值;(3)设置横坐标。根据 和 的对应关系,得到很坐标的取值范围是-sf1,1。在 MATLAB中设置为f=(1:2*N)-N)*(fs/(2*N);3、运用一维黄金分割方法找出频谱峰值。根据频谱的峰值范围,以及分割法的原理,设置个参数为: ,0.5a, 。创建计算相应频

6、率点的幅值计算函数。根据 DFT 的计0.5c.31896w算定义, 处的频谱值为xf(9)221100()()()xsfNNjnNjnkxssnfTexTe根据计算精度,将MATLAB计算精度设置为format long 。并设计计算迭代次数的变量iterations。通过判别 b点和x点的幅值大小来更新参数,参数更新如下(10)() ,abxcf则 :则 :实验结果:1、运行程序(程序见附录) ,得到频谱图如图 1 所示图 1 复正弦信号的频谱由于图上显示精度的原因,直接找到的最大值不是我们所需要的最大值,通过峰值搜索函数得到最大值。2、得到搜索结果为:iterations = 53。ma

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

8、/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);hold on;gridxlabel(f Hz);ylabel(20log10(幅度);title(输入信号的DFT);%采用一维黄金分割精度算法%结合算法的特点选择a=-0.2,c=-0.2,w=0.3189660;%初始化幅值ampX=2;ampB=0;

9、a=-0.5;c=0.5;w=0.3189660;z=1-2*w;iterations=0;%初始化迭代次数while abs(ampX-ampB)1.0000e-0011;%设置收敛目标%定义算法参数 b=w*(c-a)+a;x=z*(c-a)+b;iterations=iterations+1;迭代次数更新%通过DFT 定义计算a,b,c ,x 点的幅值ampB=Amplitude(b);ampA=Amplitude(a);ampC=Amplitude(c);ampX=Amplitude(x);compairBX=ampBampX;%比较b,x 点的幅值大小if compairBX=1;a=a;b=b;c=x;else compairBX=0;a=b;b=x;c=c;endendamplitudeMax=xiterationsfunction ampx=Amplitude(x)%频率幅值对应幅值计算函数%计算任意频率对应点的幅度值%变量x为模拟平频率%以fs=1 的采样频率对其进行采样% x 频率值format long N=1024;fs=1;n=0:N-1;f1=0.111111111;signal=exp(j*2*pi*f1*n);wight=exp(j*2*pi/N)*n*x*N/fs);ampx=20*log10(abs(signal*wight);end

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报