Как получить столкновения в венах 4.7.1 - PullRequest
0 голосов
/ 30 августа 2018

Я хочу получить количество столкновений в венах. Я использую 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++;
}

но все потерянные пакеты, которые я получаю, происходят из-за битерсов, а не из-за коллизий. Существует ли конфигурация вен по умолчанию, которая не позволяет мне получать коллизии?

1 Ответ

0 голосов
/ 30 августа 2018

Veins позволяет собирать статистику о столкновениях нативно. Однако по умолчанию он отключен, поскольку увеличивает время моделирования. Чтобы включить его, просто добавьте следующую строку в ваш omnetpp.ini:

*.**.nic.phy80211p.collectCollisionStatistics = true

Это включает статистику столкновений в Decider80211p на всех узлах в вашем сценарии, которая затем записывает ncollisions.

...