李 斌 尚 超
(海军91388部队 湛江 524022)
传统的数据采集一般由单片机和硬件采集电路或数据采集卡配置计算机组成。这种数据采集系统具有开发难度大、数据采集效率低、存储容量小等缺点。针对传统数据采集系统的不足,本文利用PXI-4461采集卡、虚拟仪器软件(LabVIEW)及主控计算机,设计了一套水声信号采集系统,通过改变主控计算机上LabVIEW软件的程序,就可以改变系统的功能,从而实现了对水声信号的高速采样、存储、回放、信号处理及信号分析。
虚拟仪器VI(virtualinstrument)这一概念最早是由美国国家仪器公司(NI)在20世纪80年代提出来的,它主要由计算机、虚拟仪器软件及仪器硬件三部分组成。用户可以通过修改软件就能改变其功能。虚拟仪器是计算机技术和测量技术相结合的产物,它的出现给测量技术带来了变革,相对于传统仪器的物理面板,虚拟仪器具有一个十分友好的图形方式软面板[1]。虚拟仪器应用软件集成了信息采集、测试控制、数据分析、结果显示输出和用户界面等功能,用软件替代了部分或全部的硬件,因此,可以认为软件就是仪器,它是现代测试仪器系统的核心。
整个水声信号采集系统由水听器、PXI-4461采集卡、PC机、数据采集与处理软件组成。水听器连接采集卡的模拟量采集通道,这样就可实现采集卡对水声信号的采集,并通过PXI总线送给PC机,PC机在应用程序控制下,对水声信号进行处理,完成各种电量测试,并将采集到的水声信号数据存储到硬盘,最后在屏幕上以波形图和数据形式显示。整个系统的功能框图如图1所示。
图1 水声信号采集系统信号流程框图
PXI-4461采集卡是整个数据采集系统的核心,采集卡的A/D转换器的分辨率:24位;最高采样率:204kS/s;两路24位模拟输入和输出;具有同步触发功能;模拟输入范围:±10V。
LabVIEW是一种基于图形语言编程的可视化软件开发平台,与VC、VB等其他可视化编程语言相比,其函数库丰富、调试方便,而且开发界面简单,界面风格与传统仪器相似,它用图标、连线和框图代替传统的程序代码,可以形象地观察数据的传输过程。LabVIEW是目前国际上应用最广的数据采集和控制开发环境之一,它具有十分强大的功能,如数值运算、信号处理、数据分析、数据采集以及图形获取和传输等。
本实验系统主要由信号采集、存储、信号处理及信号分析等部分组成。系统的基本工作过程是:启动LabVIEW程序后,首先设置信号采集卡PXI-4461的通道、采样频率、触发类型、触发电平等,然后启动采集,进行连续采集并将采集到的数据存放到计算机硬盘。在保存信号数据的同时,程序会对采集到的信号进行滤波、Hilbert变换取包络、信号有效性判断、得出被测信号的时延值并以文本文件的格式保存起来。
PXI-4461采集卡直接采集水听器接收的水声信号,采集的结果直接影响后续的数据处理、分析。LabVIEW信号采集程序的编写主要包括:配置通道参数、触发设置、采样时钟设置、读取函数设置。图2是信号采集模块程序框图。
图2 信号采集模块程序
1)设置配置通道函数,可以设置信号的输入、输出通道名,按照所需要的任务设置成单通道或是多通道模拟信号、数字信号、计数器的输入或输出,本系统选择输入通道选ai0,电压测量,设置输入电压的范围是±5V。
2)设置触发模式,触发就是设置数据采集在什么条件下开始,这里选择数字信号触发,边沿设置数字信号的上升沿或下降沿触发,本系统中设置为数字信号的上升沿触发。
3)设置采样时钟,设置采样模式、采样率和每通道采样数。PXI-4461采集卡的最高采样率是204kS/s,采样时钟的采样频率一般最小是被采集信号频率的两倍。
4)设置读取数据函数,可读取一个或多个通道的数据,数据类型可以是双精度浮点型和波形数据。设置每通道的采样数,如任务进行连续采样且该输入的值为-1,VI将读取缓冲区中当前可用的全部采样。如采集一定数量的采样且该输入的值为-1,VI将等待任务获取全部所需采样,然后读取采样。本系统读取函数选择模拟单通道多采样1DDBL。
图3 数据存储模块
图4 数据回放模块
数据存储模块子程序可以利用写入测量文件VI存储文件,在写入测量文件VI的属性中可以设置保存文件的类型,文件的类型主要有文本格式和二进制格式。如设置文件格式为基于文本的测量文件(.lvm),则在文件名称中设置文件扩展名为.lvm。如设置文件格式为二进制测量文件(.tdms),则在文件名称中设置文件扩展名为.tdms。
数据回放是为了使用户在实时采集存储和数据分析测量后,重新对信号做进一步的分析和处理,LabVIEW软件中有现成的读取文件的VI,可将采集到的波形和数据读出来。同理,根据存储的文件类型设置读取文件的类型,可以利用波形图控件显示存储的波形文件。
数据处理是通过滤波、降噪等手段,得到我们想要的有用信号,数据分析则是通过运算等方法分析信号,使我们对信号有进一步的认识。LabVIEW软件中一般选用Butterworth滤波器对信号滤波,得到理想的信号,对信号进行时域分析和频域分析。
图5 信号处理分析模块
本系统的设计目的是通过采集信号,检测被测信号的时延值。实验室利用信号发生器模拟目标发出30KHz的信号,周期是1s,脉宽10ms,经发射换能器从水中发射出去,接收水听器接收到30KHz的信号后,通过采集卡的模拟输入通道被采集卡采集。采集到的信号经Butterworth滤波器滤波,去除噪声,对滤波后的信号进行Hilbert变换,取信号的包络,利用阈值检测控件判断信号的有效性,从而得出被测信号的时延值。图6为系统程序的前面板和程序框图。
图6为LabVIEW程序的前面板,可以直观的看到我们采集到的信号的波形图,我们选取的是PXI-4461采集卡采集信号,因为只有一路信号输入,所以我们选择模拟输入ai0通道,输入电压范围设为±5V,采样率设为100KHz,触发信号设为数字信号触发,数字信号上升沿时触发数据采集。程序主要设计功能包括:采集信号、将信号存储起来、对信号滤波、对滤波信号进行Hilbert变换取包络、利用阈值检测VI对信号进行有效性判断,得出时延数据、最后将检测的时延数据保存到当前文件目录下的文本文件中。
图6 程序设计的前面板
本采集系统主界面采用菜单式设计,各个功能以模块化编程,各模块都有自己的前面板,程序的可移植性比较强。采集程序实现了对水声信号的采集、存储、信号分析,最后得到了所需要的时延数据,并以文本的形式将时延数据保存了起来,通过对时延数据的处理,可测出试验母船距目标的距离。
LabVIEW是一种图形化编程语言,功能强大,PXI-4461采集卡的DAQmx数据采集方法简单易学,操作方便。通过修改前面板的控件参数就可以轻松地实现对程序功能的改变,真正将人从编程中解放了出来。只需了解和掌握驱动程序的功能,就能利用LabVIEW进行数据的开发和运用,这对我们在实验室对试验进行仿真提供了很大的便利,必将成为未来数据采集发展的趋势。
[1]张桐,陈国顺,王正林.精通LabVIEW 程序设计[M].北京;电子工业出版社,2008.
[2]林正盛.虚拟仪器技术及其应用[J].电子技术应用,1997(3).
[3]王俊峰,等.基于LabVIEW的信号处理虚拟实验系统[J].国外电子测量技术,2006(10).
[4]蔡国英,张宏群.基于LabVIEW的信号产生与分析系统[J].国外电子测量技术,2007,26(7):12-14.
[5]连海洲,赵英俊.基于LabVIEW技术的虚拟仪器系统[J].仪器与测控,2001(8):21-23.
[6]佟春明,王天利.基于LabVIEW的信号处理系统开发[J]辽宁工学院学报,2003,23(6):17-20.
[7]张旭,张春梅,王尚锦.虚拟仪器软件LabVIEW和数据采集[J].微机发展,2004(3):77-79.
[8]惠俊英,生雪莉.水下声信道[M].国防工业出版社,2007(2):1-22.
[9]宋新见,惠俊英.水下噪声目标被动测距技术研究[J].应用声学,24(3):133-136.
[10]周德超,罗亚松.参数可调数字式声纳浮标系统的硬件设计[J].计算机与数字工程,2011(10).
[11]李启虎.水声学研究进展[J].声学学报,2001,26(4):295-301.