基于PCI8602的水声信号监测系统设计
2014-06-19徐袭谢志强
徐袭 谢志强
摘 要: 为了提高水声信号监测效果和能力,设计了一种基于PCI8602数据采集卡和LabVIEW编程软件的靶标水声信号监测系统。系统采用RHSA20标准水听器为前端传感器,连接信号调理模块,以PCI8602数据采集卡为核心硬件,通过LabVIEW编程软件快速实现对水声信号的实时数据采集、显示与存储,可满足对水声信号的监测需求。
关键词: 水声监测; 数据采集; LabVIEW; PCI8602
中图分类号: TN911.7?34;TB56 文献标识码: A 文章编号: 1004?373X(2014)09?0020?03
0 引 言
在水下靶标设备日常维护与海上试验中,为确保设备对目标声学特性准确模拟,需使用水声信号监测装置对设备所模拟水声信号进行监测、存储和处理,以判定信号是否模拟正确、设备是否工作正常。本文设计的水声信号监测系统以水听器为前端传感器,在PCI8602数据采集卡的基础上,采用LabVIEW软件开发采集和分析软件,构成设备水声信号监测系统。该系统可采集、显示水下靶标模拟水声信号,并分析所获取信号重要参数,具备数据存储及回放功能,可为设备正常工作提供有效监测手段。
1 系统工作原理
系统由水听器、信号调理模块、数据采集卡、计算机和信号监测处理软件组成。由PCI8602高速数据采集卡通过水听器采集水下靶标所模拟输出信号,系统组成示意图如图1所示。
当设备产生模拟水声信号后,水听器将声学信号转换为电信号,使用信号调理模块对转换的电信号进行放大、滤波,数据采集卡将调理后信号进行数模转换,由计算机上运行的信号监测处理软件对信号完成显示、分析和存储,实现对设备水声信号的监测。
图1 水声信号监测系统组成示意图
2 系统软硬件构成
2.1 设计需求
根据水声信号频段特点及监测系统实现功能需求,直接采用数据采集卡作为系统核心器件用于水声信号数据采集,该数据采集卡性能指标需求见表1。
表1 监测系统数据采集卡指标需求列表
[名 称\&相关需求\&备 注\&信号频段\&小于40 kHz\&常用水声频率范围\&采集通道\&1路\&实际使用备份>1\&采样频率\&400 kHz\&信号频率10倍\&转换精度\&AD 14 b\&转换精度越高越好\&输入量程\&0~10 V\&采集信号分辨率\&编程语言\&支持LabVIEW\&简单、易用、快速\&板卡接口\&PCI接口\&适用于计算机连接\&]
2.2 编程软件
LabVIEW是美国国家仪器公司(National Instruments,NI)推出的一种基于图形开发、调试和运行程序的集成化环境,是目前国际上惟一的编译型的图形化编程语言。在以PC机为基础的测量和工控软件中,LabVIEW的市场普及率仅次于C++/C语言。LabVIEW开发环境具有一系列优点,从其流程图式的编程,不需要预先编译就存在的语法检查、调试过程使用的数据探针,到其丰富的函数功能、数值分析、信号处理和设备驱动等功能,比较适用于本软件的编制,其主要特点如下:
(1) 图形化编程方式,设计者无需写文本格式的代码,符合工程师应用习惯;
(2) 提供丰富的数据采集、分析及存储的库函数,便于功能的快速实现;
(3) 具备传统程序调试手段,又提供了独到的高亮执行工具,便于观察程序运行细节,使程序的调试和开发更为便捷;
(4) 提供如DLL、DDE等与第三方软件进行连接的编程方法和机制;
(5) 强大的Internet功能,支持常用的网络协议,方便网络、远程测控仪器的开发。
2.3 主要硬件
(1) 水听器:按照国际电工委员会(IEC)制定国际标准,对压电型标准水听器在灵敏度、动态范围、时间稳定性、方向指向性以及灵敏度随静压(水深)、温度等的变化范围均作了规定。本系统采用RHSA?20标准水听器,内置前置放大器,检测装置频率范围可达20 Hz~100 kHz,可根据需要进行调节声压灵敏度,适用于长距离信号传输。
(2) 数据采集卡:使用PCI8602数据采集卡,是基于PCI总线的32通道数据采集卡,具备16位高速A/D转换,最高数据采样率可达250 kHz。该接口卡安装使用方便,程序编制简单,其模拟输入输出及I/O信号均由卡上D型插头与外部信号源及设备连接。对于模拟输入部分,可根据使用实际需求选择单端或双端输入方式;板载8K FIFO采样缓存器;输入信号范围为-10~10 V,-5~5 V,0~10 V,0~5 V等可选。采集卡如图2所示。
图2 PCI8602数据采集卡
该数据采集卡的A/D转换启动方式可选用支持软件内部触发和硬件外部触发。硬件外部触发的触发源可以为模拟信号或数字信号,所具备功能完全适应本系统需求。
3 系统软件设计
水声信号监测系统硬件结构简单,采用市面上现有的数据采集卡及信号调理模块,系统的重点在监测处理软件开发设计上,通过LabVIEW快速实现对水声信号数据的采集、显示、分析和存储等功能。
3.1 软件运行流程
水声信号监测处理软件开发设计是在LabVIEW 8.5平台下进行,软件主要分为用户主界面、数据采集、数据保存、数据回放和信号处理等模块。数据的采集、显示和存储是软件设计重点,其软件主流程如图3所示。
图3 监测处理软件主流程图
3.2 数据采集模块设计
利用子VI提供的设备操作、数据读取等函数,可在LabVIEW中打开PCI8602.VI文件,将待调用接口单元图标,粘贴至用户LabVIEW应用程序中,然后按函数原型定义和说明连接该接口模块即可顺利使用。
该模块要使用7个主要的函数实现数据的采集。程序采用非空查询方式按顺序调用CreateDevice,InitDeviceProAD,StartDeviceProAD等7个函数,实现高速连续不间断大容量数据采集。重点应用VI函数如下:
(1) InitDeviceProAD为初始化AD设备函数,主要负责初始化设备对象中的AD部件,为设备的操作就绪做有关准备工作,如预置AD采集通道,采样频率等;
(2) ReadDeviceProAD_Npt为使用FIFO的非空标志读取AD数据,一旦使用启动设备AD函数后,需要立即用此函数读取设备上的AD数据,形式如图4所示。
图4 应用子VI中ReadDeviceProAD_Npt函数
(3) StopDeviceProAD为暂停AD设备函数,必须在调用启动设备AD函数后才能调用此函数,该函数除了停止AD设备不再转换外,不改变设备的其他任何状态。
3.3 数据存储模块设计
系统通过数据采集卡采集到的数据通过相关函数获得时间标识组合成波形数据后再进行存储。可指定数据文件的保存路径,写入电子表格文件,或者使用文件对话框选择现有文件或目录,或为新文件或目录选择位置存储。采集数据存储实现如图5所示。
图5 软件数据存储实现部分程序图
3.4 主界面设计
在LabVIEW开发环境下,只需要点击监测系统软件前面板上的软按键即可进入相应功能模块子VI界面并实现相应功能。主界面如图6所示。
图6 水声信号监测处理软件主界面图
主界面面板主要显示采集数据波形,波形显示调节、数据存储及相关参数计算等内容。程序数据采集功能实现主要通过调用PCI8602数据采集卡提供的LabVIEW编程子VI实现,该PCI8602.VI文件在数据采集卡配套支持文件中,只需调用子VI中提供控制函数即可实现数据采集卡的配置与控制。对相关数据的存储和分析处理则直接调用LabVIEW中已有的相关函数模块来实现。
4 结 语
依据水下设备日常维护与试验使用需求,本文设计了以标准水听器为前端传感器,采用PCI8602数据采集卡为核心器件,同时应用LabVIEW快速编程实现的水声信号监测系统,系统组成结构简单,软件编制简单快速,可对设备产生的水声信号进行监测、处理,为水下设备的可靠、正常工作,提供有效技术支撑。更换前端传感器后也可以适用于其他信号的数据监测与处理。
参考文献
[1] 陈国顺,张桐,郭阳宽.精通LabVIEW程序设计[M].北京:电子工业出版社,2012.
[2] 田京京,夏宁.LabVIEW入门与实战开发100例[M].北京:电子工业出版社,2012.
[3] JEFFERY Travis, JIM Kring. LabVIEW for everyone [M]. Third Edition. Beijing: Publishing House of Electronics Industry, 2012.
[4] 史阳,杨坤德,杨益新,等.水声数据采集与分析软件的设计与实现[J].电声技术,2012,36(9):50?52.
[5] 吴子岳,张艳乐,许哲.基于PCI?8602和LabVIEW的高速数据采集系统设计[J].微计算机信息,2010,26(10):92?94.
[6] 郭山国,陈永会,李海虹,等.基于LabVIEW和PCI8333的采集与分析系统的研究与实现[J].机床与液压,2011,39(10):107?109.
[7] 高龙,傅攀.基于LabVIEW和PCI?1711的高速数据采集系统[J].兵工自动化,2007,26(2):60?61.
[8] 王瑛,陈美玲,潘云.基于LabVIEW的水声遥控系统测试平台的设计[J].测控技术,2009,28(8):6?8.
[9] 王立,刘文怡,张国军.仿生矢量水听器水下监测记录装置[J].计算机测量与控制,2011,19(1):33?35.
[10] 北京阿尔泰科技发展有限公司.PCI8602数据采集卡软件使用说明书[M].北京:北京阿尔泰科技发展有限公司,2012.
图3 监测处理软件主流程图
3.2 数据采集模块设计
利用子VI提供的设备操作、数据读取等函数,可在LabVIEW中打开PCI8602.VI文件,将待调用接口单元图标,粘贴至用户LabVIEW应用程序中,然后按函数原型定义和说明连接该接口模块即可顺利使用。
该模块要使用7个主要的函数实现数据的采集。程序采用非空查询方式按顺序调用CreateDevice,InitDeviceProAD,StartDeviceProAD等7个函数,实现高速连续不间断大容量数据采集。重点应用VI函数如下:
(1) InitDeviceProAD为初始化AD设备函数,主要负责初始化设备对象中的AD部件,为设备的操作就绪做有关准备工作,如预置AD采集通道,采样频率等;
(2) ReadDeviceProAD_Npt为使用FIFO的非空标志读取AD数据,一旦使用启动设备AD函数后,需要立即用此函数读取设备上的AD数据,形式如图4所示。
图4 应用子VI中ReadDeviceProAD_Npt函数
(3) StopDeviceProAD为暂停AD设备函数,必须在调用启动设备AD函数后才能调用此函数,该函数除了停止AD设备不再转换外,不改变设备的其他任何状态。
3.3 数据存储模块设计
系统通过数据采集卡采集到的数据通过相关函数获得时间标识组合成波形数据后再进行存储。可指定数据文件的保存路径,写入电子表格文件,或者使用文件对话框选择现有文件或目录,或为新文件或目录选择位置存储。采集数据存储实现如图5所示。
图5 软件数据存储实现部分程序图
3.4 主界面设计
在LabVIEW开发环境下,只需要点击监测系统软件前面板上的软按键即可进入相应功能模块子VI界面并实现相应功能。主界面如图6所示。
图6 水声信号监测处理软件主界面图
主界面面板主要显示采集数据波形,波形显示调节、数据存储及相关参数计算等内容。程序数据采集功能实现主要通过调用PCI8602数据采集卡提供的LabVIEW编程子VI实现,该PCI8602.VI文件在数据采集卡配套支持文件中,只需调用子VI中提供控制函数即可实现数据采集卡的配置与控制。对相关数据的存储和分析处理则直接调用LabVIEW中已有的相关函数模块来实现。
4 结 语
依据水下设备日常维护与试验使用需求,本文设计了以标准水听器为前端传感器,采用PCI8602数据采集卡为核心器件,同时应用LabVIEW快速编程实现的水声信号监测系统,系统组成结构简单,软件编制简单快速,可对设备产生的水声信号进行监测、处理,为水下设备的可靠、正常工作,提供有效技术支撑。更换前端传感器后也可以适用于其他信号的数据监测与处理。
参考文献
[1] 陈国顺,张桐,郭阳宽.精通LabVIEW程序设计[M].北京:电子工业出版社,2012.
[2] 田京京,夏宁.LabVIEW入门与实战开发100例[M].北京:电子工业出版社,2012.
[3] JEFFERY Travis, JIM Kring. LabVIEW for everyone [M]. Third Edition. Beijing: Publishing House of Electronics Industry, 2012.
[4] 史阳,杨坤德,杨益新,等.水声数据采集与分析软件的设计与实现[J].电声技术,2012,36(9):50?52.
[5] 吴子岳,张艳乐,许哲.基于PCI?8602和LabVIEW的高速数据采集系统设计[J].微计算机信息,2010,26(10):92?94.
[6] 郭山国,陈永会,李海虹,等.基于LabVIEW和PCI8333的采集与分析系统的研究与实现[J].机床与液压,2011,39(10):107?109.
[7] 高龙,傅攀.基于LabVIEW和PCI?1711的高速数据采集系统[J].兵工自动化,2007,26(2):60?61.
[8] 王瑛,陈美玲,潘云.基于LabVIEW的水声遥控系统测试平台的设计[J].测控技术,2009,28(8):6?8.
[9] 王立,刘文怡,张国军.仿生矢量水听器水下监测记录装置[J].计算机测量与控制,2011,19(1):33?35.
[10] 北京阿尔泰科技发展有限公司.PCI8602数据采集卡软件使用说明书[M].北京:北京阿尔泰科技发展有限公司,2012.
图3 监测处理软件主流程图
3.2 数据采集模块设计
利用子VI提供的设备操作、数据读取等函数,可在LabVIEW中打开PCI8602.VI文件,将待调用接口单元图标,粘贴至用户LabVIEW应用程序中,然后按函数原型定义和说明连接该接口模块即可顺利使用。
该模块要使用7个主要的函数实现数据的采集。程序采用非空查询方式按顺序调用CreateDevice,InitDeviceProAD,StartDeviceProAD等7个函数,实现高速连续不间断大容量数据采集。重点应用VI函数如下:
(1) InitDeviceProAD为初始化AD设备函数,主要负责初始化设备对象中的AD部件,为设备的操作就绪做有关准备工作,如预置AD采集通道,采样频率等;
(2) ReadDeviceProAD_Npt为使用FIFO的非空标志读取AD数据,一旦使用启动设备AD函数后,需要立即用此函数读取设备上的AD数据,形式如图4所示。
图4 应用子VI中ReadDeviceProAD_Npt函数
(3) StopDeviceProAD为暂停AD设备函数,必须在调用启动设备AD函数后才能调用此函数,该函数除了停止AD设备不再转换外,不改变设备的其他任何状态。
3.3 数据存储模块设计
系统通过数据采集卡采集到的数据通过相关函数获得时间标识组合成波形数据后再进行存储。可指定数据文件的保存路径,写入电子表格文件,或者使用文件对话框选择现有文件或目录,或为新文件或目录选择位置存储。采集数据存储实现如图5所示。
图5 软件数据存储实现部分程序图
3.4 主界面设计
在LabVIEW开发环境下,只需要点击监测系统软件前面板上的软按键即可进入相应功能模块子VI界面并实现相应功能。主界面如图6所示。
图6 水声信号监测处理软件主界面图
主界面面板主要显示采集数据波形,波形显示调节、数据存储及相关参数计算等内容。程序数据采集功能实现主要通过调用PCI8602数据采集卡提供的LabVIEW编程子VI实现,该PCI8602.VI文件在数据采集卡配套支持文件中,只需调用子VI中提供控制函数即可实现数据采集卡的配置与控制。对相关数据的存储和分析处理则直接调用LabVIEW中已有的相关函数模块来实现。
4 结 语
依据水下设备日常维护与试验使用需求,本文设计了以标准水听器为前端传感器,采用PCI8602数据采集卡为核心器件,同时应用LabVIEW快速编程实现的水声信号监测系统,系统组成结构简单,软件编制简单快速,可对设备产生的水声信号进行监测、处理,为水下设备的可靠、正常工作,提供有效技术支撑。更换前端传感器后也可以适用于其他信号的数据监测与处理。
参考文献
[1] 陈国顺,张桐,郭阳宽.精通LabVIEW程序设计[M].北京:电子工业出版社,2012.
[2] 田京京,夏宁.LabVIEW入门与实战开发100例[M].北京:电子工业出版社,2012.
[3] JEFFERY Travis, JIM Kring. LabVIEW for everyone [M]. Third Edition. Beijing: Publishing House of Electronics Industry, 2012.
[4] 史阳,杨坤德,杨益新,等.水声数据采集与分析软件的设计与实现[J].电声技术,2012,36(9):50?52.
[5] 吴子岳,张艳乐,许哲.基于PCI?8602和LabVIEW的高速数据采集系统设计[J].微计算机信息,2010,26(10):92?94.
[6] 郭山国,陈永会,李海虹,等.基于LabVIEW和PCI8333的采集与分析系统的研究与实现[J].机床与液压,2011,39(10):107?109.
[7] 高龙,傅攀.基于LabVIEW和PCI?1711的高速数据采集系统[J].兵工自动化,2007,26(2):60?61.
[8] 王瑛,陈美玲,潘云.基于LabVIEW的水声遥控系统测试平台的设计[J].测控技术,2009,28(8):6?8.
[9] 王立,刘文怡,张国军.仿生矢量水听器水下监测记录装置[J].计算机测量与控制,2011,19(1):33?35.
[10] 北京阿尔泰科技发展有限公司.PCI8602数据采集卡软件使用说明书[M].北京:北京阿尔泰科技发展有限公司,2012.