基于Matlab的合成孔径声纳回波快速仿真方法∗

2019-12-26 11:33马梦博钟何平
舰船电子工程 2019年12期
关键词:声纳方位效率

杨 杰 马梦博 钟何平

(1.海军装备部驻天津地区防救军事代表室 天津 300042)(2.海军工程大学海军水声技术研究所 武汉 430033)

1 引言

合成孔径声纳(Synthetic Aperture Sonar,SAS)是一种高分辨率成像声纳,其具有距离向分辨率高和方位向分辨率与距离无关的优点,与常规的侧扫声纳和多波束测深仪相比,分辨率高1~2个数量级,可以广泛用于海底测量、水下考古、海底石油勘探和搜寻水下失落物体等,也能提高水雷的识别能力[1~5]。在合成孔径声纳系统设计过程中,原始回波仿真是一个比不可少的环节[6~7],可通过仿真来预测设计的系统性能,验证系统设计参数的合理性,避免造成错误设计所带来的损失。常用的回波仿真方法主要有时域法[8~9]和频域法[10~12]两种。时域法主要是完全按照回波模型进行仿真,没有进行任何近似,是最精确的仿真方法,其缺点是运算量极大,严重限制了其应用。频域仿真方法与时域仿真方法相比,效率较高,但是降低了所生成的仿真回波精度。

随机计算机技术的发展,多核计算已在多种应用领域取得显著加速性能,它为快速原始合成孔径声纳回波生成提供了一种有效手段。本文在共享内存环境下,采用Matlab并行编程方式实现了一种快速合成孔径声纳回波仿真方法。首先给出了合成孔径声纳回波仿真模型,然后在共享内存环境下设计了并行仿真方法,并通过试验对并行回波仿真方法的正确性和效率进行了验证。试验结果表明:并行算法与串行算法相比,加速比高达3.74,并且其加速性能还会随着计算平台性能提升而提升。

2 合成孔径声纳回波仿真模型

图1 合成孔径声纳回波模型

图1 直角坐标系中,合成孔径声纳平台沿着方位向运动,目标位于坐标(r,0)处,发射阵和N个接收子阵沿方位向排列,发射阵位于尾端,其位置为(0,vt)。为简化处理,我们仅考虑一个接收子阵(取第i个接收子阵)的情况,此接收子阵与发射阵方位向相位中心间隔为Δhi,第i个接收子阵接收到的回波信号可表示为

其中Ri(t,r)=R1+R3为信号实际传播路径,其中去回程为s(τ)=rect(τT)为发射信号包络,c为声速,f0为信号中心频率,k为信号调频斜率。

对于多个点目标进行仿真时,需要在每个发射阵位置依次判断每个点目标是否在波束照射范围内。对于位于波束范围内的点目标,计算其与每个接收阵之间的时延,将发射信号进行对应时延后叠加到对应子阵回波上。

3 共享内存环境下的Matlab并行仿真方法

Matlab的并行计算实质还是主从结构的分布式计算。初始化Matlab并行计算环境时,起始的Matlab进程自动成为主节点,同时初始化多个Matlab计算子节点,子节点个数通过参数指定。Matlab的并行计算架构主要依赖于并行计算工具箱(Parallel Computing Toolbox),为完成并行计算,Matlab提供了一系列的并行结构,其中最常用的为parfor循环结构,可方便用户进行并行程序设计。为简化用户操作,Matlab隐藏了并行任务创建和管理的具体细节,降低了用户开发的难度,同时存在限制用户灵活性的问题。

采用Matlab进行并行计算前,首先要调用parpool函数配置和开启并行计算池。Matlab并行执行parfor循环时,采用client和worker模式,其中client指启动并行代码的Matlab段,worker指并行运行代码的Matlab段。Matlab在处理parfor代码段时,它将任务分配给多个workers上并行执行。假设worker的数量为m,循环的次数为n。如果两者之比为整数,则刚好实现计算任务的均衡分配;否则,部分worker的计算任务会比较大,只能采用非均衡的计算任务分配方法。

图2 并行回波仿真流程

基于Matlab的合成孔径声纳原始回波仿真流程如图2所示,具体步骤如下:

1)启动Matlab,载入原始回波参数。

2)根据仿真回波参数开辟原始回波存储空间。

3)调用matlabpool命令,启动Matlab并行环境,并指定计算核数。

4)根据计算核数和仿真的原始回波在空间上的长度进行原始回波分块,每一计算核负责不同分块上的回波计算,该部分主要依靠parfor来实现。

5)将分块计算的回波在进行拼接获取完整的原始回波。

6)调用matlabpool close命令,释放Matlab并行环境,并结束程序运行。

4 试验结果与分析

为了验证并行合成孔径声纳回波仿真方法性能,在如下计算环境进行了回波仿真试验:处理器Intel(R)Xeon(R)CPU 3.3G(4核);内存8G;操作系统Windows 7专业版;软件环境Matlab2015。

仿真试验中采用了3个点目标,它们的相对位置如图3所示,中心点位于(70m,0m),左边点目标位于(60m,0m),右边点目标位于(80m,0m)。仿真试验参数如表1所示,中心频率为150kHz,带宽15kHz,脉宽10ms,阵长0.04m,载体速度1m/s,声速1500 m/s,接收子阵10个,脉冲间隔为0.2s。串行回波仿真所得原始回波如图4(a)所示,回波在方位向的长度随距离而增加,并行回波仿真幅度如图4(b)所示,可看出两者结果一致。在验证并行回波仿真算法效率前,我们先采用距离多普勒成像算法对仿真回波进行了成像试验,图5(a)为成像结果的幅度图,其位置与仿真目标位置完全一致。点目标对应的距离和方位向剖面如图5(b)所示,其旁瓣和分辨率都满足成像要求,验证了并行合成孔径声纳回波仿真算法的正确性。

图3 仿真目标点相对位置

表1 原始回波仿真参数

图4 原始回波幅度图

图5 点目标成像结果

不同计算核数下回波信号仿真效率比较如表2所示。从表中可以看出,单核进行原始回波计算时,所需时间最长,为14.6s,在加速比计算过程中,以单核计算时间为参考,将其加速比设置为1。随着计算核数增加,加速比显著增加,计算核数分别为 2、3、4和 5时,加速比分别为 1.92、2.81、3.74、3.65。由于计算平台总核数为4,因此当设置计算核数为5时,对效率提升没有效果,反而效率略有下降。一般情况下,为达到最高加速比,应该将计算核数设置为计算平台的核数。从回波仿真计算时间结果来看,采用并行计算方式后,合成孔径声纳回波仿真效率得到显著提升。

表2 回波仿真算法成像效率比较(s)

5 结语

本文提出了一种基于Matlab的合成孔径声纳回波并行仿真方法。首先给出了合成孔径声纳回波仿真模型,然后在共享内存环境下基于Matlab进行了并行回波仿真方法设计,最后通过实验验证了并行回波仿真方法的正确性和高效性。随着计算平台计算性能的提升,计算核数增加,并行算法的加速性能在无需修改程序的情况下可得到进一步提升。

猜你喜欢
声纳方位效率
基于分布式声纳系统数据管理方案的设计
“慢”过程 “高”效率
反潜巡逻机与无人艇应召反潜中协同声纳搜潜研究
Daniel Kish
注意实验拓展,提高复习效率
聚焦立体几何命题 提高高考备考效率
Word Fun
跟踪导练(一)2
练思维:看图学方位
方位介词