有没有办法向自定义通道提供测深?
Is there a way to supply bathymetry to the custom channel?
我正在 运行 使用 UnetStack Simulator. By default the simulations uses one of either ProtocolChannelModel
or BasicAcousticChannel
. Documentation
进行水下模拟
假设我向节点提供 GPS 坐标。我如何在模拟中提供水深测量以使其更合理?我打算使用 GEBCO 2019.
有办法吗?
并非开箱即用,但使用自定义渠道实现应该相对简单(请参阅 Unet handbook 中的“开发自定义渠道模型”部分)。
大纲:
实现您自己的声学模型(例如MyAcousticModel
):
class MyAcousticChannel extends AbstractAcousticChannel {
@Delegate AbstractAcousticModel acoustics = new MyAcousticModel(this)
@Delegate BPSKFadingModel comms = new BPSKFadingModel(this)
}
并调用使用测深法的传播模型(例如 Bellhop),并从 GEBCO 数据库中为其提供测深法。 MyAcousticModel
class 将实现 AbstractAcousticChannel
,它使您可以访问发射器和接收器的位置,以提取测深数据。信道模型每次接收需要return一个接收信号强度,从传播模型传输损耗计算和发射功率中很容易得到。
提示:您可能希望缓存传播模型运行 结果,这样您就不必重新计算,除非节点移动。
然后您将在模拟中使用通道模型 MyAcousticChannel
:
channel.model = MyAcousticChannel
我正在 运行 使用 UnetStack Simulator. By default the simulations uses one of either ProtocolChannelModel
or BasicAcousticChannel
. Documentation
假设我向节点提供 GPS 坐标。我如何在模拟中提供水深测量以使其更合理?我打算使用 GEBCO 2019.
有办法吗?
并非开箱即用,但使用自定义渠道实现应该相对简单(请参阅 Unet handbook 中的“开发自定义渠道模型”部分)。
大纲:
实现您自己的声学模型(例如MyAcousticModel
):
class MyAcousticChannel extends AbstractAcousticChannel {
@Delegate AbstractAcousticModel acoustics = new MyAcousticModel(this)
@Delegate BPSKFadingModel comms = new BPSKFadingModel(this)
}
并调用使用测深法的传播模型(例如 Bellhop),并从 GEBCO 数据库中为其提供测深法。 MyAcousticModel
class 将实现 AbstractAcousticChannel
,它使您可以访问发射器和接收器的位置,以提取测深数据。信道模型每次接收需要return一个接收信号强度,从传播模型传输损耗计算和发射功率中很容易得到。
提示:您可能希望缓存传播模型运行 结果,这样您就不必重新计算,除非节点移动。
然后您将在模拟中使用通道模型 MyAcousticChannel
:
channel.model = MyAcousticChannel