2023年8月3日发(作者:)
维普资讯
第l9卷第4期 山东理工大学学报(自然科学版) V01.19 No.4 2005年7月 Jouinal of Shandong University of Technology(Sci&Tech) Ju1.2005 文章编号:1672—6197(2005)04—0092—04 LabVIEW中MATLAB的调用 徐 明 ,于业明2 (1.胜利石油管理局直属机关党委山东东营257062; 2.烟台中世天然气公司,山东烟台264000) 摘要:在LabVIEW中通过MATLAB Script节点调用MATLAB,可以补充LabVIEW的开 发功能.结合多功能绘图、调用MATLAB小波包工具箱中的WDEN()函数对含白噪声的正 弦信号进行消噪处理的实例介绍了在LabVIEW中调用MATLAB的实现过程. 关键词:LabVIEW;MATLAB Script 中图分类号:TP31 文献标识码:A Using MATLAB in LabVIEW XU Ming ,YU Ye—ruing2 (1.Central Party Committee of Shengei Oil Field Administration Bureaucracy,Dongying 257062,China; 2.yantai Zhongshi Natural gas corporation,Yantai 264000,China) Abstract:If we make LabVIEW combined with MATLAB by use of MATLAB cSript mode,the design capability of developing will be improved greatly.This paper intrdouces the process of how to use MATLAB in LabVIEW with two examples,such as complex plot and denoise the sine sig— nal mixed with white noise by using WDEN()function in Wavelet Toolbox of MATLAB. Key words:LabVlEW;MATLAB Script 1 LabVIEW与MATLAB简介 1.1 LabVlEW LabVIEW(Laboratory Virtual Instrument Engmeering Work bench,实验室虚拟仪器工程平台)是由 美国N I公司(National Instruments,国家仪器公司)创立的一个功能强大而又灵活的仪器和分析软件 应用开发工具,在实验测量、工业自动化和数据分析领域有着重要作用.它是直观的前面板与流程图式 的编程方法的结合,是构建虚拟仪器的理想工具.LabVIEW具有以下特点 j: 1)图形化的仪器编程环境:它使用“所见即所得”的可视化技术建立人机界面,针对测试、测量以及 收稿日期:2005—02—19 作者简介:徐明(1971一),男,政工师 维普资讯
第4期 徐明:LabVIEW中MATLAB的调用 93 过程控制等领域.LabVIEW提供了面板上所必需的许多显示和控制对象,如旋钮、表头、图表等.用户 还可以方便地将现有控制对象改成适合自己需要的控制对象. 2)内置的程序编译器:LabVIEW采用编译方式运行32位应用程序,解决了其他按解释方式工作 的图形编 陧平台速度慢的问题,其速度大体相当于编译C的速度 . 3)灵活的程序调试手段:用户可以在源代码中设置断点,单步执行源代码,在源代码的数据流上设 置探针,在程序运行中观察数据流的变化. 4)功能强大的函数库:LabVIEW提供了大量现成函数供用户直接调用,从底层VXI、GPIB、串口 及数据采集板的控制子程序到大量的仪器驱动程序,从基本的功能函数到高级分析库、涵盖了仪器设计 中几乎所需要的函数. 5)支持多种系统平台:LabVIEW支持多种系统平台,在Windows NT/95/3.1、Power Macintosh、 HP、SUN SPARC等系统平台上,NI公司都提供了相应版本的软件,并且平台之间开发的应用程序可 直接进行移值. 6)开放式的开发平台:LabVIEW提供了DLI 接口和CIN接口,使用户在LabVIEW平台上能调 用其他软件平台编译的模块,提供对OLE的支持. 7)网络功能:LabVIEw支持TCP/IP、DDE、IAC等功能. 1.2 MA ̄II,AB MATLAB(MATrix LABoratory,矩阵实验室)是由美国Math Works公司开发的一种功能强、效率 高、简单易学的数学软件.覆盖面包括控制、通讯、金融、图像处理、建筑、生物学等几乎所有的行业与科 学领域.所用到的技术除了经典的一些算法(如傅里叶变换等),还包括目前时兴的神经网络、小波分析、 模糊系统、混沌理论等.此外,MATLAB语言是基于矩阵运算的语言,其函数库包含了比较齐全的矩阵 生成与运算的函数,因此编程简单.它一重要特点是拥有众多的专用工具箱,如控制系统、模糊逻辑、神 经网络、信号与系统、小波分析等.这些工具箱由各个领域的专家设计,功能强大,使用方便,能大大简化 求解的问题,它在科技应用软件中备受瞩目.因为它有可靠的数值计算和符号计算功能、强大的绘图功 能、简单易学的语言体系以及为数众多的应用工具箱,因此把LabVIEW软件平台与MATLAB相结合 使用,无疑将使虚拟仪器的数据处理功能更加强大. 2 MATLAB调用的实现 2.1调用过程的实现 LabVIEW使用ActiveX技术来实现MATLAB脚本节点.ActiveX是由Microsoft公司定义的用于 Internet的一种对象链接与嵌入技术,它满足了网络上不同应用程序间交换信息的需求. LabVIEW中提供了各种与其它应用程序进行相互调用的方法,如ActiveX,DDE等事实上的标准 接口方式.虽然可以通过这些方式实现在LabVIEW中调用MATLAB,但是过程相对繁琐.NI公司为此 提供了一种相对容易的方式,即MATLAB Script节点方式.通过这种方式,用户可以在LabVIEW中使 用MATLAB强大的数值运算功能.这种方式是LabVIEW开发组推荐使用的方式. MATLAB Script节点使得用户及可以将MATLAB程序导入到流程图中,又可以在流程图中根据 MATLAB程序的语法编辑MATLAB程序.选择该节点的操作为:Functions>>Mathematics>>For— mula Palette,即从框图窗口Function选项板的Mathematics/Formula子选项板上访问MATLAB脚本节 点,在将该节点添加到流程图中后,选择对应的脚本服务器.此处选择MATLAB Script.从选择菜单中 可以看出与其有关的菜单项.通过这些菜单可以将MATLAB程序导人到该节点并且可以给节点增加 输入输出变量.添加节点后就可以按照MATLAB的语法要求在节点中编写MATLAB程序,完成后通 过单击Export将程序保存到选定的目录中.如果实现已经将MATLAB程序编好,则可以直接将起导人 到节点中,可以通过单击Import完成导入.还可以对节点增加输入、输出变量,这些变量在程序运行时, 维普资讯
94 山东理工大学学报(自然科学版) 2005钲 起到在LabVIEW和MATLAB间传递参数的作用.MATLAB脚本节点与与它外部LabVIEW框图程 序靠脚本节点的输入输出来连接.可以在脚本节点的快捷菜单中选择Add Input/Add Output添加输入 输出. 2.2注意事项 在LabVIEW中调用MATLAB时有几点必须注意l3 J: 1)LabVIEW使用ActiveX技术来实现MATLAB脚本节点,因此MATLAB脚本节点只能用于 Windows平台上. 2)MATLAB Script节点方式要求计算机上必须安装MATLAB 5.0及以上版本,因为执行脚本节 点时要调用MATLAB脚本服务器. 3)因为LabVIEw和MATLAB是两种不同的编程语言,有各自的数据类型定义,所以结合应用时 必须注意MATLAB脚本节点内外数据类型的匹配,否则LabVIEw运行时将产生错误或错误的信息. 可以为解脚本点的输入输出端子从其快捷菜单上Choose Data Type中选择合适的数据类型_4j. 3 MATLAB调用举例 3.1多功能绘图 在LabVIEW的Controls选项板的子Graph选项板下面有几个图形函数.常用的只有三个,它们可 以显示均匀采样波形(Waveform Chart、Waveform Graph)和多值函数曲线(XY Graph).LabVIEW也可 以绘制三维复杂的图形,但过程就要复杂些,且图形显示也不是很好看.MATLAB强大的绘图功能可以 给LabVIEW图形显示方面很好的支持和补充.MATLAB不仅提供了通用的绘图功能,而且还提供了 特殊的绘图方法.在MATLAB只需调用一个函数就可以轻松绘出漂亮的二维、三维曲线和复杂的空间 曲面,还可以方便的实现窗口分割以及同窗口多条曲线的绘制.一个在LabVIEw中调用MATLAB完 成漂亮绘图的示例如图1所示. P0LAR BAIR 。. l HEnX 2 PE^KS 图1在Lab-VIEW中调用MATLAB绘制的图形 如图1(b)所示,框力中MATLAB crSipt中添加的代码为: 1)极坐标曲线如(图1(b)一1所示): z=0:0.01 pi:4 pi; Y=sin(z/2)+st"; subplot(2,2,1); polar(z,Y,L’); 维普资讯
第4期 徐明:LabvIEw中MATLAB的调用 95 title(’POLAR’,’FontSize’,12,’FontWeight’,’bold’,’FontName’,’隶书’); 2)柱状图(图1(b)一2所示): z=1.:10: v=rand(10,1); subplot(2,2,2); bar(工, ); title(’BAR’,’FontSize’,12,’FontWeight’,’bold’,’FontName’,’隶书’);axis([0,II,0,1]); 3)螺旋线(图l(b)一3所示): . =0:pi/50:10 pi; Y=sin(x); 2:-=cos(x); subplot(2,2,3); plot3(X,Y,z); title(’HELIX’,’FontSize’,12,’FontWeight’,’obld’,’FontName’,’隶书’); 4)空间曲面(图1(b)一4所示): subplot(2,2,4); peaks(50); title(’PEAKS’,’FontSize’,12,’FontWeight’,’bold’,’FontName’,’隶书’); 3.2小波消噪 小波变换在信号消噪中的思想与傅里叶变换滤波的思想相似,只不过傅里叶变换的数字滤波是等步 长频谱滤波,而小波变换消噪则是二等分频谱滤波,只有进行小波包分解才能实现等步长频谱滤波.MAT— LAB小波包工具箱(Wavelet Toolbox)提供了许多小波分析功能函数,包括消波分析中的通用函数、小波函 数、一维小波变换、二维小波变换、小波包算法以及在信号和图像的消噪与压缩、树操作应用函数、数据I/O 函数等.下面是一个调用MATLAB小波包工具箱(wa velet 1 box)中的WDEN()函数对含白噪声的正弦 信号进行消噪处理的例子. MATLAB Script小波包工具箱中添加的代码:xd=wden(XX,’heursure’,一S,’one’,X,’sym8’);效果 如图2所示. 中调用MATLAB来解决问题的发展空间很大 图2小波消噪前后效果图 参考文献: [1]刘卫国、陈昭平.MATLAB程序设计与应用[M].北京:高等教育出版社.2002. [2]刘君华.基于LabVIEW的虚拟仪器设计与应用[M].北京:高等教育出版社.2002. [3]石博强.LabVIEW 6.1编程技术实用教程[M].北京:中国铁道出版社,2002. [4](美)RobertH.BishopLabVlEW 6.1实用教程[M].乔瑞萍译.北京:电子工业出版社,2002
发布者:admin,转转请注明出处:http://www.yc00.com/news/1691022626a488939.html
评论列表(0条)