海底三维声学图像实时处理系统设计

2014-11-22 01:00李志华李秋峦
海洋工程 2014年4期
关键词:离线信号处理声学

李志华,李秋峦

(1.杭州师范大学 信息科学与工程学院,浙江 杭州 311100;2.浙江大学 数字技术及仪器研究所,浙江杭州 310027)

随着水声探测在海洋资源开发中的广泛应用,水声技术就成为水下信息探测、定位和通信的有效手段,用于水下探测的声学设备得到了深入研究与应用[1-2]。数字信号处理技术的迅速发展,使得波束形成声学成像声纳得到越来越广泛的研究与应用。王继胜等[3]实现了一种基于IP 网络互连的、以并行DSP 为处理节点的多波束剖面声纳系统,系统中的每个处理节点与数据采集转换部分采用TCP/IP 网络连接,可以通过物理上添加一个或多个处理节点成倍提高系统的信号处理能力。王晓峰等[4]研制了64 通道接收机波束形成硬件平台和软件算法,并且在5 片TMS320C6416DSP 处理器构成的并行处理机上,完成了并行处理算法的实现。张小平等[5]进行了多DSP 节点的声纳信号并行处理系统的设计与实现研究。

为了获得距离、水平、垂直三维空间信息,实现高分辨率的实时水声探测,三维成像声学系统近年来引起了各国政府、机构和学者的广泛关注[6-7]。采用48 ×48 个声学换能器阵(2 304 个通道)发射单脉冲声波信号进行128 ×128 个波束形成,工作频率300 kHz,角度分辨率0.5°,工作距离2 ~200 m,距离分辨率2 cm,声摄像速率2 ~20 次/秒,每个扫描点占用8 B(其中强度信息4 B,水平与垂直角度坐标各1 B,层数k 占2 B),因此仅单层数据量最大为128 ×128 × 8 B =131 kB,因此系统性能瓶颈问题相当突出,其难点主要在于如何将海量声学数据从采集端快速上传至PC 客户端,以及如何确保对这些海量数据进行实时处理。为解决这些问题,文中未采用传统用户空间TCP/IP 传输机制,而是直接通过嵌入式PowerPC 处理器在Linux 内核态采用DMA 机制进行声学数据转发,减少系统调用和数据拷贝开销,有效提高网络传输效率,同时PC 客户端图像处理系统采用多线程并行处理架构,均衡多个CPU 核之间负载,实现高性能三维声学图像实时处理。

1 三维声学图像实时处理系统框架

三维声学图像实时处理系统主要包括声学前端信号处理子系统、三维声学数据传输控制子系统以及PC客户端三维声学图像处理系统三个部分,其总体结构如图1 所示。声学前端信号处理子系统根据接收到的多路声学换能器信号,通过两级FPGA 信号处理,采集多通道水声信号,进行实时电子聚焦波束形成。三维声学数据传输控制子系统主要实现三维声学数据网络转发、网络命令收发和处理、FPGA 代码更新、应用程序更新以及I2C、SPI、GPIO 接口配置等功能。PC 客户端三维声学图像处理系统主要实现三维声学数据网络接收、三维声学数据实时存储、GPS/姿态传感器信息获取、三维声学图像在线处理、三维声学图像离线处理以及网络命令处理、代码更新等功能。下面对该系统进行逐一详述。

图1 海底三维声学图像系统总体结构图Fig.1 System framework of 3-D imaging sonar system

图2 海底三维声学图像采集与传输子系统Fig.2 Data sampling and transmission subsystem

2 三维声学图像前端信号处理与传输控制子系统

2.1 三维声学前端信号处理与传输控制子系统硬件结构

