小草手把手教你LabVIEW仪器控制
小草手把手教你LabVIEW仪器控制LabVIEW 串口通信 的讲解 很详细小草手把手教你 Labview串凵仪器控制,开篇词(1),关于LabⅤEW我大概接触 LabView才两年,这两年,也只是一个业余爱好,也写过很多代码。以数据采集跟仪器控制居多,虽然没做过太大的项日,不过平时在QQ群里或者GSD论坛跟ihome论坛看过别人的问题,都会自己思考一遍,然后看解答或者给别人解答。本科时候大四学过LabⅤEW的倮程,结果那时侯,却忙着考研,没怎么听课,然后有上机考试,老师总会说,要自己动于做一做,不然自己肯定不会做的。然后自己也不太懂,只管考研。后来期末考试,还是不会做。成绩只是及格硏一时候,由于教学需要,自己买了本《我和 LabvIew》,NI公司的人都很推荐这本书,也是他们公司的大牛写的。然后我自己看了下,然后又去图书馆借了很多书,结果都大同小异。《我和 Labview》确实很好,很多经验之谈,自凵都经常翻一番,而且自u也经常会写写笔记,或者看看 LabvIew自带的范例。两年过去了。LabⅤlW的应用,如果专业知识要求不是特别晑,我都会业余去了解,最常见的就是数据釆集,还有串口通讯,还有图像处理,还有数学运算等等,还有 GSDzone, net上面的代码库的很多小程序两年内,看到Q群里,问的最多的就是串口通信问题。原因是很多做嵌入式单片机之类的,学校毕业设计需要,或者自己项目需要,人概都是山于有需要才学这个语言。现在网上的教程很多,但是很多人,还是有各种各样的问题所以,QQ群里经常有人重复的问VSA串口通信的问题,几乎每天都有,而且特别是毕业设计或者期末课程设计的时候。而且这个时候,网上的代做毕业设计的,貌似也很火我比较反感那些只为了完成某种任务(毕业设计或者课程设计)而到论坛或者加很多Q群来求资源的。我没有给人代做过毕业设计,只是从开始到现在,帮助过很多完成课程设计或者毕业设计。我觉得,生活中很多东西,你都应该端正自己的态度和培养自己的思维。而不是只为求个功利性的结果。要做一个自己有自己独立思考和学习能力的人。一个人的能力是慢慢的学习出来的。所以,很多吋候,Q群里很多人的问题根本不是编程问题,而是自己思维的问题由于使用串凵通信的人很多,网上看了看,虽然资料很多,但是很杂,也没谈到什么经验问题。所以,自凵建议Q样群主木风创办了《那些年,我们一起 Labview》这个论坛,为了帮大家总结常见的问题,避免不停地重复地把某个问题问着。比如今天有人在群里问某个问题,给解答了,第二天,又有人问同样的问题。如果在论坛回复,可以自己搜搜以往回答。关于 Labview的论坛网上很多,主要推荐N官网 GSDzone. net跟 ihome。自己如果对LabⅤEW很感兴趣,并且想多学习,可以经常到上面去看看,里面还有很多资源,可以自己搜搜旦然论坛很多,但是,回帖的效很低,或者没人去好好整理,所以,我们创办了自己的论坛有兴趣可以访问我们的论坛:htp:/www.mufenglv.com或者百度“那些年,我们一起 Labview”。也欢迎大家到上面提问交流、那些年,我们一起LabⅤIEW,无论那些年过去多久,记得自己曾经用过LabⅤIEW,记得我们的论坛。那些年,为你自己 LabviewLIEWsaRMergunethttp://www.mufengly.comEmail:happyarrow@qq.com小草手把手教你 Labview串凵仪器控制(2),关于仪器控制很多人到群里或者论坛问LabⅤIEW编写串口程序的问题。为什么这么多人用 Labview编写串口呢?因为它方便。编写上位机,只需要几个步骤,就完成了。LabvIew在仪器控制方面,还是很有优势的,把你仪器给你,读懂指令,然后估计半小时就可以编写好一个完整的仪器控制系统。从仪器配置到薮据发送,数据接收,到数据生成报表。如果使用其他语言,例如VB.VC之类的,写过仪器控制的同学来说,这个问题,写个界面,就要写半天,还得什么进制转换啊,各种操作,麻烦多了。但是,如果你采用LabⅤEW,这些问题,都是小儿科了。所以,你想做仪器控制,选择 Labview吧,这样,你将节省很多很多时间。到现在为止,我写过好多个仪器控制的,比如 keithley20002400万用表, Ruska7250压力计等等,还有很多利用 MODBUS总线通讯的仪器常见的仪器通讯协议人概就SCPI, MODBUS等等,当然还有自定义的,搞过单片机和上位机的,应该都比较熟悉,可以自己定义协议,然后发命令给单片机,单片机回送数据。归结起来,都是使用的VSA,使用 Labview的VSA驱动来编程还是很方便的。对VISA不明白的同学,可以百度下VSA,它是一种虚拟架构,让你不用关心底层,直接调用就好,而且不用管接∏是什么类型的,它通吃。比如,你是232接∏,用VSA吧,485接口,用ⅥSA吧,是GPIB接口(GPIB实际上不属于串口,所以,本篇不讲GPIB方面的内容,但是使用方式也是VSA,不过自己要安装好GPB卡跟它的驱动)?一样的用VSA吧用过VB、VC的,可能用 WINAPI习惯了。用 MSComm控件啊,用其他的DLL什么的,当然也可以,那样,可以在生成 SETUP文件时候,少打包进VSA,这个看自己需求了。其实既然有VISA,而且也方便使用,我建议大家还是使用ⅤISA吧。LabⅤIEW的推岀,本来就是为了让编程简单化,模块化,你如果用其他的DLL之类的,要涉及到底层的些知识,要配置很多参数什么什么的(3)一些建议本文章,旦然是手把手教你串∏仪器控制,但是由于本人能力有限,并不能面面俱到而且篇幅也有限。由于自己临近毕业,所以很多精力也有限建议读本篇文章时候,读者需要自己对 Labview有一定的了解跟认识,会基本的程序结构。一般建议看LabⅤlW相关的书籍的前儿章。看基础部分就差不多了。我所说的前几章,一般指数据类型,基本程序结构,错误调试。这几个自己一定要弄清楚。这个是最基本的对于串口通信来说,最麻烦的就是数据转换,最常见的,就是16进制转10进制,浮点数转16进制,10进制转16进制。还有正常显示的16进制到IEX显示的字符串转换的。所以,自己好好看数据类型对于仪器,看说明书:物理连接方式(232或485)、通信指令(协议)必须有。本篇文章,可能话语比较啰嗦,由于自己非专业写手,只能用自己方式米描述问题不过建议如果对串口不太了解的人,还是从头看起,因为篇幅不长谢谢大家的阅读本帖网址:htt:/www.mufenglv.net/forum.php?mod=viewthread&tid-17&exta=page%3D1IEWwkaMeMgis.nethttp:/www.mufenglv.comEmail:happyarrow@qq.com小草手把手教你 Labview串凵仪器控制二,VSA驱动下载安装篇:上一篇,我已经讲了。仪器控制,核心在于VSA函数.。有些仪器可能不需要ISA,有自凵的DLL什么的,我就管不着正常情况下,大家安装的LabⅤIEW,都是不带ⅤISA驱动的。但是, Lab view即使不安装VSA驱动,也是有VSA函数的啦!注意:有些人以为有VSA函数就是装了驱动,我无法理解现在人的思维跨度真的是很大,所以,学习知识,不要一贯自己想当然,一步一步的踏实地走。VISA函数的位置见下图。问数据阳力工且包享变量用户局可变量①山: Lan T L51t队列操作七串口SHLP3配置〓口1电可儿选板当然,还有一个位置。其实都差不多的啦。自己可以研究下。见下图所伙器IMWBs卜数据信仪器LU时于控制设计与仿真+88下T」v工≤A收藏月户库产丽心高AJI IvVIk咋设备淸零A读职rBⅥA触发打开ⅥS关闪s:奇共资源SA设置超时vsA属性节点总线/接口配置更改可见选江5读取文.ⅥA读取识事处理ⅥIs解寄存器访问LIEWsrwmfeNgivnethttp://www.mufengly.comEmail:happyarrow@qg.com小草手把手教你 Labview串凵仪器控制首先得了解函数在哪里,以后才方便编程串口YL凡PR园讧SA配置串口5戟写S帖卖取Vs关团ⅥA串口字.Ⅵ串口中断Ⅵ3设置工/.ⅥA清空工般用的比较多的函数,就是上面4个啦,其他的,最开始都可以不用管。这4个会用就行啦。基本的串口通信程序,都差不多是上面几和。不信的话,多看一看LabⅤIEW自带的范例。你会发现,结构都差不多吧。这一篇主要讲驱动下载安装。前面只是引言。安装是很重要的步骤哦。是串口通信的前提。安装好了 LabvieW之后,再安装VSAVISA驱动下载地址可以到Wwsn.com官网去搜索,以下我给出了连接地址http://www.ni.com/nisearch/app/main/p/bot/no/ap/tech/lang/zhs/pg/1/sn/catnav:du,n8:3.25.123.1640 shaw:ndr/版本有很多,自己看着办,最好去看下ⅤSA的 support文件说明,看攴持什么版本的LV。正常情况下,高版木的ⅤISA都是支持低版木的 LabVIew,可是如果你的 Labview比较占老,可能会有意外,所以,保险情况,你看下 Support说明。给大家看下支持性文件的链接位置。如下图所示可用下载下乖选项1. NI Downloader: vE a512tull downloader cxc (5/4.9/NB)N推荇使用N下载器提供更稳定文忄下戟意外中断时,可自行缝续文件下载文件下戟斯间,时C上运行提供暂停和驻续功能?标酲下截:近51川Pe7497MRh使用标生下载直接下载至PC连接问题可能会引意外中断,以文件下不稳定n不提供暂停知踡续功能readme. html(33 KB tepatents. tct(17 KByilelicense. r.(103KB le安装很容易,就不停的下步,到完成记住:安装的时候,记得退出杀毒软件,360之类的,这样安装会顺利也防止出意外IEWwhmfeNgnethttp://www.mufenglv.com!Email:happyarrow@qq.com小草手把手教你 Labview串凵仪器控制等待安装结束,会提示重启安装完毕后重启一下电脑。然后到MAX( measurement& Automation Explorer)里找,看设备有接口下,有没有 Serial& Parallcl,有的话,就说明你串口安装成功了安装NI其他硬件驱动,也是同理,看MAX有木有只体操作,点击桌面上Max图标或者找到这个MAX路径运行,按下图位置进行查看。捷方我的系统- measurenent蟲 Hut ion Exp1arer区文件〔)编辑但)查看)工具①)帮助c?显示帮助中□数据邻居即设备和接口网络设备National Instruments+-E NI-IMAAdxr DevicesMeasurement了 Serial 8 Par21eAutomation Explorery CoM1Measurement automationCOM2Explorer(M|A用于访问N『品y CoMCOMe使用指南y COMe管理设备和接口罗LPT管理已经安装的N软件4换算管理设备的虚拟道道和任务软件远程系统凵创建虚拟仪器的换算圍配置N器驱动程序?帮助到现在为止,ⅥSA驭动就安装成功啦很简单的吧。欢迎大家继续关注本论坛。我们将循疗渐进带领大家一步一步的学习 Labview本帖论坛地址:htp:/www.mufenglv.net/forum.php!mod=viewthread&td-46&extra=page%3D1三,安装使用仪器现有驱动声明:很多仪器是没有驱动的。所以,具体问题具体分析。另外声明:所谓的驱动,也就是封装好的底层的串口通信程序,也是程序而己,只不L IEWengu.nethttp://www.mufenglv.com/Email:happyarrow@qq.com小草手把手教你 Labview串凵仪器控制过别人帮你做成了子ⅥI,让自己容易用。所以:不要弄混淆了概念。国外的很多仪器,都是有现成的Lv程序驱动的,这个时候,我们到网上搜搜就行了。如果你要做仪器驱动,你最好先到网上搜搜,看有木有现成的有现成的,开发速度就好多啦如果手边的仪器搜不到现成的驱动,那就只能自己写了下面讲解怎么安装现成的驱动。①,网站下载篇,前面这个贴子讲了。http://www.mufenglv.net/forum.php?mod=viewthread&tid=59&extra=page03d1有兴趣可以看看下面是通过 LabVIew软件下载我下面手把手教下在LV软件里下载安装。首先在LV的帮助菜单里,找到查找仪器驱动E未命名1程序框图章文件¢)编)查署①)项目)操作@)工具)窗口)帮助□今间留别w可12应用程序字体昱示新时帮助锁定印时帮助在帮期.,色解程错吳c木帮迎)查找范列〔查找仪据亚动网络资源0l 1bWAOdx WI RF五R激活LaE粗件激活附加软件检查面新信管息关于L工E"追A造查内邹错误〔然后就会弹出一个仪器査找界面。如果你己经连接好了仪器的使件,且仪器支持DN?这个SCP指令的话可以使用扫描仪器按钮,扫描·下你的仪器。因为使用那个指令,如果仪器连接好没错误,会返回一个仪器本身的仪器类型和版本的。这个时候,LV就知道是什么仪器8EanwUfeNdismethttp:/www.mufengly.comEmail:happyarrow@qq.com小草手把手教你 Labview串凵仪器控制迕接到了。这个需要查仪器说明书指令。E器动程序查找器一配置搜索s KeitHley 2H器驱动查找工具可帮助您方快速地查找和安装abIE即插即用有些仪器,发送IDM?指今会返回点击扫描仪器,1EW会自动象网(m的仪器驱动,刚和江m,可仪锅动仪器的名称跟版本。串口发送命令,看是有返可来判断连接的器类型刃换用户扫措伙器制造高择一个附加关键词□仅认译的驱动程序仕→生[搜索>匚关闭[帮助如果仪器木有连接好,或者没扌描出米(没扫描出米原因太多了。没装ⅤSA驱动,电缆没连接好,仪器参数不对等。)自凵想下载驱动。就自凵选型号了,见卜图。选型号,然后点击搜索我们下面搜索 Keithley2400.好了,点击搜索。H仅驱动厅查找器一配置搜索ID SuieiLLiLiU主已连接的仪器安法的像马动v ReithFKiasu折即月俊器驱动。 Kin.elie Syslems程序Laser preciPrmh戶T附加关键词□所认证的动程序榨牛用千干动设定枵索。壮步_索>□关帮助一LIEWGnrmufengnethttpwww.mufenglv.com/Email:happyarrow@qq.com小草手把手教你 Labview串凵仪器控制然后会搜出来。注意看右边的驱动信息。开发环境,版本,还有支持的接口等。J仪死动程序查找器一搜索结果驱动程序认正cckePl必需的软件支持最低版本亚动程序作订版刮造商支持的号挑口IEEE 0本该言息用于定适合仪和开发环境的马动程序壮步装〉□关二〖鞦助一从上图可以看出,这个仪器支持串∏和GPIB∏。还有支持的型号,有2400,2410等扫肛璽动程序查找器搜索结果动程序m证-3.4★大★大六3等包司k2400 Instrument Driver要动程斥开发环墁:LabVIEW最低版半一.2仪器驱动安装t-style)成功。驱动程序位于以下目录中D: Frorra FilesNtional Instrument:LabYIEY 20111 ib Keithley24置安禁其它程序开始德用该动程序才支持的型号:信息用于确定适合位喜和开发环境的驱动程序。上=步□安装10einethttp://www.mufenglv.com/Email:happyarrow(@qq.com
- 2021-05-06下载
- 积分:1
利用Hilbert变换提取信号瞬时特征的算法实现
研究了在工程中如何通过算法来实现利用 Hilbert 变换提取信号的瞬时特征。深入地分析了如何利用数值微分法提高提取瞬时频率特征的精度。最后,给出了一种可行的算法,并通过实验验证了这种方法可以在工程中有效地提取信号的瞬时频率特征。84微机发展第13卷①H(x)=y;H(x)=y;(i=0,1,…n)(j=0,1(11)②在每个小区间/x1,x1+17i=0,1,…,n-1)上由相关定理知:当划分的小区间的长度趋于零时H(x)是三次多项式。s(x)及其一至三阶导数分别一致收敛到f(x)及其一至可以写出分段三次 Hermite插值函数的分段表达式:三阶导数。所以用三次样条插值函数去近似表达用离散值(x)=(1+2x-x过+)2v;+表示的原函数,具有较高的可靠性。3)两种插值的比较挨尔米特 Hermite插值较三次样I-i,1+2条插值具有较好的稳定性与收敛性,但它只能休让各段曲线在连接点上的连续性,而不能保证整条曲线在这些点上y+1Ditl的光滑性。而有时不仅要求曲线连续,而且要求曲线的曲X/(i=0,18)率也连续即要求分段插值函数具有连续的一阶导数,埃H(x)的导数为尔米特 Hermite插值此时就不能满足上述要求6次样条插值较埃尔米特 Hermite插值具有较好的H(x光滑程度,用三次样条插值函数求数值导数比用埃尔米特+2(x-x2(xHermite插值可靠性大,但计算比较复杂,二者的区别见图h2yV+17, h(i-0,12)三次样条插值。已知函数y=f(x)在区间/a,b上的n+1个节点上的值y=f(x;)(i=0,1,…m),求插值函数s(x),使(i=0,1图4 Hermite插值与三次样条插值的比较图2在每个小区间x,x+1(=0.1.…n-1)上利用埃尔米特 Hermite插值得到的2FSK信号的瞬时s(x是三次多项式,记为s(x频率见图5,利用二次样条插值得到的该信号的瞬时频率③3(x)在la,b/上二阶连续可徵。见图6。数s(x)称为f(x)的三次样条插值函数可以利用节点处的二阶导数值为参数,也可以利用节点处的导数值为参数求三次样条插值涵数的表达式。若利用节点处的一阶导数值为参数,求得的三次样条插值函数的表达式为(x)=M-1x-x-)36 h6 hMihi5 DEMeN5a亩pai66hx∈[x;,x+17,b-x+1-x,S"(x)=M图5由 Hermite插值提取图6由三次样条插值提取(j=0,1的2FSK信号的瞬时频率的2FSK信号的瞬时频率对s(x)进行求导,利用S(x)在节点处一阶导数连从图5、图6可以看出利用三次样条插值得到的瞬时续的性质结合边界条件求解出参数M,把求得的参数代频率可以准确反映出信号具有的的摒时频率特征而利用入公式(10),即得三次样条插值函数的s(x)分段表示式。埃尔米特 Hermite插值得到的瞬时频率与信号具有的瞬s;(x)的导数为时频率特征不符。这是因为利用数值微分法求瞬时频率插值以后喫进行求导。三次样条插值函数具有连续的二阶M2 hiM; 2 hj导数,因而具有较好的光滑程度,符合求导条件,所以可以J+1-h(M2+1-M/)准确求出信号的瞬时频率;而埃尔米特 Hernite插值.不够光滑,虽能保证插值多项式收敛于原函数,但不能保证插x Elx,x;+1 h,=xi+I-x, S(xj )=M;值多顷式的导数收敛于原函数的导数,所以求得的值与信o1994-2010ChinaAcademicJournalElectronicPublishingHouse.Allrightsreservedhttp://www.cnki.net第6期刘慧婷等:利用 Hilbert变提取信号瞵时特征的算法实现号实际的瞬时频率值不符。实验结果和理论分析结果是(1) Hilbert变换只能近似应用于窄带信号,即形如纹的(t)=a(1)cosu+6(1)),其中>>B(B为信号带2.3.3结论宽)的信号。但实际应用中,存在许多非窄带信号, Hilbcrt利用数值微分法求瞬时频率ω(t)的步骤可以归纳变换对这些信号无能为力为:首先通过三次样条插值得到分段多项式p(1),(2)对于任意给定时刻,通过 Hilbert变换运算后的结pp(抄);然后分别对分段多项式p(t),Pp()关于变量t果只能存在一个频率值,即只能处理任何时刻为单一频率进行求导,得到pd(,ppd(t);最后求出每一时刻t所对的信号。这显然不合理,因为在实东中同一信号会含有多应的导数值,即求得t(t,u(t)。再把求得的值代入公种频率成分式(6)就完成了提取瞬时频率ω(1)的过程。求解结果见(3)对信号进行 Hilbert变换时,信号的两端会出现严图7重的端点效应。提取某些信号瞬时特征所得的瞬时频率在局部出现了负数,端点效应是造成负频率的一个原因而端点效应可以通过利用特征波对原有数据序列进行延拓的方法来解决,具体解决办法将在今后讨论。尽管目前出现了EMD担论4,其目的是将不满足Hibt变换的信号进行分解得到若干个IMF( intrinsic mode function),然后进行 Hilbert运算,达到提取信号瞬时特征的目的。该理论开辟了信号处理的新空间。但它还不够成熟还需喫进一步的完善和研究图7利用数值微分法提取信号的瞬时频率特征参考文献从图7可以看出,以三次烊条指值进行的数值微分可[]黄长蓉. Hilbert变换及其应用[J].成都气象学院学报以准确岀提取岀信号的瞬时频率特征。199,14(3):273-276.[2]杨小牛,楼A义,徐建良.软件无线电原理与应用[M].北3结束语京:电子工业出版社,2001在工程中, Hilbert变换使得我们对短信号和复杂信号[3]丁丽妤.数值计算方法[M].北京:北京理工大学出版社,的摒时特征的提取成为可能特别是对瞬时频率特征提1997取,在工程中具有十公重要的意义。文中讨论的利用三次[4] Huang N e. The empirical mode decomposition and the hilbert样条插值进行数值徵分以提取瞬时特征的方法是可行的,spectrum for nonlinear and nor stationary time series anal ysis但还存在着如下问题。[].Proc.R.soc.Lond.A,1998,454:903-995(上接第81页)218994。例22(x)=(1-2siny=223101075一般的(A算法计算了120代,求到的最大值为454176.219。154370083改进的α算法计算了34代,求到的最大值为1048575.875。改进后的αA算法收敛速度(指迭代次数)比一般GA算法几乎快了一个数量级,精度也提高了不少,特别是例2的最大值提高一倍多,速度提高这么快是未曾料到的y=74958参考文献+4X Axl Thla[1]陈国良.遗传算法及其应用[M]·北京:人民邮电出版社,图2函数2的图像1996一般GA算法计算了20代,求到的最大值为[2]袁亚湘,孙文瑜.最优化理沦与方法[M]北京:科学出版社,19991.218983[3]张铃,张钹·遗传算法杋理的硏究[J]·软件学报,改进(A算法计算了5代,求到的最大值为2000,11(7):945952o1994-2010ChinaacAdemicJournalElectronicPublishingHouse.Allrightsreservedhttp://www.cnki.net
- 2020-12-05下载
- 积分:1