【Bellhop-二维海水声速环境下的声线仿真】

9 篇文章 5 订阅
5 篇文章 5 订阅

背景与理论

之前学习了基础的Bellhop使用,即在水平海底情况下,对声速是深度函数,即c(z),进行声线的跟踪。由于这一种使用已经可以满足大部分情况下的需求了,就没有进行更深入的学习了。但是最近在《水声学原理》课程上老师布置了一个作业,需要调整水平声速的变化,故对Bellhop仿真二维海水声速环境下的声线跟踪进行了学习,并总结一些近来使用Bellhop的小tips。

  1. 水声学课程作业

水声学课程的仿真作业

  1. 仿真效果示意图
    负水平声速梯度环境下,随着水平坐标增大,深海声道中下反转点深度减小,上反转点深度增大。
    在这里插入图片描述

二维声速剖面设置

如上一篇Bellhop的文章中说到,Bellhop运行前首先编写.env文件,这是Bellhop调用的环境参数文件,其中包括了设置的海洋环境、计算选项等,这里不再赘述。为了使用声速场,需要对声速剖面参数进行更改,即第四行的options1,这是SSP-TOP-WATER参数,表征了声速梯度、海面水体参数。
这里是由单引号括起来的的五个字符的字符串,如不设置可以不写。以下为五个参数的详细说明:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里我们的声速场就是使用OPTIONS1(1)中Q,对声场进行二次逼近,即此行我们使用‘QVW’。使用Q参数需要建立声速场文件.ssp文件。

9                                                           
0.0     12.5    25.0    37.5    50.0    75.0    100.0   125.0   225.0
1536	1536	1536	1536	1536	1536	1536	1536	1536
1506	1508.75	1511.5	1514.25	1517	1520	1524	1528	1528
1503	1503	1503	1502.75	1502.5	1502	1502	1502	1502
1508	1507	1506	1505	1504	1503	1501.5	1500	1500
1508	1506.6	1505	1503.75	1502.5	1500.5	1499	1497	1497
1497	1497	1497	1497	1497	1497	1497	1497	1497
1500	1500	1500	1500	1500	1500	1500	1500	1500
1512	1512	1512	1512	1512	1512	1512	1512	1512
1528	1528	1528	1528	1528	1528	1528	1528	1528
1545	1545	1545	1545	1545	1545	1545	1545	1545

这里,第一行的数字表示水平分段数,上例中9表示水平上分为九个声速。第二行是水平分段位置,上例中分别在0,12.5,25,37.5,……225km处分段,Bellhop在这里并不是断崖式分段,而是一种逼近,上述声速表现出来的声速场如下图:
在这里插入图片描述

运算结果

运算代码如下

clc;    clear all;  close all;
global units;	units = 'km';
plotssp2d('gulf');%画声速剖面图
figure;
subplot(311);   bellhop('gulf');plotray('gulf');%env文件运行参数为A,追踪声线,写入振幅和传播时间,画出声线
subplot(312);   bellhop('gulf_E');plotray('gulf_E');%env文件运行参数为E,计算并画出本征声线
subplot(313);   bellhop('gulf_C');plotshd('gulf_C.shd');%env文件运行参数为C,计算相干传播损失

运算后,计算结果图如下:

  • 图一:声速场伪彩图

在这里插入图片描述

  • 图二:声速剖面图
    在这里插入图片描述
  • 图三,依次为声线图、本征声线、相干传播损失
    在这里插入图片描述

一些Bellhop的小tips

  • 关于运行错误如何排除
    使用Bellhop时,有个最难过的点就是当我们写的环境参数文件.env文件出错导致运行错误时,Matlab不报错,只是运行结果出错,或者运行结束。这时我们可以打开.prt文件,其中会有详细的运行信息,解决我们的问题。
  • 关于提取声线信息
    在Bellhop中运行参数为A时,可以获得不同的声线振幅和传播时间,这时这些信息都存储在.arr文件中,可以使用函数read_arrivals_asc提取这些信息,这个函数在bellhop工具包中。
   [ Arr, Pos ] = read_arrivals_asc( 'flatwav_UUV1_target.arr' );

具体提取出来的Arr和Pos中存储了多种信息,就请各位自行探索吧。

文中提到的资源下载链接

Bellhop-二维海水声速环境下的声线仿真代码及学习文件

  • 7
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 19
    评论
bellhop-复杂海底地形仿真”是一篇关于使用“bellhop”软件进行复杂海底地形仿真的博文。在这篇博文中,作者介绍了“bellhop”的功能和优势,并说明了它在海洋工程领域中的重要应用。 “bellhop”是一种用于声学传播建模的软件工具,广泛用于海洋声学研究。它能够模拟声波在复杂的海洋环境中传播的情况,包括海底地形、水声速度剖面和地理位置的影响。根据用户提供的初始条件和参数,该软件可以预测声波在不同海底地形下的传播路径和传播损失。 在博文中,作者详细介绍了如何使用“bellhop”进行复杂海底地形仿真。首先,用户需要提供海底地形数据,这可以通过测量或从其他数据源获取。然后,用户需要设置声波源和接收器的位置,并选择所需的模拟参数,如声波频率和模拟时间。最后,用户可以运行仿真并得到声波的传播路径和传播损失结果。 作者还强调了“bellhop”的优势。与其他声学建模软件相比,它具有较高的精度和稳定性,并且能够处理复杂的地形和速度剖面。此外,它提供了友好的用户界面和丰富的可视化功能,使用户可以直观地理解声波的传播情况。 在文章的结尾,作者总结了“bellhop-复杂海底地形仿真”的重要性。海底地形是海洋工程中的关键因素,对于声波的传播路径和传播损失有着重要影响。通过使用“bellhop”进行仿真,研究人员和工程师可以更好地理解海洋环境中的声学现象,为海洋资源开发、海底通信和声纳探测等领域提供重要的决策支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤独的傅里叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值