三维声学前端信号处理子系统采用Xilinx Spartan 系列FPGA[8-9]芯片作为主要的信号处理器件,主要由多块主信号处理板和子信号处理板构成,如图2 所示。在子信号处理板上,首先接收换能器产生的微弱电信号,然后对信号进行固定增益放大和时间增益(TVG)控制等信号调理,最后再对多路数据进行同步A/D 采样(由于发射信号频率为300 kHz,所以ADC 的采样频率采用三倍信号频率进行采样,即900 kHz,并在同步时钟控制下对多路数据进行同步采样),存入FPGA 内部RAM 构成的缓冲区中(其中子信号处理机资源需求为SLICE 数量825,LUT 数量1 048,18 ×18 的乘法器数量2,RAM 模块数量10)。在FPGA 内部实现对采样数据的缓存和离散傅里叶变换运算,将变换后的数据通过高速串行接口传输给主信号处理板。多块主信号处理板将数据重新组合后,进行乘累加运算,最终形成声学波束数据,并将结果串行传输给三维声学数据传输子系统。

三维声学数据传输控制子系统采用嵌入式PowerPC 处理器[10-11]作为主CPU,以I/O 口线中断作为握手信号,利用本地总线通过双口RAM 获取FPGA 采集的声学信号,并将波数据进行打包,借助千兆以太网口传输给干端的PC 客户端三维声学图像处理系统。此外嵌入式PowerPC 处理器对各子信号处理板提供TVG 控制、命令控制、同步时钟等信号,并实现参数设置、代码更新等功能。

2.2 三维声学数据传输控制子系统软件设计

三维声学数据传输控制子系统软件采用嵌入式Linux 作为操作系统平台,声学数据采集与网络转发均运行于Linux 内核态,大大减少了Linux 系统调用次数和用户态/内核态数据拷贝开销,显著提高了网络数据传输效率,其软件系统结构如图3 所示。

图3 数据传输子板软件系统结构Fig.3 Data transmission subsystem software structure

数据传输控制子系统软件包括嵌入式Linux 应用程序和Linux 内核驱动程序两个部分:

1)嵌入式Linux 应用程序

①命令交互和处理模块

三维声学数据传输子板软件应用程序的主线程,作为TCP 服务器接收PC 端的连接,获取命令请求,包括参数设置,启动、停止FPGA 采集数据发送等;

②FPGA 及应用程序代码更新模块

实现PC 通过网络动态更新FPGA 和应用程序代码的功能,采用MD5 校验算法保证镜像文件的正确性和完整性。

2)Linux 内核驱动程序

①FPGA 数据转发及网络驱动模块:由于传统用户空间TCP/IP 传输机制会带来巨大的系统调用和数据拷贝开销,为了有效提高网络传输效率,系统直接通过嵌入式PowerPC 处理器在Linux 内核态采用DMA 通道进行声学数据转发。嵌入式PowerPC处理器在burst 突发模式下获取声学数据,并利用PowerPC 处理器的大端网络字节序特性,在Linux 内核态采用DMA 机制进行数据转发(达到200 Mbps 峰值带宽),实现三维声学数据传输子板声学数据的DMA 读取、中断响应以及数据打包和网络转发等功能,向应用程序提供FPGA 的寄存器配置、网络参数设置等函数库。

②驱动模块:封装内核I2C 接口,向应用程序提供配置主FPGA 子板的函数库。

③GPIO 驱动模块:实现GPIO 口线的高低电平控制,向应用程序提供GPIO 操作函数库。

④SPI 驱动模块:实现SPI 数据读写,向应用程序提供烧写声学前端信号处理子系统flash 的函数库。

3 PC 客户端三维声学图像处理系统软件结构

PC 客户端三维声学图像处理系统包括在线处理、离线处理以及可视化显示。在线处理用于三维声学图像数据的实时重建、实时配准、实时拼接等,而离线处理用于对存储的声学数据进行更高精度和广度的全景拼接,弥补在线处理过程中由于实时性要求而损失的精度和广度特性,主要实现动静目标识别以及三维声学图像海量存储数据的高精度离线配准最优化和全景拼接等功能。为了提高离线处理过程中精确配准的精度与运行效率,系统融合在线处理过程中快速配准获得的配准矩阵,将其作为离线处理过程中精确配准的迭代初始点,减少迭代次数,以加快收敛速度。相控阵三维声学图像处理系统软件包括在线处理、离线处理以及三维图像显示三个模块,如图4 所示。

