RadioMedium 的 maxCommunicationRange 参数和 Radio transmitter 的 power 参数有什么关系?

What is the correlation between RadioMedium's maxCommunicationRange parameter and Radio transmitter's power parameter?

向大家致以热烈的问候

我想了解 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- 我如何强制我的节点在一定距离之外不相互通信?

3-maxCommunicationRange**.radio.transmitter.power有什么关系?

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

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

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

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

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

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