我想知道静脉中的碰撞次数。我正在使用Instant Veins 4.7.1,我刚刚修改了这个场景,以获得没有RSU的高密度车辆。应用程序仅发送带有间隔和传输功率的信标(BasicSafetyMessages),如下所示:
*.**.nic.mac1609_4.txPower = 50mW
*.node[*].appl.sendBeacons = true
*.node[*].appl.beaconInterval = 0.1s
我修改了Mac1609_4.cc的下一部分:
else if (msg->getKind() == Decider80211p::BITERROR || msg->getKind() == Decider80211p::COLLISION) {
statsSNIRLostPackets++;
DBG_MAC << "A packet was not received due to biterrors" << std::endl;
if (msg->getKind() == Decider80211p::COLLISION)
statsCollisions++;
else if (msg->getKind() == Decider80211p::BITERROR)
statsBitErrors++;
}
但是我得到的所有丢失的数据包都是由于比特错误而没有因碰撞造成的。 Veins的默认配置是否允许我发生碰撞?
静脉允许本地收集有关碰撞的统计数据。但是,默认情况下禁用它,因为它会增加模拟时间。要启用它,只需将以下行添加到omnetpp.ini
:
*.**.nic.phy80211p.collectCollisionStatistics = true
这将在您的方案中的所有节点上启用Decider80211p
中的冲突统计信息,然后记录ncollisions
。