水下声学中,经常会涉及到一些水声测向方面的设备,这些设备多是基于水听器来进行测向。有时候有些设备还会要求到实时或者准实时处理接收到的水声信号,如为水声信号滤波。因此水声应用往往要涉及到很高的硬件处理性能,如现在比较流行的FPGA和DSP等。但对于不同要求的设备,需要特殊定制相关硬件,可能会导致开发的周期加长,并且后续的相关调试也是一个可能存在的大问题。
目前常用的水听器分为标量水听器和矢量水听器。对于标量水听器来说,可以使用2个标量水听器,采用互功率谱法测向[1]。该方法首先对2路水声信号进行采样, 得到2组离散的数据, 然后利用互相关原理对这2组数据进行处理,求出2组数据的互功率谱,这其中包含2信号相位差的信息,通过2组信号的相位差就可以计算出水声信号源的方向[2]。
对于矢量水听器来说,其根据自身的结构可以同时获得水声信号的压强以及振速,利用声压以及振速信息可以计算出目标方位[3]。该方法是将矢量水听器的X,Y以及 P通道的信号采样,根据3组信号,采用互功率谱的方法计算水声信号的方向。
LabVIEW是美国国家仪器公司推出的一套虚拟仪器,包括相应的软硬件产品。其可以搭建实验验证演示系统,甚至直接使用其开发产品,完成项目工程中的应用。而对于其软件来说,图形化的编程语言可以方便快速的开发程序,并且其硬件产品可以满足常用应用。
本文将LabVIEW系统应用于水声测向中,利用互谱测向算法,分别基于标量水听器和矢量水听器,计算采集到的声源方向。验证基于LabVIEW虚拟仪器系统在水声应用中的可行性,为未来水下设备开发及水下项目实施提供一个新的思路。
1 基于LabVIEW的标量水听器测向 1.1 标量水听器测向原理本设计是基于标量水听器测向,其方法是利用双路标量水听器采集信号,并计算采集到的信号间相位差,计算相位差的方法主要是利用两信号的互功率谱的虚部和实部可以表示信号间的相位差,进而推算出信号间时延,求得信号方向。其原理如图 1所示。
图 1中S1和S2为两路标量水听器,s1和s2分别为到达水听器s1和s2的水声信号,角度α为水声信号与水听器连线间的夹角,也就是声源的方向,d为两路水听器之间的距离。信号从远处到达水听器S1和S2,可以将其看作是平行的两路信号,因为其与水听器间连线方向具有α角度的相位差,因此水声信号s1和s2到达水听器就会有一个时间差τ,体现在水听器接收到的两路相同的信号上会有一个相位差。其公式为:d × cosα=τ × c。其中c为水声声速,因此可知α=cos-1(τ × c ÷ d),因此可以计算出声源的方向α。其中d与c已知,只需要计算出τ即可。τ为2路信号的时间差,可以转换到2组信号的相位差上,因此求得s1与s2的相位差即可计算出时延τ,进而计算出声源方向α。而对于相位差来说,可以采用互功率谱的方法求得。互功率谱简称互谱,它反映了2个信号中共同的频率成分。互功率谱为复频谱,包括模和相角2部分,模的大小等于2个信号中共同频率分量幅值乘积的1/2,相角等于它们的相位差[4]。互功率谱计算公式如下:
$ {S_{xy}}(\omega) = \int\limits_{-\infty }^{ + \infty } {{R_{xy}}(\tau){e^{-j\omega \tau }}{\rm d}\tau } \text{,} $ |
式中:Rxy(τ)为信号X与Y的互相关函数。离散化后等效为:
$ {S_{xy}} = {\rm{FFT}}(s_1) \times {\rm{FFT}}(s_2)\text{,} $ |
因此可求出两信号相位差:
$ \phi = \arctan ({\rm{Im}}(\max ({S_{xy}}()/Re (\max ({S_{xy}})))\text{。} $ |
实际计算中需要找出频谱中幅度值最大的位置来计算,这样才是实际的水声信号的相位差,频谱幅度最大值的地方才是信号的频率,采用该点计算出的相位值为水声信号的相位差值。但这要保证信号和噪声具有一定信噪比的前提下,如果信号和噪声的信噪比很小,那么计算的频谱会有很多尖峰,则无法保证所找到的频率为信号的频率[5-6]。因此为提高信噪比,要加入滤波算法。LabVIEW系统配合其硬件系统,可以实现硬件滤波的效果。这里的硬件系统采用PXIE-1071,其内部含有一颗FPGA芯片,包含了数个DSP的IP核,通过FIR滤波器算法和DSP核可以实现逐点滤波的效果,大大提升了滤波运算的速度[7]。逐点滤波即为可以将采样到的信号实时滤波,每采样到一点立即和之前的n-1点进行n点的FIR滤波运算,在下一个采样之前可以返回滤波后的信号,相当于实时滤波运算。利用滤波后的信号值可以大大提升计算的准确性。
1.2 具体实施方法: 1.2.1 滤波器设计实现首先,根据信号和噪声的特性,计算出n阶的FIR滤波器系数,并将系数导入到LabVIEW的FIR滤波器生成器中,如图 2(a)所示。再将采集到的信号连入到生成的FIR滤波器IP核中,其输出信号即为所要求的滤波后信号,如图 2(b)所示。
图 2所示为基于PXIe-1071的FPGA的硬件滤波器,利用其硬件DSP核来进行滤波可以提升运算速度,减轻上位机CPU的运算压力。DSP的FIR滤波运算采用64点或者128点较好,因为根据现在的硬件性能,如果采用太长阶数的FIR滤波器来计算,那么没有办法在下一个采样点到来之前返回滤波后的信号值。如果滤波器阶数太短,那么滤波的效果不会达到要求。
1.2.2 互功率谱测向实现互功率谱测向算法在PXIE-1071的处理器上实现,采用高性能处理器运算,在算法实现的灵活度上要好于在FPGA端实现,并且该方式更易于修改程序。主要程序如图 3所示。
图 3中ch1和ch2表示2路水听器采集到的信号,该信号已经经过硬件实时的FIR滤波器滤波,每组通道可以取任意长度,但是后面的运算会使用到FFT运算,因此为了充分利用硬件,最好每组通道采用2的整数次幂的长度的信号,通常可以使用1024或者2048长度的信号[8]。
1.3 验证验证方式采用两个标量水听器,将标量水听器分别接到LabVIEW系统的两路模拟输入通道上,2个水听器中心间距为0.05 m,声源信号为3 kHz的脉冲信号,采样率为100 Ksample/s。声源在水池中的固定位置,通过转动标量水听器来模拟声源在不同方向。程序运行如图 4所示。
图 4所示为双标量水听器采集到的信号,经过上述方法计算后的声源方向。经过测量后发现,实际测量精度随信号的信噪比上升而上升。在测验中信噪比为20 dB时,在120°开角范围内误差约为1°~3°。该系统运行稳定良好,并可以根据需求灵活的改变程序以测试不同算法的优缺点。
单矢量水听器共有:声压信号x,y以及振速信号p 3路信号。矢量水听器基于自身的结构可以采用复声强器计算接收到的水声信号的方向,其本质也是互功率谱测向的一种。首先要对矢量水听器的声压Vx(t)和Vy(t)以及振速Vp(t)进行傅里叶变换,得到相应的谱X(ω),Y(tω)以及P(ω),则其每路声压信号分别与振速信号的互功率谱为:
$ \begin{array}{l} {S_{px}}(\omega ) = P(\omega ) \cdot {X^ * }(\omega )\text{,}\\[5pt] {S_{py}}(\omega ) = P(\omega ) \cdot {Y^ * }(\omega )\text{,} \end{array} $ |
其中水声信号的能量主要集中在互功率谱的实部,通过因此基于单矢量水听器的水声信号的测向公式为
$ \theta (\omega ) = \arctan \left( {\frac{{Re ({S_{py}}(\omega ))}}{{Re ({S_{px}}(\omega ))}}} \right) = \arctan \left( {\frac{{Re (P(\omega ) \cdot {Y^ * }(\omega ))}}{{Re (P(\omega ) \cdot {X^ * }(\omega ))}}} \right)\text{。} $ |
同理,为了保证测向的效果,需要为每一路信号进行滤波。
2.2 具体实施方法: 2.2.1 滤波算法矢量水听器的滤波同标量水听器的滤波方式相同,也是根据水声信号的特性以及噪声信号的特性设计n点的FIR滤波器,不过对于一个矢量水听器来说,需要为其的3个通道分别滤波。
2.2.2 测向算法测向算法基于上述公式在高性能处理器端实现,这样设计比较灵活,而且易于实现。其LabVIEW程序如图 5所示。
图 5中vx,vy,vp分别表示矢量水听器的3个通道,每组通道长度取1 024个点,因为这样是2的整数次幂,在运算时可以充分利用水声信号,而不用通过补零来计算,减少了通过补零带来的误差。
2.3 验证验证方式采用单矢量水听器,3个通道分别输入到LabVIEW系统的3个AD通道。水下声源为3 kHz单频声源,固定于水池中,通过转动矢量水听器来模拟不同方向声源。程序运行如图 6所示。
图 6所示为矢量水听器测向程序,图中可以显示所采集到的信号,并且计算出了信号频谱。通过实验观察发现,程序运行在120°开角范围内误差约为1°~4°,误差稍大是因为矢量水听器有指向性,这个可以通过后续的算法来进行修正。通过使用该设计,可以快速搭建实验平台,将重心更多的放在算法的设计上,这也是使用该系统的初衷之一。此外该系统软硬件运行稳定可靠。
3 结语本文将LabVIEW虚拟仪器系统应用于水声测向领域中,结合了互谱测向方法,分别对标量水听器和矢量水听器进行了验证。使用该设计最大的优点是结合了LabVIEW系统的硬件,完成了硬件的实时FIR滤波,缩短了信号的处理时间。此外还具有开发周期短、硬件设备可靠、程序设计灵活简便、整体系统具有可多次反复开发的优点。但是不得不提的是,因为LabVIEW的硬件系统是定型的,因此在使用中其体积、功耗以及便携性上都具有一定的限制。因此是否使用虚拟仪器需要综合考虑。
[1] | KHAIL I A, DURAID F M. Design of wideband radio direction finder based on amplitude comparison[J]. Al-Rafidain Engineering , 2011, 19 (5) :77–86. |
[2] | TIAN Tan. Sonar technology[M].2010:46-62. |
[3] | CHEN Tao, HAN Qiang-qiang, LIU Lu-tao, et al. Improved wide-band direction finding algorithm based on cross-spectr[J]. Systems Engineering and Electronics , 2014 (5) :879–883. |
[4] | LIN Jing, LIN Zhen-yu, ZHENG Fu-rong. LabVIEW virtual instrument programming from entry to the master[M]. 2010:458-472. |
[5] | ZHOU Hui, HAN Yan. Software design of acoustic signal orientation system based on LabVIEW[J]. Journal of Detection & Control , 2007 (10) :73–77. |
[6] | GUI Ren-zhou. Instrument of phase measurement based on virtual instrument technology and correlation theory[J]. Instrument Technique and Sensor , 2004 (5) :8–12. |
[7] | ZHANG Liang, TIAN Tian, MENG Chun-xia. Identifying multiple targets by a single vector hydrophone based on the cross-spectrum goniometry[J]. Ship Science and Technology , 2009 (10) :18–20. |