2

我正在使用UnetStack Simulator运行水下模拟。默认情况下,模拟使用ProtocolChannelModel或之一BasicAcousticChannel文档

假设我向节点提供 GPS 坐标。如何在模拟中提供水深测量以使其更合理?我打算使用GEBCO 2019

有没有办法做到这一点 ?

4

1 回答 1

4

不是开箱即用的,但使用自定义通道实现应该相对简单(请参阅Unet 手册中的“开发自定义通道模型”部分)。

大纲:

实现您自己的声学模型(例如MyAcousticModel):

class MyAcousticChannel extends AbstractAcousticChannel {
  @Delegate AbstractAcousticModel acoustics = new MyAcousticModel(this)
  @Delegate BPSKFadingModel comms = new BPSKFadingModel(this)
}

并调用使用水深测量的传播模型(例如 Bellhop)并从 GEBCO 数据库中提供水深测量。该类MyAcousticModel将实现一个AbstractAcousticChannel,它使您可以访问发射器和接收器的位置,以提取水深。信道模型需要为每次接收返回一个接收信号强度,这很容易从传播模型传输损耗计算和发射功率中得到。

提示:您可能希望缓存传播模型运行结果,这样您就不必重新计算,除非节点移动。

然后,您将在模拟中使用通道模型MyAcousticChannel

channel.model = MyAcousticChannel
于 2020-10-18T08:07:32.777 回答