2016-06-10 4 views
0

Wie kann ich in der Simulation von Veins/Omnet ++ feststellen, wann zwei Fahrzeuge in Reichweite sind, um Daten auszutauschen? Angenommen, ich habe drei Fahrzeuge in einer Simulation (v1, v2, v3). Bei Simulationen passieren diese Fahrzeuge einige Male. Nehmen Sie nun an, dass v1 und v2 sich gegenseitig passieren und jeweils in entgegengesetzte Richtungen gehen. Die Begegnung dauert etwa 5 Sekunden (durch Begegnung, ich meine, dass diese beiden Fahrzeuge Daten für 5 Sekunden austauschen, oder dass v1 Daten von v2 während dieser 5 Sekunden empfängt). Meine Frage ist: Wie kann ich herausfinden, wie lange sich v1 und v2 in Kontakt befanden? Bedenken Sie, dass sie sich im Laufe von Simulationen mehrmals begegnen können. So am Ende kann ich so etwas wie dies für v1 erzeugt habe:Bestimmen, wann zwei Fahrzeuge in Kontakt sind (Veins, Omnet ++)

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

wo tstart die Zeit v1 mit einem anderen Fahrzeug gestartet Austausch von Paketen darstellen würde (vx) und tend würden Ende des Datenaustausches mit dem Fahrzeug darstellen (vx) und #packets exchanged würde zeigen, wie viele Pakete zwischen tstart und tend ausgetauscht wurden.

Antwort

0

Ob zwei Fahrzeuge erfolgreich Daten austauschen können, hängt von vielen Faktoren ab, nicht zuletzt davon, wer sonst gerade Daten austauscht.

Das bedeutet, dass Sie immer nur herausfinden können, wer tatsächlich Daten in Ihrer Simulation austauschen konnte. Was Sie erhalten, ist eine Liste von "Paket erfolgreich empfangen" -Ereignissen.

Wie Sie diese Ereignisse in aufeinander folgende "Übertragungsblöcke" gruppieren, liegt ganz bei Ihnen. Es gibt gute Argumente für so ziemlich jede Wahl hier.

+0

Wie würden Sie empfehlen, Übertragungsblöcke zu gruppieren? – dutu

+0

Wenn Sie erwarten können, dass die Bilder in regelmäßigen Intervallen ankommen, können Sie auf dieser Grundlage beurteilen, ob es eine "Lücke" im Empfang gab –