版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验名称:频谱峰值搜索实验目的:1、熟练掌握离散信号的DFT实现方法;2、熟练掌握Matlab实现DFT的方法,提高编程实践能力;3、增强自我学习能力,查阅文献搜索能力;4、掌握离散信号的时域与频域的对应关系。实验原理:1.离散复正弦信号的DFTNj2二nkX(kfi)=x(n)eN(1)n=02、Matlab主要函数一fft(signal,N);signal:输入信号,N:fft的点数函数的作用是对输入信号做N点的DFTfftshift(fft(signal,N);将零频点移到频谱的中间3谱峰搜索算法采用一维黄金分割精搜算法5取代分级搜索过程中的递归精搜。对于一维黄金分割精搜算法,若函数f(
2、x)有且仅有一个极大值位于区间(a,c)上,则有当a<b<c时,f(b)af(a)且f(b)af(c)。此时若在区间(b,c)上选取一点x,当f(b)Af(x)时,则f(b)Af(a)且f(b)>f(x),即极大值点将位于三元点组a<b<x对应的区间(a,x)上;否则,当f(b)<f(x)时,则f(x)Af(b)且f(x)>f(b)>f(c),即极大值点将位于三元点组b<x<c对应的区间(b,c)上。在这些三元点组中,其中间点对应的函数值都是每一轮求解过程中的最大值.这一过程下图所示,继续对三元点组所对应的区间进行划分,直到区间足够小
3、,小到以至于该区间上任何一点都可以表示函数的极大值点。下面是一维黄金分割搜索算法的基本原理。给定三元点组a<b<c,假设b是a,cN间的一个分割wo即bac-b-二w,=1wcac-a(2)再假设一个试探点X位于区间(b,c)之间,且有(3)通过选取试探点X后,可以将极大值点压缩到相对长度为0+2的区间(21)。或者是相对长度为1W的区间(b,c)上。考虑到搜索极大值的最坏情况,应该使得下式成立:w+z=1-wz=1-2w(4)可见试探点X应该选为点b关于区间(a,c)的对称点。同样应该保证X是(b,c)之间的一个分割w0x-bz二w二wc-b1-w(5)把式(4)代入到式(5)中
4、得到如下的二次方程2w-3w+1=0(6)解得其根为(考虑到0<w<1,舍弃另一根)3-、/5/、w=0.3819660(7)2所以对于给定的三元点组所对应的区间上,每次选取试探点都是位于较大的一段子区间上,并且距离原来中间点0.3189660的位置上。也就是说通过一次这样的试探点的选取可以使得极大值点将位于原区间0.6180340的更小的区间上。继续这样的计算,那么区间将变得越来越小,小到以至于该区间上任何一点都可以表示函数的极大值点。口a实验步骤:1、设置输入信号的参数以及DFT变换的点数根据要求,输入信号的模拟频率为f1=0.111111111,那么采样频率满足fs>2
5、f1即可,为方便观察频率最大值位置,取fs=2Hz。给定DFT点数为1024点,而为了使的被观察的频谱峰值在频谱图的中央,将抽样时间取在NN1t=,一fsfsfs的区间,采样间隔为Ts=1/fs。其中N=512,满足采样点数为512M2=1024点。这样得到输入信号的表达式为signal=ej2;rf1nTs(8)2、对信号进行DFT,并画出频谱图。(1)在MATLAB中应用fft(signal,N)对信号signal做N点的FFT;(2)分别应用函数fftshift、abs又tDFT结果调整和取绝对值;(3)设置横坐标。根据fs和N的对应关系,得到很坐标的取值范围是-1,1o在MATLAB中
6、设置为f=(1:2*N)-N)*(fs/(2*N);3、运用一维黄金分割方法找出频谱峰值。根据频谱的峰值范围,以及分割法的原理,设置个参数为:a=0.5,c=0.5,w=0.318966。创建计算相应频率点的幅值计算函数。根据DFT的计算定义,f、处的频谱值为N1j-nkN1j"n"nN"lxx(fx)=£x(nTs)eN=£x(nTs)es(9)nz0n-0根据计算精度,将MATLAB计算精度设置为formatlong。并设计计算迭代次数的变量iterations。通过判别b点和x点的幅值大小来更新参数,参数更新如下、x(b)<x(f)
7、则:bTa,xTb,cTc(10)x(b)x(x)则:aTa,bTb,xTc实验结果:1、运行程序(程序见附录),得到频谱图如图1所示输入信号的DFT70SO5040302G10Q-10X;0.1133¥60.03-08-06-0.4-02a020406ftSfHz图1复正弦信号的频谱由于图上显示精度的原因,直接找到的最大值不是我们所需要的最大值,通过峰值搜索函数得到最大值。2、得到搜索结果为:fmax=0.111111111474039iterations=53。实验结果分析:1、由于DFT的点数1024比较多,而频谱范围较小,所以离散的频谱在图上显得像连续谱一样。2、因为输入信号
8、的模拟频率的值为i=0.111111111,所以图上离散的点上没有显示最大值点。3、从搜索的结果看出,最大值在满足精度要求的情况下是正确的,说明一维黄金搜索方法在本实验中是可行的。4、在a,c取值距离最大值较远的情况下经过53次循环迭代可以得到最大值。说明该算法收敛比较快。附录:clearall;clc;formatlongN=512;设置采样点数为2N=1024fs=2;%设置采样频率为2Hzt=-N/fs:1/fs:N/fs-1/fs;%采样时间序列f1=0.111111111;输入信号的频率signal=exp(i*2*pi*f1*t);输入信号的采样序列signalDtf=abs(ff
9、tshift(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.3189660;%初始化幅值ampX=2;ampB=0;a=-0.5;c=0.5;w=0.3189660;z=1-2*w;iterations=0;%初始化迭代次数
10、whileabs(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=ampB>ampX;%比较b,x点的幅值大小ifcompairBX=1;a=a;b=b;c=x;elsecompairBX=0;a=b;b=x;c=c;endendamplitudeMax=xiterationsfunctionampx=Amplitude(x)%频率幅值对应幅值计算函数%计算任意频率对应点的幅度值%变量x为模拟平频率
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建设银行短期借款合同
- 面包生产材料供应采购合同协议
- 铁路乘务员安全运行保证
- 煤炭中介买卖合同
- 农产品订购合同格式
- 官方代理服务合同范本
- 供水合同协议书样本
- 项目管理的招标文件要求
- 白皮面料订购事宜
- 石材进口采购合同
- 糖尿病健康知识宣教课件
- 教科版六年级英语上册(广州版)课件【全册】
- 大学生健康教育大学生性教育教学课件
- 医学-心脏骤停急救培训-心脏骤停急救教学课件
- 企业员工预防职务犯罪讲座课件
- 初中数学北师大版七年级上册课件5-4 应用一元一次方程-打折销售
- 圆柱的截交线公开课一等奖市优质课赛课获奖课件
- X-R控制图模板完整版
- Unit 7 《Chinese festivals》教学设计-优秀教案
- #110kV变电站一次验收规范#
- 2023年江苏省镇江市九年级上学期数学期中考试试卷含答案
评论
0/150
提交评论