Wireless channel implementation in VEINS - omnet++

Where the channel is implemented in VEINS? (file names etc)
What is the type of the channel that is implemented in VEINS?
Are all the channel parameters accessible?
Thanks in advance.
Best regards,

The comment by #Rudi is spot on. In more detail, the wireless channel model of Veins (as of version 5.1) determines reachability of nodes, communication delay, bit error rates, etc. according to transmission parameters, where network nodes are in relation to each other, buildings, and many more parameters. You can freely influence all of these parameters in a simulation.

Related

veins how to analyze packet loss rate and delay

I am currently doing research on the multi-hop broadcast technology of the Internet of Vehicles. I want to use only Veins (5.0) and SUMO to achieve it, but I have encountered problems:
1.Using Veins' example (TraCIDemo11p.cc) to modify the selection of relay nodes, the packet loss rate and delay cannot be counted So I want to know if the packet loss rate and delay can be counted after only modifying the example? It's been two weeks now, I would really appreciate if you could fix my problem.need to use inet?

How do we check and know if our RSU is receiving WSM(or BSM) in Veins(omnet++)

I am new to using veins and I'm currently trying to exchange messages between RSU and vehicle. However, only my vehicles are communicating with each other.
I tried using the following: findHost()->getDisplayString().updateWith("r=16,green");
the radius between the vehicles is turning green but the RSU does not show any changes.
From the previous questions, I could see there is an onData() function in the previous versions of veins(TraCIDemp11p.cc) but it is not available in the newer versions. Is there any way how I can establish connection and show it physically in my simulations?
OK, so it seems that the RSU and the vehicles in Veins have the same connections thus are capable of both receiving and transmitting Basic Safety Messages(BSM). One of the potential reasons why the RSU might not be able to receive messages might be because the distance between the vehicle and the RSU might be too great. Thus, try moving your RSU closer to the network(scenario). This can be done in the omnetpp.ini file under RSU settings. Change the x. mobility, y.mobility, and z.mobility to move the RSU closer to the network and this might potentially fix your problem.

How to change the behavior of nodes (cars), rsu in Omnet++ Veins project

I have setup my environment using omnet++, sumo and veins in ubuntu. I want to reduce packet loss in an emergency situation among vehicles and improve packet delivery time and cost. My project is about choosing the suitable processing position among cluster head (nodes), road side unit (rsu) and cloud. I want to achieve certain tasks that is need to implement my veins project. I have configured 50 nodes and 4 rsu and provide data rate about 6mbps and assign the packet size upto 2MB.
Therefore, how can I change the behavior of vehicles (nodes), road side unit (rsu) and cloud in order to implement the following parameters?
processing rate of clusters (nodes) = 3 Mbps.
processing rate of RSUs = 7 Mbps.
processing rate of cloud = 10 Mbps.
the range of clusters (nodes) = 60 m.
the range of RSU = 120 m.
the range of cloud = 500 m.
If you could help with building these parameters I will appreciate it.
Thank you
If you are talking about transsmision rate, then you can set the bit rate in the ini file (check veins example) but if you meant processing delay then it is usually simulated by scheduling self messages (check tictoc example). In terms of transsmsion range, veins uses Free Space Propagation model and the related parameters are set in the ini file so you can change them to decide the required range. Finally, I recommand to read more about veins and how it deal with the parameters you asked about. There are alot of answered questions on StackOverFlow about your questions.

send to the nearest node in a wireless network

In a wireless simulation with omnet++ inet 3.6, how can I manage sensor nodes to send the packets to the nearest mobile nodes? There are several sensor and mobile nodes in the field and thus cannot choose a specific destination like *.host[*].udpApp[0].destAddresses="host[0]"
Thanks for your answer.
If you have specific needs in the behavior of the application you are using, you need to implement that application. I assume you want to send UDP traffic (as TCP is connection oriented). Take a look at UdpBasicApp and modify it in a way that instead of reading the destination address once during the initialization, it must calculate the destination IP on each new packet (based on the position of nodes).

Omnet++ Send wireless message to limited distance

I develop simulator of mobile nodes, each one with transmission range of 100m for example. The communication between the nodes are wireless and TDMA based.
I have notice that if 2 nodes (not in the same range) broadcast message on the same time, it's cause to a problem.
How can i limit the distance of nessage that is sent from a node ? such that i can broadcast 2 or more messages on the same time, and just the nodes in the range of the sending node will hear the message ?
The code that processes the reception of the packet should calculate the distance from the sender and drop the packet if it's out of range.
A little less accurate solution: before sending the packets the broadcasting node should check the distance to the potential receiving node and not send the packet if it is out of range. This is a bit faster (as it generates less packets) and more clear (you will see the broadcast animation only for the packets that actually delivered)
A much easier solution: Use INET Framework, which already has the necessary implementation. You would only need to implement a MAC module that handles the TDMA protocol.

Resources