声呐是利用水中声波对目标进行探测、分类、定位和跟踪,进行水下通信和导航的电子设备,广泛应用于海洋资源勘探、船舶导航、水文测绘等领域。
声呐基阵信号模拟器对于声呐设备的性能检测、故障诊断、维修和调试等具有重要作用[1 − 2]。目前,传统的模拟器专为试验室调试研制,采用工控机箱设计,内有主控计算机、DSP板、数/模转换板、滤波板等,用于船载声呐维修测试时存在以下问题: 1)体积大,重量沉,不易移动,难以携带至空间狭小的船舶内部开展设备检测与维修;2)工控机依赖外部电源供电,易受维修现场条件限制,灵活性差;3)计算机及电子设备更新迭代加速,工控机故障后维修备件采购难度增加,需基于市场新架构重新设计,导致时间和成本浪费。因此,为满足船载声呐设备维修保障的实际需求,研制一款便携、低功耗、易于升级维护的通用声呐基阵信号模拟器尤为重要。
随着计算机技术、自动化技术、电子信息技术等高新技术的快速发展,仪器仪表的集成化、自动化与智能化程度越来越高,本文基于异构并行计算技术,提出一种便携式基阵信号模拟器的设计方法,实现对多通道声呐基阵信号的模拟,同时把设备缩小到可置于笔记本电脑包中甚至外衣口袋内,极大提高了维修工作的便利性,满足了设备外场维修调试的迫切需求。
1 系统功能和总体设计 1.1 系统功能系统基于掌上消费类电子产品的实现方案,通过将数值计算部分和信号转换部分硬件相分离,采用异构并行计算技术充分发挥计算潜能,实现对不同海洋环境、目标状态条件下多通道声呐基阵信号的实时模拟,主要功能包括:1)模拟128路基阵水听器接收到的目标回波信号,可选参量为:信号形式(单频脉冲、线性调频脉冲、双曲线调频脉冲),中心频率、脉宽、周期、方位等;2)模拟128路基阵水听器接收到的目标噪声信号,具有幅度调制功能,并可叠加单频线谱;3)产生128路相互独立、高斯分布的随机海洋环境噪声;4)具有目标轨迹模拟功能;5)具有信噪比控制功能;6)提供4个共128路基阵水听器模拟输出接口。
1.2 总体设计声呐基阵信号模拟器用于模拟实际基阵水听器接收到的信号,因此,需在任意结构三维基阵阵元接收远场点声源或者目标反射平面波理想模型[3 − 7]的基础上,考虑海洋环境噪声、混响、目标回波特性等的影响。杨日杰等[8]研制了一种主/被动声呐目标回波信号模拟器,其在目标回波信号的数学模型分析中,讨论了海洋环境噪声模型、目标回波模型、混响模型的数学形式。胡青[9]在基于DSP的声呐基阵信号模拟器设计中,增加了对目标轨迹模型的讨论,分析了目标在静止状态、圆周运动、直线运动时目标轨迹模型的表达式。
本文在上述基阵信号模拟器研究的基础上,结合船载声呐现场维修测试需求,以便携性和低功耗为核心目标进行总体设计,系统总体设计框图如图1所示。
|
图 1 系统总体设计框图 Fig. 1 System overall design block diagram |
系统总体架构主要由主机、信号接口单元及人机交互软件组成。其中,主机用于模拟不同海洋环境条件下的多通道声呐基阵接收信号,包括目标声信号(含目标噪声及回波信号)、环境噪声信号(海洋环境噪声、混响、声呐背景平台噪声)等多种典型信号成分,同时还可实现目标轨迹模拟和信噪比控制功能。信号接口单元负责数据的数/模转换、温度检测和控制、信号调整和阻抗匹配,最终实现与被试设备的连接。人机交互软件提供良好的图形操作界面,实现维修测试所需各项功能。
2 系统硬件设计系统硬件采用分体式设计,其构成如图2所示,包括主机(掌上便携式电子设备)和信号接口单元2个部分。
|
图 2 设备组成示意图 Fig. 2 Schematic diagram of equipment composition |
其中主机为USB接口,具有用户操作界面,可实现数值运算和数据控制传输功能。信号接口单元在接收数据后,通过数/模转换器形成模拟信号,在完成衰减和阻抗匹配后连接被试设备,用于后继维修测试工作。
2.1 信号接口单元信号接口单元由 USB 接口单片机、FPGA、SDRAM、D/A 转换芯片、温度检测芯片、电源转换及管理芯片、匹配电路与通风及控制系统组成,具体结构如图3 所示。
|
图 3 信号接口单元组成 Fig. 3 Composition of signal interface unit |
USB单片机采用C语言进行开发,工作于USB Slave(从模式)下,利用FIFO对批量传输的数据进行缓冲。USB接口采用批传输方式传输数据,双向各2个缓冲区,确保数据读取和写入互不影响。FPGA芯片内的FIFO模块接收单片机数据后,传输到芯片外SDRAM中进行存储。通过FPGA控制SDRAM,使SDRAM成为一个容量非常大的FIFO,可以解决FPGA芯片内FIFO容量偏小,容易导致数据“断流”的问题。
使SDRAM工作于FIFO模式的方法如图4所示。系统采用Verilog语言,利用状态机的概念进行开发。将一段SDRAM地址首尾相连,形成“闭合环形”概念,读取(R)和写入(W)指针分别对相应地址内的数据进行操作,当达到数据刷新时间时,对RAM数据进行刷新操作以避免数据丢失。读取(R)的逻辑是,当数据不空时即可读取;写入(W)的逻辑是,当空间不满时即可写入,从而充分利用SDRAM存储空间,形成一个大容量的FIFO。通过该大容量FIFO的缓冲,保障数据平稳输出,避免出现中断现象。数据到达FPGA的I/O接口后,利用D/A芯片接口协议传递到D/A芯片,转换为模拟信号,经衰减和阻抗匹配后连接被试设备。
|
图 4 SDRAM成为FIFO示意图 Fig. 4 Schematic diagram of SDRAM becoming FIFO |
采用热电偶检测机箱内温度,当温度上升至阈值后开启通风;根据温度调整风机转速,当温度低于阈值时关闭通风。这样既保证了维修环境温度变化时,系统可以正常工作,又节约了能源消耗,有效提高电池续航时间。
2.1.3 信号接口单元设计选型综合考虑I/O需求和芯片资源,FPGA采用Cyclone Ⅳ E系列的EP4CE10F17C8芯片,外围SDRAM配置2片H57V2562GTR芯片,单片具备256 Mbit容量,16bit数据宽度,2片组成32bit数据宽度。M25P16具备16 Mbit串行flash闪存,用于FPGA配置程序存储器。采用JTAG接口刷新程序。FPGA配置85个扩展接口,用来控制D/A芯片,其中64bit属于数据接口,其他用于片选等控制信号。
USB单片机采用Cypress公司的CY7C68013A芯片,AT24C64具备64 kbit容量,采用2线串行的EEPROM,作为USB单片机的程序固件存储器。
温度采集芯片为LM75A,通过FPGA读取数据至主机,实时显示机箱内温度,精度达到0.125℃。
根据数据带宽需求,采用16片具备16bit数据接口的MAX547ACMH芯片实现D/A转换功能,每4个芯片共用1组数据接口,单片具备8个13bit的D/A通道,共128通道。
为满足输出信号的带宽及幅度要求,采用具有4通道的TS464运算放大器芯片实现衰减输出驱动,同时,使用具备低温漂和低噪声的千分之一精度电阻器。
2.2 主 机随着技术进步,集成中央处理器(Central Processing Unit,CPU)和图形处理器(Graphics Processing Unit,GPU)的芯片已被广泛应用于掌上PDA和平板电脑等便携式电子设备中。由于声呐基阵信号具有频率低、带宽窄、通道数量多的特点,需要进行大量并行计算,因此,运算处理适合采用具有更高效率和处理速度的 GPU。经测试,当前主流商用掌上便携式电子设备中,与 CPU 集成的 GPU 已能满足运算需求,无需额外配置 DSP 或 GPU 计算卡,可显著减小设备体积与重量。为满足传输数据量的要求,USB接口传输速率应达到USB2.0及更高速率等级。
根据总体设计需求,主机选择商用现货掌上便携式电子设备(如掌上PDA或平板电脑),要求具备USB HOST(主设备)功能,含有CPU计算单元和GPU图形计算单元,能够运行Windows、Linux或Android操作系统。本文系统所用PDA主处理器为Snapdragon820,包含2个
为了替代DSP单元完成大量数值计算,采用CPU+GPU异构计算技术,如图5所示。将大量的并行数值计算任务交给GPU图形处理单元进行,充分发挥GPU大规模计算阵列的优势;将其他人机接口控制、逻辑运算和顺序计算等任务分给CPU计算单元处理,发挥CPU的技术优势。为降低设备硬件成本,需要提高运行效率,开发软件的选择遵循效率优先原则[10 − 12]。
|
图 5 异构计算原理框图 Fig. 5 Schematic diagram of heterogeneous computing principle |
便携性与低功耗是设备在外场维修测试中的核心需求,低功耗对于实现设备便携性至关重要。本系统从硬件和软件2个方面开展设备低功耗优化设计。
信号接口单元。高功耗器件主要包括FPGA芯片、D/A芯片、通风风机和运算放大器,其他器件的功耗影响较小,可忽略。高功耗器件的功耗估算见表1所示。不同器件需采取与之相应的低功耗设计。
|
|
表 1 系统器件功耗估算 Tab.1 Powerconsumption estimation of system components |
FPGA的资源占用量和工作频率对功耗有直接影响,本系统主要采取2种措施控制其功耗:首先,使用Verilog语言开发全部功能模块,而不是NIOS C/C++语言,这样可最大限度的减少对FPGA资源的占用;其次,在保障SDRAM数据刷新最长间隔的要求下,尽量降低工作频率。为此,本系统工作频率选用72 MHz,而非芯片120 MHz额定频率。
D/A芯片选择低电压供电产品,MAX547ACMH使用±5 V直流电源,供电电压低,功耗小,电源转换电路简单高效。
运算放大器单路功耗小,但数量大,总功耗不能忽视。考虑到输出信号幅度小,可以通过降低供电电压的方式减少功耗。本例选择±2.5 V直流电源供电。相比±5 V电压,减少约1/2的功耗。
电源电压转换芯片采用LM2662开关式电容电压转换器,其开关工作频率远高于模拟器输出信号频率,不会产生干扰,其工作效率大于90%,使用其产生±2.5 V,–5 V直流电源。
风机的功耗控制,采用温度传感器控制风机转速,这样可减少非必要能量消耗。风机不工作时,信号接口单元5 V电源总电流为0.9 A;风机最大功率工作时,总电流为1.1 A,控制效果明显。
由于主机为商用掌上便携式电子设备,硬件配置固定,因此,降低功耗主要依靠软件设计。首先,GPU可以同时处理多个任务和数据,执行大量并行计算,比CPU更高效,因此利用GPU 实现需要进行大规模并行数字计算的噪声模拟,可显著降低主机功耗。其次,使用Android Native Developer Kits(安卓原生开发工具包)开发C++本地代码,在CPU上进行目标信号的数值运算,仅人机接口界面和USB数据传输使用JAVA语言进行开发,最大限度提高运行效率。
主机和信号接口单元均自带电池,经系统低功耗设计后,测试表明,其续航能力可满足每日工作需求。
3 软件实现本系统主机为商用现货掌上PDA产品,运行Android操作系统[13]。CPU部分采用Java和C++语言共同开发,其中人机接口及数据传输部分采用Java语言实现,设计了直观便捷的用户操作界面,便于用户根据不同测试需求灵活配置模拟参数。具体数值计算、逻辑控制等部分由C++语言编程实现。在CPU程序的开发中,使用多线程,将任务分到不同的CPU核心中开展,确保计算任务及时有效开展。不会导致数据断流。
GPU单元基于OpenGL ES库,使用GLSL语言开发。要求OpenGL ES3.0及以上版本。利用着色器开展并行大规模数值计算。在OpenGL ES3.0版本中使用片元着色器开展数值计算,在OpenGL ES3.1版本中使用计算着色器开展数值计算。
USB单片机采用C语言进行开发,使USB接口以批传输工作方式传输数据。双向各2个缓冲区,保证数据读取和写入互不影响。
FPGA芯片开发软件选择Verilog语言,根据定期刷新SDRAM的需求,选择最低可接受工作频率(本例选择72 MHz),通过降低工作频率,减少电源消耗。
软件系统编程语言与硬件的对应关系如图6 所示。
|
图 6 软件系统编程语言与硬件对应关系 Fig. 6 Correspondence between software system programming language and hardware |
当然,如果主机产品运行Windows/Linux操作系统,CPU部分则可采用C++语言进行开发[14 − 16],将人机界面、逻辑运算、数据传输和顺序计算等任务分配到多个线程中运行,充分发挥CPU多核心的能力,使计算任务分别由多个CPU核心处理,避免因CPU单核心性能不足造成数据运算跟不上需求的情况。
3.1 数据流程正向数据流程:首先根据设定参数,信号产生线程将目标噪声数据和回波数据融合,并将数据传递给反波束形成线程,此处可设定多个目标。反波束形成线程通过频域移相的运算将目标信号仿真成多路阵元数据。GPU完成背景噪声的仿真计算,并将数据传递到主机RAM中。CPU将仿真的阵元目标数据和阵元背景噪声数据相加,合成为阵元仿真数据。
阵元数据在具备USB Host的主机终端通过USB接口以批传输模式发往具备USB Slave的信号接口单元,信号接口单元内的USB单片机接收并缓存数据,写满1个缓冲区后通知FPGA,FPGA读取缓冲区的数据并写入片内RAM和片外SDRAM组成的FIFO缓冲区。如图7所示。当缓冲区数据达到一定数量后,读取1批数据通过I/O接口送至D/A芯片,转成模拟信号,匹配后连接被试设备。
|
图 7 数据流程 Fig. 7 Data flow diagram |
反向数据流程:当FPGA内FIFO的温度数据被USB单片机读取后,FPGA读取温度检测芯片LM75内的温度数据,并写入FPGA内FIFO缓冲区,当USB单片机内数据被主机读取后,单片机读入FPGA内FIFO的数据。主机将温度数据显示在界面上。
3.2 多线程同步各个线程运算速度有快有慢,为协调多个线程之间的同步,设置线程运行标志。当所有线程完成当前批次数据后,再转入下一个循环。为避免对数据读取和写入造成冲突,线程间采用双缓冲区,进行“乒乓操作”。当线程对A缓冲数据进行运算更新时(写操作),其他线程对B缓冲数据进行读取;当线程对B缓冲数据进行运算更新时(写操作),其他线程对A缓冲数据进行读取。如图8所示。
|
图 8 线程间采用双缓冲区 Fig. 8 Double buffers are used between threads |
根据维修测试需求,对128路阵元信号进行仿真测试。系统自带电池供电,接口控制模块与数/模转换及匹配模块组合后置于机箱内。机箱外壳尺寸为 140 mm×90 mm×90 mm,具备温控通风系统,采用 5 V 供电,耗电约 1.1 A(通风系统启动),可满足一天的任务需求。样机外观如图9 所示。
|
图 9 信号模拟器外观图 Fig. 9 Appearance of the signal simulator |
对宽带噪声进行20 Hz单频幅度调制信号如图10所示,宽带噪声谱图如图11所示,宽带噪声叠加低频线谱如图12所示,HFM脉冲频谱如图13所示。其中谱图为单帧FFT,未经多帧平均,短时噪声信号频谱分量很丰富,频谱能量分布与设定相符;调制信号和线谱明显,调频信号谱图符合预期。
|
图 10 对宽带噪声进行20 Hz单频幅度调制信号 Fig. 10 Uses a 20Hz single frequency signal for amplitude modulation of broadband noise |
|
图 11 宽带噪声谱图 Fig. 11 Broadband noise spectrum |
|
图 12 宽带噪声叠加低频线谱 Fig. 12 Broadband noise superimposed with low-frequency line spectrum |
|
图 13 HFM脉冲频谱 Fig. 13 HFM pulse spectrum |
针对传统声呐基阵信号模拟器便携性差、需使用220 V供电、升级困难等问题,提出一种基于异构并行计算技术的便携式基阵信号模拟器设计方案。该方案以便携性和低功耗为核心目标,通过采用异构计算技术充分利用硬件运算潜力,使用消费类电子产品替代成本高昂的DSP板卡,将数值计算部分和信号转换部分硬件相分离,仅通过1根USB数据线相连,最大程度减少了设备组成数量,提高了设备的可靠性,且模拟器能够放入笔记本电脑包随身携带,主机可单独进行硬件升级,降低了升级和维修成本。目前,从仿真128路阵元信号、2个运动目标的测试结果来看,其CPU和GPU占用率约为4%,处理能力余量充足,如果增加成本和体积、重量,有针对性地选择运算性能更为强大的主机芯片,则可轻松实现千路声呐信号的仿真计算。
通过对多型声呐设备的现场维修测试证明,该便携式基阵信号模拟器与传统工控机型模拟器相比,具有诸多优点:体积小、重量轻,可置于笔记本电脑包中甚至外衣口袋内,便于随身携带至船内进行设备测试与维修;系统自带电池供电,功耗低,可以放在声呐机柜顶部有限的空间使用,无需外部电源接口,满足一天工作需求,使用灵活便捷;集成度高,将多种复杂信号模拟功能集成于一体;通用性强,适用于多型声呐设备测试;实时性好,能够快速响应并生成所需模拟信号,为声呐设备的快速、准确测试和维修提供了有力支持,有效解决了外场维修过程中面临的诸多难题,具有广阔的应用前景和实用价值。
| [1] |
齐正云, 褚福照. 声呐基阵信号模拟器设计与实现[J]. 舰船电子工程, 2017, 37(9): 128. QI Z Y, CHU F Z. Design and implementation of sonar array signal simulator[J]. Ship Electronic Engineering, 2017, 37(9): 128. |
| [2] |
徐鹏生. 主动声呐目标回波模拟器的设计与实现[D]. 哈尔滨: 哈尔滨工程大学, 2019.
|
| [3] |
兰华林,左春丽,杨月. 多基地声呐目标模拟器中的波形设计技术[J]. 舰船科学技术, 2016, 38(S1): 142-145. LAN H L, ZUO C L, YANG Y. Waveform design technique of multi-static sonar target echo signal simulator[J]. Ship Science and Technology, 2016, 38(S1): 142-145. |
| [4] |
杨士莪. 水声传播原理[M]. 哈尔滨: 哈尔滨工程大学出版社, 1994.
|
| [5] |
田坦. 声呐技术2 版[M]. 哈尔滨: 哈尔滨工程大学出版社, 2010.
|
| [6] |
刘孟庵. 水声工程[M]. 杭州: 浙江科学技术出版社, 2022.
|
| [7] |
A. D. Waite著, 王德石, 等译. 实用声呐工程[M]. 北京: 电子工业出版社, 2004.
|
| [8] |
杨日杰, 田宝国, 何友. 一种主/被动声呐目标回波信号模拟器的研制[J]. 仪器仪表学报, 2006(3): 229-232. YANG R J, TIAN B G, HE Y. Development of a kind of active and passive sonar target echo signal simulator[J]. Chinese Journal of Scientific Instrument, 2006(3): 229-232. |
| [9] |
胡青. 基于DSP的声呐基阵信号模拟器设计[J]. 声学与电子工程, 2008(4): 8-11. |
| [10] |
刘娇. 便携式通用检测平台测试软件开发[D]. 哈尔滨: 哈尔滨工业大学, 2022.
|
| [11] |
邬远哲, 张静, 刘振东, 等. 基于虚拟仪器技术的船舶电场仿真与信号生成研究[J]. 舰船科学技术, 2024, 46(15): 127-128. WU Y Z, ZHANG J, LIU Z D, et al. Research on ship electric field simulation and signal generation based on virtual instrument technology[J]. Ship Science and Technology, 2024, 46(15): 127-128. |
| [12] |
张毅, 周邵磊, 杨秀霞. 虚拟仪器技术分析与应用[M]. 北京: 机械工业出版社, 2004.
|
| [13] |
王开宇. 基于Android 平台软件开发方法研究[J]. 信息与电脑, 2022, 34(19): 137-139. WANG K Y. Research on software development method based on Android platform[J]. Information & Computer, 2022, 34(19): 137-139. |
| [14] |
李同立. 基于VC++的虚拟示波器软件设计[J]. 软件导刊, 2013(11): 56-59. |
| [15] |
孙鑫. VC++深入详解3版[M]. 北京: 电子工业出版社. 2017.
|
| [16] |
赵云冬. 基于VC++技术的虚拟示波器的软件设计[J]. 舰船电子工程, 2017, 37(9): 70-74. ZHAO Y D. Software design of virtual oscilloscope based on VC++[J]. Ship Electronic Engineering, 2017, 37(9): 70-74. |
2025, Vol. 47
