Page 205 - 《应用声学》2025年第2期
P. 205

第 44 卷 第 2 期             高江俊康等: 粒子群优化算法下的多声速剖面声线计算                                          465


             影响。                                               公式 (4) 即为声线在水平方向上位移距离的计算公
                 基于上述情况,本文提出一种基于传统声线追                          式 [22−23] ,本文中的程序以该公式为基础进行。
             踪法的改进方法,该方法针对前几条本征声线使
                                                               1.2  PSO
             用粒子群优化算法 (Particle swarm optimization,
                                                                   PSO 是近年来发展起来的一种进化算法                    [24] ,
             PSO)进行筛选。通过改变程序中的声速函数,本方
                                                               该算法从随机解出发,用适应度来评价解的品质,
             法还可以对水平方向存在多个声速剖面的情况进
                                                               通过追随当前搜索到的最优值来寻找全局最优                      [25] 。
             行计算。Bellhop(Bellhop acoustic ray tracing pro-
                                                               粒子群算法与遗传算法相比更为简单,它没有遗传
             gram) 是一个基于射线理论并广泛用于声学建模
                                                               算法的 “交叉” 和 “变异” 操作,但它易于实现、收敛
             和声线追踪的计算机程序            [19−20] ,将算法在单个声
                                                               快、精度高,因而在解决实际问题中有其独特的优
             速剖面下得到的结果与射线模型 Bellhop进行对比,
                                                               越性。
             并对多个声速剖面下的时延以及声线进行了计算。
                                                                   传统的声线跟踪法在一定的掠射角范围内由
             1 改进声线追踪算法                                        声源发射出一组声线,判断接收点是否在某两条相
                                                               同历程的声线间,若是则采用插值迭代的方式找到
             1.1 理论简介                                          一条本征声线       [26] 。该方法在给定的角度范围内搜
                 通常情况下,水下目标发出或反射的声线中,                          索可能存在的本征声线,但声源发出的一组声线并
             将会有一部分声线传播至接收器位置。在这些声线                            不能恰好为每一条本征声线都提供两条将接收点
             中有些已经过海面和海底的多次反射,并不利于探                            包围在内的同历程声线,所以俯仰角的间隔对计算
             测,因而在水下声波定位中一般对目标发出的本征                            精度的影响很大,间隔越小,精度越高,但计算量也
             声线进行研究       [21] 。本征声线指从声源出发经过一                  越大。在实际的水下定位问题中,那些与海面或海
             定路径到达接收点的一系列声线。在水声定位研究                            底多次接触的本征声线衰减更大、传播路径更长,通
             中,本征声线的计算是基础且关键的一环。是否能                            常不在考虑的范围内。针对这类问题,本文提出一
             够准确、快速地计算出声线,决定了模型的适用范                            种通过 PSO 只计算声源与接收点间反射次数较少
             围及效率。本文所讨论的声线追踪法适用于近距离                            声线的方法。程序以声线跟踪法为基础,给出一个
             定位,该情况下能否根据海洋中的声速分布场快速、                           初始的掠射角,使用打靶法的思想不断调节初始角
             准确地计算出声线轨迹,决定了水下定位与探测工                            度找到所求本征声线的同形声线,再以该声线为中
             作能否高效进行。                                          心,通过粒子群算法找到第二条本征声线的同型声
                 海水中的声速在垂直方向上呈线性规律变化,                          线,并且确保接收点位于两条同型声线之间,最后通
             现在将海水离散为多个声速连续变化的薄层,每层                            过插值迭代的方法来找到本征声线。算法流程图见
             中的声速不变。令z i 为第i层深度,k(z i )为第i层的                   图1。
             波数,θ(z i ) 为声波在第 i 层中的入射角。当声源深
                                                               1.3  算法计算步骤
             度为 z 0 ,声波初始入射角为 θ(z 0 ) 时,根据 Snell 定
                                                                   令初始入射角为 θ 0 ,声速剖面等间距分为若干
             律可得
                                                               层,海水深度为 H,声源与接收点水平距离为 L,接
                    k (z 0 ) cos θ (z 0 ) = k (z i ) cos θ (z i ) .  (1)  收点深度y 0 ,本征声线迭代算法的计算步骤如下:
             所以声波在给定深度z i 处的入射角可由式(2)得到:                           (1) 假设所求本征声线的边界反射次数为 n,
                                  [              ]             声线在第 i 层中的水平位移 dr = cot (θ i ) dz,则
                                   k (z 0 )
                    θ (z i ) = arccos    cos θ (z 0 ) .  (2)
                                   k (z i )                    声线传播过程中水平方向上的总位移可表示为
                                                                   ∑ t
             同时,在第i层中有                                         R =        cot (θ i )dz,t为声线已经走过的层数。
                                                                      i=1
                             dr
                                = cot (θ i ) .          (3)        (2) 当 R = L 时,判断此时声线的边界反射次
                             dz
             积分后可以得到                                           数是否等于n。若是,则将此时的声线初始入射角记
                                ∫                              录为 θ a ;若不是,则依据边界反射次数调节初始入
                                  z i
                         r (z) =    cot θ (z)dz.        (4)
                                                               射角,直至声线的反射次数等于n。
                                 z 0
   200   201   202   203   204   205   206   207   208   209   210