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 的持续支持。
maxCommunicationRange
是RadioMedium
的MediumLimitCache
子模块的参数。 medium limit cache 是一种优化,因此无线电媒体不必根据功率和灵敏度计算每个 transmitter/receiver 对的范围,但您可以指定一些要使用的值(默认情况下 medium limit cache未使用。)这些范围(最大通信和干扰范围)用于进一步优化,例如范围过滤器(无线电介质中的 rangeFilter
参数)。可以设置过滤器,以便不将超出最大通信范围的传输发送到节点。
在您的示例中,如果您希望无线电媒体不向超出最大通信范围的节点发送任何传输,您还需要将范围过滤器设置为通信范围(请参阅无线电媒体 NED 文档)。
因此默认情况下,不使用中限缓存的最大通信范围,但传输成功是根据发射器功率、距离引起的衰减和接收器灵敏度来计算的。要设置通信范围,需要微调功率和灵敏度。
但是,您提到通信范围是特定距离很重要。为此,UnitDiskRadio
模型可能更适合(如果您不关心有关传输的其他事项,例如信号衰减)。在此模型中,您可以为每个发射器设置特定的通信范围,在该范围内的传输总是成功的,超出范围的则永远不会。
向大家致以热烈的问候
我想了解 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 的持续支持。
maxCommunicationRange
是RadioMedium
的MediumLimitCache
子模块的参数。 medium limit cache 是一种优化,因此无线电媒体不必根据功率和灵敏度计算每个 transmitter/receiver 对的范围,但您可以指定一些要使用的值(默认情况下 medium limit cache未使用。)这些范围(最大通信和干扰范围)用于进一步优化,例如范围过滤器(无线电介质中的 rangeFilter
参数)。可以设置过滤器,以便不将超出最大通信范围的传输发送到节点。
在您的示例中,如果您希望无线电媒体不向超出最大通信范围的节点发送任何传输,您还需要将范围过滤器设置为通信范围(请参阅无线电媒体 NED 文档)。
因此默认情况下,不使用中限缓存的最大通信范围,但传输成功是根据发射器功率、距离引起的衰减和接收器灵敏度来计算的。要设置通信范围,需要微调功率和灵敏度。
但是,您提到通信范围是特定距离很重要。为此,UnitDiskRadio
模型可能更适合(如果您不关心有关传输的其他事项,例如信号衰减)。在此模型中,您可以为每个发射器设置特定的通信范围,在该范围内的传输总是成功的,超出范围的则永远不会。