BELLHOP-3d模型垂直剖面仿真

本文以声学工具箱中的munk文件为例,使用bellhop3d进行2d和3d仿真,介绍了2d和3d模式及角度设置方法。通过对比2d和3d传播损失图,发现结果一致。加入海底对比分析,进一步验证了垂直剖面结果的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初学BELLHOP-3d模型,然后想看看3d模型是否能够涵盖2d垂直剖仿真的功能,以前篇文章下载声学工具箱中的munk文件为例,对传播损失进行仿真。

可以使用bellhop3d进行2d和3d仿真,运行plotshd均可得到二维垂直剖面的传播损失图(plotshdpol是画三维水平剖面的)

2d仿真:

参考slice2dHatCart

2d模式设置:

在bellhop3d运行的env文件里只需要在计算类型后边的数字标为2即设置为bellhop的2d模型

2d角度设置:

 在此基础上,我们探究不同于2d模型多出的角度设置参数问题:

Ntheta设置:1及1往上的数字均可,但是最终plotshd这个函数在提取声压的时候只会在提取第一个角度下的传播损失值;

Nbeta设置:无关,设置数值无用;

env文件角度设置:

plotshd声压提取方式:

 得到的传播损失如下图所示:

 3d仿真:

参考slice3dHatCart

3d模式设置:

和2d一样,只需要将数字写为3即可 

 

 3d角度设置:

Ntheta设置:与上述2d一致,设置1以及1往上。

Nbeta设置:需要注意,需要设置2以及2往上的数字才可以,否则会报错。

 通过这两个传播损失图的对比,可以发现结果是一样的。

加入海底对比分析

0°和180°垂直剖面如下图所示,加入海底后可以更加清晰的进行对比,呈现2d和3d结果的一致性,仿真时均可拿来使用。

2d结果:

                           (a)0°                                                              (b)180°

 3d结果:

                        (a)0°                                                              (b)180°

 海深5000m时传播损失的水平剖面如下图所示,可以看出0°时60km传播损失有所减小,之前始终处于深蓝色;180°时则是40km开始。与上面垂直剖面结果一致,说明垂直剖面的正确性。

再换个深度1500m,可以看出180°时20km左右有明显影区,与垂直剖面结果一致,再次验证其正确性。

  

### 被动声呐公式及其在 Bellhop3D 中的应用 Bellhop3D 是一种用于模拟水下声场特性的工具,能够处理复杂的三维环境下的声传播问题[^4]。为了实现被动声呐公式的引入及绘制对应的传播损失图,在 Bellhop3D 中通常需要遵循特定的工作流程。 #### 定义被动声呐参数 被动声呐系统的性能取决于接收器灵敏度、目标反射特性等因素。对于这些因素的具体数值设定,可以通过修改输入文件来完成。例如,在 ENV 文件中定义噪声源位置、频率范围以及其他必要的物理量: ```plaintext # Example of defining a noise source in the ENV file NOISE_SOURCE 0.0 0.0 -100.0 # X Y Z coordinates (meters) FREQ_MIN 50 # Minimum frequency (Hz) FREQ_MAX 2000 # Maximum frequency (Hz) ``` #### 修改配置以适应被动声呐需求 为了让 Bellhop3D 更加贴合实际应用背景——即考虑被动声呐场景的要求,可能还需要调整一些其他的设置选项。比如增加对不同方向角分辨率的支持或是改变网格密度等。这同样是在 ENV 或者其他控制文件里完成的操作。 #### 编写自定义脚本来集成被动声呐逻辑 由于标准版的 Bellhop 并未直接提供针对被动声呐的功能模块,因此往往需要借助 MATLAB/Octave 等平台编写额外的脚本代码来进行数据预处理和后处理工作。这部分涉及到了如何读取由 Bellhop 计算得到的结果,并据此计算出所需的传播损失值。下面给出了一段简单的伪代码示例,展示了这一过程的一部分: ```matlab % Load propagation loss data from Bellhop output files into variable 'pl_data' load('propagation_loss.mat', '-v7.3'); % Adjust filename/path as necessary % Define parameters specific to your passive sonar system here... receiver_sensitivity = ... ; % Receiver sensitivity level (dB re 1uPa) target_strength = ...; % Target strength value (dB) % Calculate overall transmission loss incorporating receiver and target effects overall_transmission_loss = pl_data + receiver_sensitivity + target_strength; % Plotting results using built-in plotting functions or custom routines figure; surf(overall_transmission_loss); title('Passive Sonar Transmission Loss'); xlabel('Range (km)'); ylabel('Depth (m)'); zlabel('Transmission Loss (dB)'); colorbar; ``` 上述方法允许用户灵活地将被动声呐特有的要素融入到现有的 Bellhop3D 工作流当中去,从而获得更加贴近实际情况的研究成果[^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值