图4 客户端图像处理系统软件结构Fig.4 Client image processing software structure

3.1 在线处理模块

1)三维声学数据网络接收

通过千兆以太网实时接收嵌入式PowerPC 处理器转发的三维声学数据,并进行解析分包。

2)三维声学数据实时存储

实时存储每帧三维声学数据于本地硬盘中,同时包括每帧的GPS 信息与姿态传感器信息,进行目录管理与文件管理,用于后续查询和离线处理。

3)网络命令处理

进行网络参数设置与状态查询。

4)GPS/姿态传感器信息获取

获取每帧三维声学数据采集时所处的GPS 坐标信息与姿态信息,用于后续配准,并进行GPS 位移信息与姿态信息的硬盘存储,便于离线处理时使用。

5)三维声学数据单帧实时重建

对三维声学数据采集子板上传的三维声学数据进行解析,通过网格搜索和三角面片连接实现单帧多层实时重建。

6)三维声学数据快速配准

根据GPS 和姿态仪获取的位移和姿态信息,对相邻两帧数据进行初始配准,利用反向投影将前帧投影到后帧,并通过最近点搜索实现相邻两帧的快速配准。

7)三维声学数据实时拼接

利用参考网格将前后帧图像光栅化,获得交叉点。删除高频成分后,两帧图像根据阈值进行拼接融合,并获得一致的网格数据。

8)动静目标识别

根据配准矩阵将相邻两帧数据转换到同一坐标系后,对后帧所有处于重叠区的目标在前帧中寻找特征相匹配的目标,特征提取与匹配的参数包括:

①△S/S:相邻帧中两个目标大小的绝对差值与后帧目标大小的比值;

②(△Xm,△Ym,△Zm):相邻帧中两个目标质心坐标的距离;

③(△Xl/Xl,△Yl/Yl,△Zl/Zl):相邻帧中两个目标X 轴、Y 轴、Z 轴三个方向上长度的绝对差与后帧目标长度的比值;

④(△Xc,△Yc,△Zc):相邻帧中两个目标外接立方体中心坐标的距离;

⑤△N/N:相邻帧中两个目标边界点数的绝对差值与后帧目标边界点数的比值。

通过对上述特征参数赋予归一化权重,并将加权后的特征参数值累加,与设定阈值进行比较以判定是否能够匹配。

3.2 离线处理模块

1)三维声学数据读取与解析

包括GPS 坐标信息、姿态信息、声学点数据读取和解析,并将球面坐标(i,j,k)转换为(x,y,z)三维坐标。

2)单帧多层重建模块

其原理与在线处理模块中的三维声学数据单帧实时重建类似。

3)三维数据精确配准

对具用重叠区域的两帧采用最近邻点迭代方法,并进行外围点消除处理(即消除不在重叠区域内的采样点),实现高精度配准。

4)全局拟牛顿最优化

充分利用所有具有重叠区域的声学帧之间的配准信息,使配准误差均衡化。

5)三维数据全局拼接及再重建

其原理与在线处理模块中的三维声学数据实时拼接类似。

3.3 三维显示模块

1)三维图像单帧显示模块

从X 轴、Y 轴、Z 轴三个视角顺序显示重建后的单帧三维数据,包括在线处理和离线处理过程中的所有单帧声学数据。

2)三维数据多帧显示模块

全局显示拼接后的所有帧三维数据,包括在线处理和离线处理过程中的所有拼接声学数据。

3.4 PC 客户端三维声学图像处理系统并行优化

