欢迎来到天天文库
浏览记录
ID:57270231
大小:183.00 KB
页数:35页
时间:2020-08-08
《pratt手册中的脚本程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、(一)提取二维频谱中某个频率位置的能量值#点击主窗口的Control菜单下的Newpraatscript按钮,以建立一个新的脚本语言编辑窗口,然后将脚本语言拷贝到脚本语言编辑窗口中;#然后在对象列表窗口选定并编辑(Edit)一个二维频谱对象(Spectrum),再在二维频谱对象上将游标定位到您需要测量其能量的频率位置;#然后按脚本编辑器的Run菜单下的Run按钮;#执行结束后,您将在弹出的信息窗口中看见该频率位置的能量值。clearinfospectrumN$=selected$("Spectrum")editorSpectrum'spectrumN$'pitchV=Ge
2、tcursorendeditorbinNum=GetnumberofbinsbinW=GetbinwidthbinN=Getbinnumberfromfrequency...'pitchV'binNQ=floor(binN)binNH=ceiling(binN)pitchQ=Getfrequencyfrombinnumber...'binNQ'pitchH=Getfrequencyfrombinnumber...'binNH'ifpitchH-pitchQ>0rV=Getrealvalueinbin...'binNQ'rV=rViV=Getimaginaryvaluein
3、bin...'binNQ'iV=iVshengYaQ=(rV*rV+iV*iV)^0.5dBQ=20*log10(shengYaQ/2*10^5)+15rV=Getrealvalueinbin...'binNH'rV=rViV=Getimaginaryvalueinbin...'binNH'iV=iVshengYaH=(rV*rV+iV*iV)^0.5dBH=20*log10(shengYaH/2*10^5)+15juli=(pitchV-pitchQ)/(pitchH-pitchQ)dB=dBQ+(dBH-dBQ)*juliendififpitchH-pitchQ=0r
4、V=Getrealvalueinbin...'binN'rV=rViV=Getimaginaryvalueinbin...'binN'iV=iVshengYa=(rV*rV+iV*iV)^0.5dB=20*log10(shengYa/2*10^5)+15endifprint'dB'(二)提取二维频谱中前n个谐波峰的能量值#点击主窗口的Control菜单下的Newpraatscript按钮,以建立一个新的脚本语言编辑窗口,然后将脚本语言拷贝到脚本语言编辑窗口中;#然后在对象列表窗口选定并编辑(Edit)一个二维频谱对象(Spectrum),并测量其第10个谐波的中心频率,再
5、除以10以得到这个时点的基频值;#然后按脚本编辑器的Run菜单下的Run按钮,接下来在弹出的对话窗口里输入您刚才测定的基频值和需要测量的谐波峰数目n;#执行结束后,您将在弹出的信息窗口中看见n个谐波峰位置的能量值。form对话框positiveFrequency_Zero_(Hz)100positiveThe_Number_of_harmonics10endformfZero=frequency_ZerofNum=the_Number_of_harmonicsprint'fNum'clearinfoforjfrom1tofNumpitchV=fZero*jbinNum=G
6、etnumberofbinsbinW=GetbinwidthbinN=Getbinnumberfromfrequency...'pitchV'binNQ=floor(binN)binNH=ceiling(binN)pitchQ=Getfrequencyfrombinnumber...'binNQ'pitchH=Getfrequencyfrombinnumber...'binNH'ifpitchH-pitchQ>0rV=Getrealvalueinbin...'binNQ'rV=rViV=Getimaginaryvalueinbin...'binNQ'iV=iVshengY
7、aQ=(rV*rV+iV*iV)^0.5dBQ=20*log10(shengYaQ/2*10^5)+15rV=Getrealvalueinbin...'binNH'rV=rViV=Getimaginaryvalueinbin...'binNH'iV=iVshengYaH=(rV*rV+iV*iV)^0.5dBH=20*log10(shengYaH/2*10^5)+15juli=(pitchV-pitchQ)/(pitchH-pitchQ)dB=dBQ+(dBH-dBQ)*juliendififpitchH-pitchQ=0rV
此文档下载收益归作者所有