﻿ 基于GPU的海底混响信号快速仿真方法研究
 舰船科学技术  2016, Vol. 38 Issue (6): 128-131 PDF

Research on the reverberation signal fast simulation method based on GPU
LI Li, LIU Xing-hua
DaLian Scientific Test and Control Technology Institute, Dalian 116013, China
Abstract: According to the physical process of reverberation and the theory of ray acoustics, calculation of sea bottom back scattering intensity with Lambert scattering law is carried out and a model of reverberation signal model is set up by using the cell scattering model. Because GPU has a higher floating-point computing performance and memory bandwidth compared to CPU, fast calculation of the reverberation signal simulate is achieved by using GPU. The results show that the envelope of the reverberation signal is more close to the K distribution with few scatter points and it is close to the Rayleigh distribution with the increase of scattered points which is accord with general statistical characteristics of reverberation signal.
Key words: ray acoustics     reverberation signals     GPU
0 引 言

1 海底混响信号模型

 图 1 声线示意图 Fig. 1 Schematic plan of sound ray

 ${I_s} = \mu \sin {\theta _i}\sin {\theta _s}{I_i}\text{。}$ (1)

 ${P_s} = \mu {\rm{'}}\sqrt {\sin {\theta _i}\sin {\theta _s}} \cdot {P_i}\text{。}$ (2)

 ${S_p} = \mu _p^{'}\sqrt {\sin {\theta _i}\sin {\theta _s}} \cdot {e^{j\phi }}\text{。}$ (3)

1）第 1 类声线 tk 时刻混响信号

 $\begin{array}{l} {p_1}({t_k}) = \sum\limits_{l = 1}^{{N_1}} {\frac{{s(t - {t_k})}}{{{r_1}}}} {s_{{p_l}}}{\rm d}A\frac{1}{{{r_1}}} =\\ \displaystyle \frac{{s(t - {t_k})}}{{{r_1}^2}} \cdot {\rm d}A \cdot \sqrt {\sin {\theta _{{i_1}}}\sin {\theta _{{s_1}}}} \cdot \displaystyle\sum\limits_{l = 1}^{{N_1}} {\mu _{{p_l}}^{'}} {e^{j{\phi _l}}}\text{。} \end{array}$ (4)

 ${p_1}({t_k}) = \frac{{s(t - {t_k})}}{{{r_{\rm{1}}}^{\rm{2}}}} \cdot \frac{{{{H - h}}}}{{{r_1}}}dA \cdot \sum\limits_{l = 1}^{{N_1}} {\mu _{{p_l}}^{'}} {e^{j{\phi _l}}}\text{。}$ (5)

2）第 2 类声线 tk 时刻混响信号

 $\begin{array}{l} {p_2}({t_k}) \!\!=\!\! \displaystyle\frac{{m \!\cdot\! s(t - {t_k})}}{{{r_1} \!\cdot\! ({r_2} + {r_3})}} \!\cdot\! dA \!\cdot\!\! \sqrt {\sin {\theta _{{i_2}}}\sin {\theta _{{s_2}}}} \displaystyle\sum\limits_{l = 1}^{{N_2}} {\mu _{{p_l}}^{'}} {e^{j{\phi _l}}}\text{。} \end{array}$ (6)

3）第 3 类声线 tk 时刻混响信号

 $\begin{array}{l} {p_{\rm{3}}}({t_k}) \!\!=\!\! \displaystyle\frac{{m \cdot s(t - {t_k})}}{{{r_1} \!\cdot\! ({r_2} + {r_3})}} \!\cdot\! dA \!\cdot\!\! \sqrt {\sin {\theta _{{i_{\rm{3}}}}}\sin {\theta _{{s_{\rm{3}}}}}} \displaystyle\sum\limits_{l = 1}^{{N_{\rm{3}}}} {\mu _{{p_l}}^{'}} {e^{j{\phi _l}}}\text{。} \end{array}$ (7)

4）第 4 类声线 tk 时刻混响信号

 $\begin{array}{l} {p_{\rm{4}}}({t_k}) \!\!=\!\! \displaystyle\frac{{{m^{\rm{2}}} \!\cdot\! s(t - {t_k})}}{{{{({r_2} \!+\! {r_3})}^{\rm{2}}}}} \!\cdot\! dA \!\cdot\!\! \sqrt {\sin {\theta _{{i_{\rm{4}}}}}\sin {\theta _{{s_{\rm{4}}}}}} \displaystyle\sum\limits_{l = 1}^{{N_{\rm{4}}}} {\mu _{{p_l}}^{'}} {e^{j{\phi _l}}}\text{。} \end{array}$ (8)

2 基于 GPU 的快速计算方法

CPU 为提高分支指令的处理速度，其很多部件都用于做分支预测，以及在分支预测错误的时候修正和恢复算术逻辑单元的结果，这将大大增加器件的复杂度，使其更侧重于灵活高效的处理速度而非计算能力。相比之下，GPU 在设计之初就定位于大量数据的并行计算，发展到现在已经具有非常强大的计算能力，其核心如图 2 所示。以市面上最强桌面 CPU—Intel Core i7 5960 X 来说，它具有 8 个核心 16 个线程，默认频率 3.3 GHz，配合 AVX2 指令集其运算能力可以达到 422 Gflop/s，其内存带宽大约为 68 GB/s；而同一时期的最强桌面 GPU—GTX TITAN X 具有 3 072 个 CUDA 核心，默认频率 1 006 MHz，配合 FMA 指令集其运算能力可以达到 6 181 Gflop/s，其内存带宽大约为 336 GB/s，并且 1 台计算机中可以搭配多个 GPU，由此可见 GPU 并行计算的巨大优势。

 图 2 CPU 与 GPU 运算单元示意图 Fig. 2 Schematic plan of CPU and GPU arithmetic element

CUDA（Compute Unified Device Architecture）是显卡厂商 NVIDIA 推出的运算平台，在 CUDA 的架构下，程序分为 host 端和 device 端 2 个部分。Host 端是指在 CPU 上执行的部分，而 device 端则是在 GPU 上执行的部分。Device 端的程序又称为“kernel”。通常 host 端程序会将数据准备好后，复制到显卡的内存中，再由显示芯片执行 device 端程序，完成后再由 host 端程序将结果从显卡的内存中取回。

 图 3 海底混响信号 GPU 运算流程图 Fig. 3 Flow chart of reverberation signal calculation by using GPU

3 仿真混响信号分析

 图 4 仿真混响信号波形图 Fig. 4 The simulation oscillogram of reverberation signal

 图 5 混响信号包络统计概率 Fig. 5 The statistical probability of reverberation signal envelope

 图 6 混响信号包络统计概率 Fig. 6 The statistical probability of reverberation signal envelope

4 结 语

 [1] 姚万军, 蔡志明. 浅海混响的建模与预报[J]. 海军工程大学学报 , 2009, 21 (2) :88–91. [2] 袁骏, 肖卉, 张明敏, 等. 双基地声呐海底混响面元划分与建模[J]. 探测与控制学报 , 2009, 31 (4) :1–4. [3] 张明辉. 三维环境海洋混响强度衰减规律研究[D]. 哈尔滨:哈尔滨工程大学, 2005:5-7. [4] 方世良. 海洋混响信号的序贯仿真[J]. 声学技术 , 1996, 15 (3) :101–104. [5] ABRAHAM D A, LYONS A P. Reverberation envelope statistics and their dependence on sonar bandwidth and scattering patch size[J]. IEEE journal of Oceanic Engineering , 2004, 29 (1) :126–137. DOI:10.1109/JOE.2004.824039 [6] ABRAHAM D A, LYONS A P. Simulation of non-rayleigh reverberation and clutter[J]. IEEE Journal of Oceanic Engineering , 2004, 29 (2) :347–362. DOI:10.1109/JOE.2004.828202 [7] 蔡平, 梁国龙, 葛凤翔, 等. 界面混响信号的仿真研究[J]. 哈尔滨工程大学学报 , 2000, 21 (4) :31–35. [8] 陈文剑, 孙辉, 朱建军, 等. 基于分数阶傅里叶变换混响抑制的目标回波检测方法[J]. 声学学报 , 2009, 34 (5) :408–415. [9] 郭熙业, 苏绍璟, 王跃科. 海底混响统计建模与仿真方法研究[J]. 兵工学报 , 2009, 30 (7) :940–944. [10] 郭熙业, 苏绍璟, 王跃科. 基于射线理论的海底混响建模研究[J]. 声学技术 , 2009, 28 (3) :203–207. [11] 姚万军, 蔡志明. 基于简正波的浅海混响序列仿真[J]. 声学技术 , 2009, 28 (1) :25–28. [12] 姚万军, 蔡志明, 卫红凯. 浅海混响建模的声束跟踪理论[J]. 声学学报 , 2009, 34 (3) :223–228. [13] ZHANG M H, SUN H, CHEN W J. Simulation model of bottom reverberation signals for horizontal bistatic receiving array[C]//Proceedings of 2008 IEEE International ultrasonics symposium. Beijing:IEEE, 2008:1437-1440. [14] ABRAHAM D A, LYONS A P. Exponential scattering and K-distributed reverberation[C]//Proceedings of 2001 MTS/IEEE Conference and Exhibition. Honolulu, HI:IEEE, 2001, 3:1622-1628.