系统的三维声学图像数据量巨大,其中每帧数据仅一层扫描点数最多128 ×128,每个扫描点占用8 B(其中强度信息4 B,i、j 坐标各1 B,层数k 占2 B),因此单层数据量最大为128 ×128 × 8 B =131 kB,系统性能瓶颈问题相当突出,需要对图像处理系统软件进行高效优化。在基于多核处理器的PC 硬件平台中,系统软件设计若采用单线程运行结构,将会出现某个CPU 核运算负荷超载而其他CPU 核非常空闲的不均衡状态。为了提高相控阵三维声学图像在线处理系统软件的实时性能,本系统将在线处理算法中的各个模块进行并行流水线处理,采用多线程并行处理架构,均衡多个CPU 核之间的负载,实现多核CPU处理能力的最大效能。

图5 PC 端图像在线处理系统并行处理结构Fig.5 Client parallel processing structure

由于在线处理系统中三维声学数据单帧实时重建、三维声学数据实时拼接算法非常复杂与耗时,成为在线处理系统的性能瓶颈,因此将三维声学数据单帧实时重建算法和三维声学数据实时拼接算法根据声学数据点的(i,j)范围进行32 等分分割,然后采用32 个子线程对每份数据进行并行处理,同时对分割数据的边界进行拼接与融合后处理,显著改善三维声学数据单帧实时重建算法和三维声学数据实时拼接算法的效率,其结构框图如图5 所示。

4 实验结果分析

4.1 系统功能测试

系统在设计实现完成后,为了充分验证系统功能和性能,在室内水池、千岛湖试验基地和海洋环境三种环境进行了测试,各项功能参数达到了系统设计的技术指标。图6 所示为在千岛湖实验基地进行湖试的正方体铁框成像效果,铁框边长1.5 m,与发射换能器距离8 m,图中上方为球锥形三维声学图像效果,下方为单帧声学图像帧的XY,XZ,YZ 三个视角显示效果。实验结果表明,算法能够对点、线、面、立体各种体形物体进行正确地成像。图7 所示为千岛湖实验基地的湖底拼接成像效果,图中上方拼接图片的左边那根细线为固定千岛湖水上实验基地的一根水下钢缆。

系统为了验证动静目标识别功能进行了连续的动态目标检测试验,目标为人工操作的铁皮空心棒。图8 为PC 客户端运动目标识别系统软件界面,其中右下角白色长方体框展示了识别出的动态目标;图9 为声学系统与运动目标相距100 m 的识别结果。实验结果表明系统在移动扫描过程中能准确实时地识别出物体旋转、轴向等常规运动。

图6 立方体框成像效果Fig.6 Imaging result of cube frame

图7 千岛湖基地湖底拼接效果Fig.7 Mosaicing image of Qiandao Lake bottom processing structure

图8 运动目标识别软件界面Fig.8 Moving recognition software interface

图9 运动目标相距100 m 的识别结果Fig.9 Moving detection result

4.2 系统并行优化测试

如图10(a)为单线程处理情况下PC 平台CPU 核运行负荷状态图(系统采用了Intel 的6 核12 线程CPU平台),其中一个核运算负荷超载,而其他核非常空闲,CPU 核的利用率非常低,系统的性能非常差(如表1所示)。图10(b)为采用多线程并行处理方法的情况下PC 平台CPU 核运行负荷状态图,所有的CPU 核都几乎处于满负荷状态,均衡了多个CPU 核之间的载,实现了多核CPU 处理能力的最大效能,达到了非常好的系统性能(如表1 所示)。

图10 PC 平台CPU 核运行负荷状态Fig.10 CPU load state comparison

表1 系统并行优化前后性能对比Tab.1 Parallel performance comparison

5 结 语

