我目前正在评估通信负载对合作意识消息生成的影响。为此,我使用带有静脉的动脉来模拟 802.11p 堆栈。从我的模拟中,我观察到使用omnetpp.ini 文件中的配置脉络中给出的默认通信参数,我只能获得大约 100m 的有效通信范围。在经历了其他相关问题之后,(在运行时更改一组特定车辆的传输信号强度),我知道增加*.node[*].nic.mac1609_4.txPower的值应该有助于增加通讯范围。但是,我没有注意到通过增加或减少该值而观察到的通信范围有任何变化。
由于我在使用 Artery 和 Veins 方面还很陌生,我不确定我们是否需要做其他事情来增加车辆的通信范围。
关于我如何计算通信范围的更多细节。我有两辆车 A 和 B。我将车辆 A 的速度设置为 4m/s,将车辆 B 的速度设置为 0.01 m/s(使其几乎处于静止状态)。根据 CAM 生成条件,这两种速度的车辆每秒都会生成一条消息。我有一条 700m 的直线路段,有两条车道,两辆车分别在车道 0 和 1 中同时生成。根据 A 车的速度,A 车离开路段需要 175 秒。观察最后生成的 .sca 文件,我看到ReceivedBroadcasts + SNIRLostPackets = 28对于这两辆车来说,这意味着只有前 28 秒(28*4 = 112m)两辆车都在射程内。我尝试了不同的 txPower 和灵敏度值,但我仍然得到相同的结果。
谢谢你的帮助
更新
我添加了我在成功接收数据包期间收到的消息的屏幕截图,以及由于错误或低功率水平导致的数据包丢失。
根据日志,似乎数据包丢失了,因为在接收方测量的功率低于 minPowerLevel。我发现可以通过更改 omnetpp.ini 文件中 *.**.nic.phy80211p.minPowerLevel 的值来设置 minPowerLevel,但是有人可以告诉我 Rx 功率是如何计算的(在哪个文件中)?