展会信息港展会大全

LabVIEW和MATLAB在水声信号处理中的应用
来源:互联网   发布日期:2011-09-19 10:15:18   浏览:6234次  

导读: 摘 要:本文结合LabVIEW虚拟仪器开发平台和MATLAB软件强大的数值分析功能的优点,利用LabVIEW和MATLAB混合编程技术应用于水声信号处理,该方法既能提供良好的计算机用户图形界面,又具有很强的水声信号处理能力,仿真结果表明了该方法的有效性。 关键词:Lab...

摘 要:本文结合LabVIEW虚拟仪器开发平台和MATLAB软件强大的数值分析功能的优点,利用LabVIEW和MATLAB混合编程技术应用于水声信号处理,该方法既能提供良好的计算机用户图形界面,又具有很强的水声信号处理能力,仿真结果表明了该方法的有效性。
关键词:LabVIEW MATLAB 水声信号处理 MATLAB Script节点法
引 言
  水声信号处理是海洋及信息处理领域研究最为活跃的学科之一,它在海洋勘探、水声定位、水下机器人等方面应用十分广泛,但是随着海洋开发、信息科学技术的高速发展,对水声信号处理的要求越来越高。良好的人机交互界面、计算机图形化显示以及强大的数据处理分析能力,成为目前水声信号处理领域的研究趋势。为此,本文利用LabVIEW和MATLAB混合编程技术应用于水声信号处理,既能提供良好的计算机图形化界面,又具有强大的数据处理分析能力,实验仿真结果表明了该方法的有效性。
1 LabVIEW语言和MATLAB软件概述
  LabVIEW(Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器工作平台)是美国National Instruments公司推出的虚拟仪器开发平台软件,是一种非常优秀的面向对象的图形化编程语言,用于快速创建测试、测量和控制应用程序。以其强大的数据采集、数据处理、数据分析和仪器控制功能在现代测控领域中得到了广泛的应用。它具有如下优点:提供各种接口总线和常用仪器的驱动程序,用户可将其与测量硬件连接,方便地完成信号数据采集、信号分析、数据存储以及数据处理等许多通常的任务;可以很方便的创造一个交互式的系统控制界面,从而使各种信号的采集和处理开发更加人性化,因为其外形和操作可以模拟实际的仪器。虽然LabVIEW 对于一般信号的分析处理比较方便,内置了许多用于分析测量数据的函数,能够胜任大多数测量任务,但是其本身也存在不足,如不能完全提供用户所需要的驱动程序和调用系统程序实现底层操作,不擅长于完成大量数据处理的任务。因此对于一些虚拟仪器中需要进行大量数据运算处理的复杂应用,仅仅用LabVIEW就显得有些力不从心。
  MATLAB软件为几乎所有的工程计算领域提供了准确、高效的多种功能的工具箱,在信号和图像处理等领域具有无可比拟的优势。它针对许多领域开发了模块:如信号处理、数据库接口、神经网络、小波分析、图像处理等。MATLAB以其强大的科学计算功能、大量稳定可靠的算法库、编程效率高等特点已成为数学计算工具方面事实上的标准。
  因此结合上述两者的优点,可以通过LabVIEW程序接口函数来调用其它各种应用程序和MATLAB软件中强大的数据处理软件包,这样结合可以使软件平台具有更强的数据处理能力,对于单独运用MALTLAB和虚拟仪器进行大量数据运算处理所解决不了的问题就迎刃而解了。
2 LabVIEW和MATLAB混合编程在水声信号处理中的应用
  本文主要研究LabVIEW和MATLAB混合编程技术应用于水声信号提取,通过对杂波等背景噪声的消除来达到特征信号提取的目的。
  2.1 LabVIEW和MATLAB混合编程设计
  利用LabVIEW 内置的许多用于分析测量数据的函数对信号进行一般的分析处理。如图1所示为用LabVIEW7.1编写好的包括巴特沃斯、切比雪夫、椭圆滤波器的程序框图。