设计了一种海底三维成像声学实时处理系统,主要包括声学前端信号处理子系统、数据传输控制子系统和PC 客户端图像处理系统三个部分。声学前端信号处理子系统统根据接收到的多路声学换能器信号,通过两级FPGA 信号处理,采集多通道水声信号,进行实时电子聚焦波束形成。为了解决海量声学数据快速传输问题,数据传输控制子系统未采用传统用户空间TCP/IP 传输机制,而是直接通过嵌入式PowerPC 处理器在Linux 内核态采用DMA 通道进行声学数据转发,减少了系统调用和数据拷贝开销,有效提高了网络传输效率。针对海量声纳数据实时处理需求,PC 客户端图像处理系统通过对复杂、耗时的单帧重建和数据拼接算法模块根据声学数据点的角度范围进行等分分割,对每个子范围声纳数据采用多线程并行处理,均衡多个CPU 核之间负载,实现了高性能三维声学图像实时处理。通过在室内水池和千岛湖试验基地的测试,该系统有效地实现了三维声学图像采集、传输与三维在线/离线处理功能。

[1]杨日杰,田宝国,何 友.一种主/被动声呐目标回波信号模拟器的研制[J].仪器仪表学报,2006,27(3):229-232.(YANG Ri-jie,TIAN Bao-guo,HE You.Development of a kind of active and passive sonar target echo signal simulator[J].Chinese Journal of Scientific Instrument,2006,27(3):229-232.(in Chinese))

[2]孙长瑜,李启虎,李伟昌,等.基于ADSP-21060 SHARC 高速通用声呐信号处理系统[J].声学学报,2000,25(2):150-154.(SUN Chang-yu,LI Qi-hu,LI Wei-chang et al.The research and development of high speed general sonar signal processing system by ADSP-21060 SHARC[J].Acta Acustica,2000,25(2):150-154.(in Chinese))

[3]王继胜,郭元曦,桑恩方,等.海洋石油管线探测多波束剖面声纳设计[J].海洋工程,2007,25(3):78-82.(WANG Ji-sheng,GUO Yuan-xi,SANG En-fang,et al.Design of chirp sonar for seabed petroleum pipeline detection[J].The Ocean Engineering,2007,25(3):78-82.(in Chinese))

[4]王晓峰.成像声纳波束形成新技术研究[D].哈尔滨:哈尔滨工程大学,2011.(WANG Xiao-feng.The study of the beam forming new technologied for imaging sonar[D].Harbin:Harbin Engineering University,2011.(in Chinese))

[5]张小平.高分辨率多波束成像声呐关键技术研究[D].哈尔滨:哈尔滨工程大学,2005.(ZHANG Xiao-ping.A key techniques study for high resolution multi-beam imaging sonar [D].Harbin:Harbin Engineering University,2005.(in Chinese))

[6]Hansen R K,Castellani U,Murino V,et al.Mosaicing of 3D sonar data sets -techniques and applications[C]//Proc.IEEE Oceans MTS.Washington,D C,USA:IEEE Computer Society,Piscataway,USA,2005:2326-2333.

[7]Yu S C,Kim T W,Marani G,et al.Real-time 3D sonar image recognition for underwater vehicles[C]//Proc.Symposium on Underwater Technology and Workshop on Scientific Use of Submarine Cables and Related Technologies.2007:142-146.

[8]Kuon I,Tessier R,Rose J.FPGA Architecture:survey and challenges[J].Foundations and Trends in Electronic Design Automation,2008,2(2):135-253.

[9]Xilinx.Virtex-6 Family Overview[M].DS150 (v1.0),2009.

[10]Freescale Semiconductor.MPC8313E Power QUICCTMPro Integrated Processor Family Reference Manual(Rev.1)[M].2007.

[11]Freescale Semiconductor.MPC8313E Power QUICCTMPro Integrated Host Processor Device Errata[M].2007.

猜你喜欢
离线信号处理声学
异步电机离线参数辨识方法
呼吸阀离线检验工艺与评定探讨
浅谈ATC离线基础数据的准备
爱的就是这股Hi-Fi味 Davis Acoustics(戴维斯声学)Balthus 70
Acoustical Treatment Primer:Diffusion谈谈声学处理中的“扩散”
Acoustical Treatment Primer:Absorption谈谈声学处理中的“吸声”(二)
Acoustical Treatment Primer:Absorption 谈谈声学处理中的“吸声”
《信号处理》征稿简则
《信号处理》第九届编委会
《信号处理》征稿简则