基于虚拟仪器技术的多功能水声信号发生器*
2013-08-10李斌尚超
李 斌 尚 超
(91388部队94分队 湛江 524022)
1 引言
在水声学实验中,获得水声信号源的常用方法是利用信号发生器产生电信号,通过功放将信号放大后送到发射换能器以发射水声信号。传统的信号发生器一般只能产生几种常规的波形,不能生成我们实验所需的复杂和特殊的信号,即便一些高档仪器能够实现,其价格也极其昂贵,功能单一,不具备用户对仪器定义及编程的功能。一个传统的实验室不可能同时拥有各类信号发生器,然而,虚拟仪器技术的发展为解决这一问题提供了可能。
虚拟仪器[1]是应用于通用计算机上的一种软件与硬件的组合,以通用计算机和配备标准数字接口的测量仪器(GPIB,RS-232VXI等)为基础,直接利用计算机丰富的硬件(微处理器,存储器,显示器等)和软件(软面板,图形界面数据处理,信息交换等)资源,将计算机和测量组件等硬件资源与计算机软件资源有机地结合起来,把传统仪器的专业化功能软件化,使之与计算机融为一体,构成一台从外观到功能都完全与传统硬件仪器相同,同时又充分享用计算机智能资源的全新的仪器系统。本文结合实验的需要,利用 NI PCI-4461采集卡等硬件,使用 LabVIEW2010[2]虚拟仪器开发环境设计开发了一种水声信号发生器,该信号发生器能够为水声学实验提供所需的各种信号源,并可以实现任意波形的编辑、输出显示、波形分析及数据存储。
2 虚拟水声信号发生器的总体指标设计
虚拟水声信号发生器的功能设计参考了常见信号发生器的功能,并结合虚拟仪器基于计算机的特点,在功能上有所扩展,实现的主要功能如下:
1)可产生10Hz~40KHz的正弦波、方波、三角波、锯齿波、白噪声以及任意波形;
2)任意波形的发生,任意波可实现公式输入;
3)信号频率、幅度、相位、偏移量可调可控;
4)方波占空比可调;
5)噪声任意可加、创建友好界面、信号波形显示;
6)采样频率和采样点数可以随信号频率在档位变化时调节。
3 虚拟水声信号发生器的硬件组成
水声信号信号发生器的硬件主要由PC机、D/A数据转换卡及换能器组成。整个程序的软件就是在PC机上操作,通过修改软件的参数,就可以轻松实现对信号发生器功能的改变,D/A数据转换卡将LabVIEW程序生成的信号数据通过BNC口传送给换能器。换能器将信号发生器生成的电信号转换成水声信号发射出去,满足我们实验的需要。
D/A数据转换卡是整个水声信号发生器的核心,转换卡的D/A转换器的分辨率:24位;最高采样率:204kS/s;两路24位模拟输入和输出;具有同步触发功能;模拟输入范围:±10V。
图1 虚拟水声信号发生器硬件构成
4 虚拟水声信号发生器的软件设计
4.1 虚拟水声信号发生器的前面板设计
软件设计是虚拟函数信号发生器设计的核心。Lab-VIEW程序由两部分组成:前面板程序和框图程序。整个程序基于多线程设计,即前面板和系统程序各占用一个线程。虚拟水声信号发生器的前面板如图2所示。前面板是用户接口,即交互式界面,用户可以通过修改前面板参数,就可实现对程序的改变。在前面板中,使用了各种仿真图标,如开关、旋钮等,并以数字或实时趋势图等各种形式输出测试结果,来模拟真实仪器的面板。在前面板中通过鼠标和键盘修改参数,就可以改变仪器的功能,同时,前面板上可以显示出信号发生器生成的信号波形,便于我们观察和监测。
图2 虚拟水声信号发生器的前面板
4.2 系统程序设计
程序的编写是水声信号发生器设计的重点和难点,本系统利用LabVIEW图形化编程语言进行程序编写,程序设计主要包括三大部分:
4.2.1 信号生成和显示
信号生成和显示部分是整个软件的核心部分,在应用程序中产生各种信号,并可以在前面板中显示出来,信号的生成模块主要包括以下三个模块:
1)基本函数波形产生模块
该模块是试验中最常运用的模块,是应用波形产生子模板中的基本函数发生器(VI)节点来产生正弦波、三角波、方波、锯齿波等四种常规信号。
图3 基本函数波形产生模块程序框图
2)任意函数波形产生模块
该模块后面板框图程序如图4所示。为了能够产生一些非周期信号或其它测试领域的特殊信号在本设计中应用波形产生子模板中的公式波形VI节点来产生任意波形。该节点可使用指定时间函数的公式字符串生成一个函数波形。在formula端子输入公式,用于生成输出多频波形信号的表达式,表达式中包含的参数有:f(输入频率)、a(输入幅度)、n(采样点数)、t(时间)和fs(采样频率)。
图4 任意函数波形产生模块程序框图
3)噪声信号产生模块
该模块可以根据需要对产生的波形信号进行叠加噪声。通过选择噪声的标准差和种子数,可以叠加不同的高斯白噪声。本设计中噪声信号发生器的实现主要是应用波形产生子模板中的Tones and Noise Wave form.VI节点来产生叠加在正弦波上的高斯白噪声信号。
图5 噪声信号产生模块程序框图
4.2.2 采集卡数据采集生成信号部分
LabVIEW软件生成的信号并不能直接通过换能器发送出去,必须通过与LabVIEW程序相匹配的NI公司的D/A数据转换卡才能将软件生成的数据转换成电信号,进而通过采集卡的BNC接口将信号送给换能器。
图6 数据采集生成部分程序框图
4.2.3 数据存储和处理部分
数据存储是整个程序设计的一个重要部分,用于事后对信号做进一步的分析和处理,便于对整个实验总结,对分析数据起着非常重要的作用。
数据处理部分的作用,就是将才产生出的信号通过不同形式的检波、计算,得出规定的不同结果。在本设计中需要显示信号的频率、峰值和平均值。
图7 数据存储模块
5 实验室实验结果
为了验证虚拟水声信号发生器的可靠性,实验室利用虚拟水声信号发生器发出30KHz的调制信号,周期是1s,脉宽10ms。水声信号经发射换能器从水中发射出去,利用监测水听器接收换能器发射的水声信号,以此来验证虚拟水声信号发生器产生的信号的有效性。图8为监测水听器采集的部分信号。此系统已经过多次实验的考验,在不同的实验中很好地完成了不同类型,不同功率的信号产生任务。在这些实际使用中已经证明,此基于虚拟仪器技术的水声信号发生器功能强大,性能稳定,用途多样,操作使用简单,可以在大量的水声学实验中,作为通用的水声信号发射平台使用。
图8 监测水听器采集的部分信号
6 结语
本文介绍了如何利用虚拟仪器技术开发水声信号发生器,并对信号发生器的每个模块进行了详细的论述。该水声信号发生器具有产生信号精度高、功能强、使用方便、设备费用低、用户自定义功能及操作方便灵活等优点,而且由于虚拟仪器的功能是由软件来完成的,软件即仪器,仪器功能的修改和升级很方便。实践证明,采用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]刘丽桑.基于LabVIEW的虚拟信号处理系统[J].工业控制计算机,2007(9):53-54.
[9]封金鑫,丁士圻.水下运动目标长基阵定位解算研究[J].声学学报,1996(5).
[10]李晓峰,张红民,梅康平.基于LabVIEW的多通道多参数虚拟仪器设计[J].计算机与数字工程,2008,36(3).
[11]赵政春,邓曙光,谭跃.基于LABVIEW的数据采集与分析系统[J].计算机与数字工程,2010,38(5).
[12]朱春峰,张立民,张兵强.基于仿真信号的虚拟示波器的设计与实现[J].计算机与数字工程,2008,36(12).
[13]于平.两种水声导航定位算法的应用与分析[J].靶场试验与测量,2004(1):21-23.