图1 滤波器程序框图
  在水声信号的处理技术中,因水下环境的复杂性,目标信息往往淹没在各种各样的干扰背景中。仅仅用LabVIEW语言编程处理达不到很好的效果,但是LabVIEW可以通过其程序接口函数来调用其它的各种应用程序和软件,在LabVIEW中调用MATLAB下编好的小波消噪程序。其中,调用方式有好几种,可以使用DLL、ActiveX、MATLAB Script节点法等,这里用MATLAB Script节点法,因为使用MATLAB Script节点法快捷方便,该方法具有多输入、多输出的特点,一次处理的信息量可以很大。而且MATLAB程序可以直接输入节点中,也可以先在MATLAB下调试,无误后再导入到MATLAB Script节点中。
  LabVIEW7.1提供的MATLAB Script节点通过选择All Functions >>Analyze >>Mathematics >>Formula >>MATLAB Script,就将该节点添加到流程图中。先添加输入变量xx和x,变量类型分别为RealVector和Real,添加输出变量xd,变量类型为RealVector,然后将MATLAB小波工具箱中的函数WDEN()写入节点内,该函数可直接对一维信号进行噪声消除,其调用格式为[XD,CXD,LXD]=WDEN(X,TPTR,SORH,SCAL,N,‘wname’),其中N为小波分解的层数,这里设置为8。wname指定分解时所用的小波。运行LabVIEW执行该节点,则同时启动一个MATLAB进程。
  2.2 处理实例
  图2和图3为通过MATLAB Script节点调用MATLAB程序的前面板和程序处理界面图。MATLAB Script节点实际上是通过ActiveX控件与MATLAB Server进行通信的.调用MATLAB函数或命令,实质是将MATLAB当作一个ActiveX服务器并建立ActiveX通道,然后将这个函数或命令通过ActiveX通道发给MATLAB,由MATLAB在后台执行,所以在计算机中必须安装有MATLAB。


图2 通过MATLAB Script节点调用MATLAB程序



图3 通过MATLAB Script节点调用MATLAB程序前面板
  但是,这里有两点值得注意的是:①MATLAB Script节点对输入、输出数据的类型有明确的要求。LabVIEW和MATLAB之间的数据通信仅支持Real、RealVector、RealMatrix、Complex、VectorComplex、Matrix六种格式的数据,且必须根据具体情况进行选择。只有LabVIEW中的数据类型与MATLAB中的数据型相匹配,才能进行数据传输。②用该方法实现LabVIEW与MATLAB的混合编程的缺点是没有脱离MATLAB的环境,而只是将它在后台执行。
结 论
  LabVIEW是当今运用非常广泛的虚拟仪器开发平台软件,MATLAB则是具有强大数值分析功能的计算机语言,本文扬长避短地将LabVIEW和MATLAB混合编程技术应用于水声信号处理,以达到更好的处理效果。本文的创新点是:本文研究LabVIEW和MATLAB混合编程技术,并将其应用于水声信号处理中,编程达到了好的处理效果。
参考文献
  [1] 侯国平、王坤、叶齐鑫编著. LabVIEW7.1编程与虚拟仪器设计. 清华大学出版社[M]. 2005.2
  [2] 飞思科技产品研发中心编著. MATLAB7辅助信号处理技术与应用[M]. 2005
  [3] 昝淘等. LabVIEW中人工神经网络计算的实现与应用. 微计算机信息[J]. 2006年第22卷. P122~123
  [4] Using LabVIEW for the design and control of digital signal processing systems Simulation of the ultra slow extraction at COSY. Heinrichs, G.; Rongen, H.; Jamal, R. Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment Volume: 352, Issue: 1-2,
  [5] 陈宵雅、金心宇. 结合MATLAB的虚拟仪器技术在谐波测量系统中的应用[J]. 电测与仪表. 2005.4 p23~26

本信息来自网络,不代表中国自动化网观点

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港