michele-segata / plexe

Repository for Plexe
GNU General Public License v2.0
49 stars 39 forks source link

Plexe-veins V2V communication #19

Closed mehdi-maleki closed 3 years ago

mehdi-maleki commented 3 years ago

Hi Michele!

We have several questions regarding the platooniong communication of the vehicles in plexe-veins as below. If you could please explain them it would be great. Please note that we are using the Omnet++ IDE.

1. Which layers (mac, physical, etc.) of wave protocol are modeled in plexe to represent the real-world communication?
2. The app and protocol folders represent which layers of the communication?
3. What type of the modulation scheme implemented in plexe for v2v communication?
4. Is there any error correction mechanisim implemented in v2v communication process?
7. How we choose the controllers which will be used?
8. How we select the scenario type in omnet such as braking and sinusoidal?
9. Is it possible to record the data with time prefix for different simulation runs?

Thanks for your time in advance!

mehdi-maleki commented 3 years ago

By the way, the real world communication (wave model) is represented as below picture, we are just wondering which layers of this model is implemented in plexe-veins? image

michele-segata commented 3 years ago
  1. Which layers (mac, physical, etc.) of wave protocol are modeled in plexe to represent the real-world communication?

Plexe uses the WAVE models provided by Veins, so it uses the IEEE 802.11p PHY/MAC plus the IEEE 1609.4 standards. Please refer to the Veins modules webpage for further info.

  1. The app and protocol folders represent which layers of the communication?

Apps and protocols simply sit on top of the datalink.

  1. What type of the modulation scheme implemented in plexe for v2v communication?

All the ones provided by 802.11p (BPSK, QPSK, QAM16, QAM64 with two coding rates each). Again refer to Veins for further info.

  1. Is there any error correction mechanisim implemented in v2v communication process?

You can use 802.11p unicast-based communication to enable acknowledgements and re-transmissions in case of losses.

  1. How we choose the controllers which will be used?

Look at the Plexe API page. The method is setActiveController().

  1. How we select the scenario type in omnet such as braking and sinusoidal?

Simply choose the appropriate OMNeT scenario when launching the simulation. The tutorial page shows you how to do it. This is more a question about OMNeT, not about Plexe.

  1. Is it possible to record the data with time prefix for different simulation runs?

You have to be more specific here. I don't really understand the question.

mehdi-maleki commented 3 years ago

Hi again,

Thanks for the feedback, it really helped us to better understand the plexe-veins structure.

Regarding question 9, I mean how we can save the Omnet++ output files (.vec, .vci and .sca files) with time prefix if we want to run the same simulation for several times? Make a new set of output files rather than overwriting previous ones?

Thanks in advance!

michele-segata commented 3 years ago

This is again something related to OMNeT. You need to change the repeat parameter to generate multiple repetitions of the same configuration. See the OMNeT++ manual for further info. Once you change the repeat parameter, to understand which run number is associated with a specific run number, you can run:

./run -c Sinusoidal -q runs
michele-segata commented 3 years ago

I'll close this due to inactivity.