2016-06-10 6 views
0

В моделировании Veins/Omnet ++, как я могу определить, когда два автомобиля находятся в зоне обмена данными? Предположим, у меня есть три машины в симуляции (v1, v2, v3). Во время имитации эти транспортные средства проходят несколько раз несколько раз. Предположим теперь, что v1 и v2 проходят друг к другу, каждый из которых идет в противоположных направлениях. Встреча длится около 5 секунд (по мнению, я имею в виду, что эти два автомобиля обмениваются данными в течение 5 секунд или что v1 получает данные из v2 за эти 5 секунд). Мой вопрос: как я могу узнать, как долго v1 и v2 были в контакте друг с другом? Имея в виду, что они могут встречаться друг с другом несколько раз в ходе моделирования. Таким образом, в конце концов, я могу что-то вроде этого генерируется для v1:Определение, когда два транспортных средства находятся в контакте (Veins, Omnet ++)

1- <tstart, tend, #packets exchanged> 
2- <tstart, tend, #packets exchanged> 
. 
. 
. 

где tstart будет представлять время v1 начала обмена пакетами с другим транспортным средством (Vx), и tend будет представлять конец обмена данными с этим транспортным средством (vx) и #packets exchanged будет показано, сколько пакетов было обменено между tstart и tend.

ответ

0

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

Это означает, что вы всегда сможете узнать, кто действительно может обмениваться данными в вашей симуляции. Это дает вам список событий с успешным получением пакета.

Как сгруппировать эти события в последовательные «блоки передачи» полностью зависит от вас. Есть хорошие аргументы в пользу практически любого выбора здесь.

+0

Как вы бы посоветовали сгруппировать блоки передачи? – dutu

+0

Если вы можете ожидать, что кадры будут поступать через равные промежутки времени, вы можете использовать это в качестве основы для оценки наличия «разрыва» на приеме –