首页 > 解决方案 > RadioMedium 的 maxCommunicationRange 参数和 Radio 发射机的功率参数之间有什么关系?

问题描述

向大家致以热烈的问候

我想了解 RadioMedium 的参数:maxCommunicationRange和 Radio 发射器的参数:power

确实,我希望我的节点在以后超出阈值范围的情况下不与邻居通信。我参数化如下:

*.radioMedium.*.power = -110dBm
*.radioMedium.*.bandwidth = 2.8MHz
*.radioMedium.*.centerFrequency = 2.4GHz
*.radioMedium.*.maxTransmissionPower = 2.24mW
*.radioMedium.*.maxTransmissionDuration = 1000ms
*.radioMedium.*.maxCommunicationRange = 20m

**.radio.transmitter.power = 2.24mW

但令我惊讶的是,数据包仍然传输到我网络中的所有节点。我什至设置*.radioMedium.*.maxCommunicationRange = 0m但所有节点仍然接收数据包。

不太可能,当我改变发射器的功率参数**.radio.transmitter.power = 0.05mW(但问题是我不能确切地知道这个可接受的通信距离,而我需要在我的工作中知道它。

1-这个参数( maxCommunicationRange )如何工作?

2-如何强制我的节点不要在一定距离之外相互通信?

maxCommunicationRange3-和之间的关系是什么**.radio.transmitter.power

我正在使用 omnetpp-6.0pre11 和 INET 4.3

非常感谢您对 Stackoverflow 的持续支持。

标签: c++omnet++inet

解决方案


maxCommunicationRange是 的子MediumLimitCache模块的参数RadioMedium。中限缓存是一种优化,因此无线电媒体不必根据功率和灵敏度计算每个发射器/接收器对的范围,但您可以指定一些要使用的值(默认情况下,中限缓存不是使用。)这些范围(最大通信和干扰范围)用于进一步优化,例如范围过滤器(rangeFilter无线电介质中的参数)。可以设置过滤器,使超出最大通信范围的传输不会发送到节点。

在您的示例中,如果您希望无线电媒体不向超出最大通信范围的节点发送任何传输,您还需要将范围过滤器设置为通信范围(请参阅无线电媒体 NED 文档)。

因此,默认情况下,不使用中限制缓存的最大通信范围,而是根据发射功率、距离衰减和接收灵敏度计算传输成功与否。要设置通信范围,需要微调功率和灵敏度。

但是,您提到通信范围必须是特定距离很重要。为此,该UnitDiskRadio模型可能更适合(如果您不关心有关传输的其他事情,例如信号衰减)。在此模型中,您可以为每个发射器设置特定的通信范围,并且在该范围内的传输始终成功,超出范围则永远不会。


推荐阅读