VANET - WAVE - SCHs access

175 views
Skip to first unread message

Mohammad Abu Shattal

unread,
Aug 11, 2016, 2:17:07 PM8/11/16
to ns-3-users
I'm trying to simulate VANET network with IP (or onoff data)  and Safety Traffic in Dynamic Spectrum Access manner. nodes are supposed to accessing CCH and SCHs dynamically in Alternating Access mode. The choice of the SCH is open for the user (node).I tried to modify the SchInfo for the wavenetdevice as follows in python:

1 EXTENDED_ALTERNATING = 0x00
2 EXTENDED_CONTINUOUS = 0xff
3 SCHs = [172,174,176,180,182,184]
4 CCH = 178
A) Alternating for channel 1: 172, non-immediate access  ===> Segmentation Fault

5 for j in range(vdevices.GetN()):
6     schInfo = ns3.SchInfo (SCHs[0], False, EXTENDED_ALTERNATING ) 
7    vdevices.Get(j).GetChannelScheduler().StartSch (schInfo) # Segmentation Fault here

B) Continuous for channel 1: 172, non-immediate access  ===> Segmentation Fault

5 for j in range(vdevices.GetN()):
6     schInfo = ns3.SchInfo (SCHs[0], False, EXTENDED_CONTINUOUS ) 
7     vdevices.Get(j).GetChannelScheduler().StartSch (schInfo) # Segmentation Fault here

C) Continuous or alternating  for control channel: 178 , non-immediate access  ===> No Segmentation fault, but not meaningful/useful in my case

5 for j in range(vdevices.GetN()):
6     schInfo = ns3.SchInfo (CCH, False, EXTENDED_ALTERNATING ) 
7     vdevices.Get(j).GetChannelScheduler().StartSch (schInfo)

Any idea why is this happening?
Any Directions to implement Dynamic Access to SCHs in VANET. 
Now, I moving to another approach for explicit creating and sending IP and WSMP packets described in the link: https://www.nsnam.org/docs/models/html/wave.html


Message has been deleted

Mohammad Abu Shattal

unread,
Oct 6, 2016, 3:39:44 PM10/6/16
to ns-3-users
Hello All,
I was able to transmit packets over SCH and CCH using alternating access by following the link https://www.nsnam.org/docs/models/html/wave.html. I established the simulation as follows:
- Three of the SCHs are assigned OFDM3Mbps10MHZ data rate (Group A)
- Three of the SCHs are assigned OFDM6Mbps10MHZ data rate (Group B)
- Error rate model is YansErrorRate Model for both group of channels.
- Users accessing Group A, have different Energy detection threshold and tx power settings from users operating on channels on Group B.

What I'm trying to do is the following:
transmit Ip packets on all SCHs and under the above settings and getting the throughput for each user on each channel. Then I'm trying to aggregate the throughput over channels in order to make conclusions about which channels are better than others (based on the throughput metric) Then I will use this information in order to help users adapt to the best channels.

A) Setup the SCHI and CCHI intervals.
B) Distribute users over SCHs for IP traffic.
C) Generate Fixed BSM traffic over CCH channel during 100ms under obervation repeatdly for 10seconds
D) Generate IP traffic by scheduling IP packets during 100ms under obervation repeatdly for 10seconds.
E) Calculate throughput for users over SCHs to get throughput over Channels.[This one is  OK and varying with SCHI and CCHI, but almost the same over the six channels]
F) Calculate PDR for BSM traffic over CCH [This one is OK and varying with SCHI and CCHI]

Th problem is the following:
The results shows different throughput values for different SCHI and CCHI intervals. However, When accessing the channels with different load (low, high), the channels seems to result in statistically same throughput for IP traffic over all SCHs; even if I increased the load to unreasonable levels. I tried to push the channels by increasing the number of users, number of ip packets per user and make scheduling faster of the ip packets but failed to get statistics that shows the differences between two groups of channels.

I have no technical issue, but I'm wondering to know if I'm missing anything from a conceptual perspective. 

Best,
Mohammad
Message has been deleted
Message has been deleted

Mohammad Abu Shattal

unread,
Oct 11, 2016, 11:31:16 AM10/11/16
to ns-3-...@googlegroups.com
Hello Odil,

One thing worth mentioning here is that once the nodes are setup we cannot change their "setup", However we can disable or enable them only. One good thing about Wave is that you can specify the channel for the node at the time of transmission for each scheduled packet. Hence, you can allow the node to access the needed channel. make sure that Tx and Rx both have access to the same channel at the scheduled time. So, I can state the TDMA carried by scheduling the packets first and then run the simulation.

I established the connection as follows:
- Create a node container : vnodes
- I created two different phyHelper to distinguish among two groups of users over two types of  channels: OFDM 3Mbps and OFDM 6Mbps. The one in 3Mbps has different settings for tx power and energy detection threshold from the nodes on  6Mbps. 
- I created two waveHelpers for the same reason: setremotewifimanager: 6Mbps and 3Mbps
- I comleted the installation as follows:

for i in range(vnodes.GetN()):    
       if vnodes.Get(i) belong to group 3Mbps:
        waveHelper3.Install(phy3, mac, vnodes.Get(i) )
       else:
         waveHelper6.Install(phy6, mac, vnodes.Get(i) )

- Loop on all Tx nodes and Rx nodes while making sure that Tx and Rx are assigned the same SCH, I didn't create specific node container or device container to distinguish between senders and receivers. 
for i in range(vnodes.GetN()/2):                                                              # python code
         sender = vnodes.Get(i).GetDevice(1)                                             # device 0 --> loopback, device 1--> vanet
         receiver = vnodes.Get(i+vnodes.GetN()/2).GetDevice(1)          # receiver: the node in the 2nd half of the node container.
- Send packets from sender to receiver
- Receive() packets and do statistics calculations for IP packets : Throughput and for BSM packet : PDR

I hope this is useful for you.

One thing I need this stage is how can I schedule a high load on the OFDM3Mbps channels that differentiate its throughput from the other OFDM6Mbps channels. The problem amplified further when we have a specific SCHI time different than the default: 10, 20, 30, 40, 60, 70, 80, 90

I hope you have an idea in this direction. I'm open for further explanation if needed

Best regards,
Mohammad


On Tue, Oct 11, 2016 at 9:37 AM, Odil <urmod...@gmail.com> wrote:
Dear Brother Muhammed,

You can find channel alternation procedure within wave-simple-device.cc example.
The problem is not in channel switching but how to implement TDMA time slot for each SCH or CCH in this example.
My intention is to create different groups which comprise variable number of vehicles and assign each of them different time slots.
However, when I am trying to create a N number of Wave device group I can not distinguish senders and receivers. Because if you could
see the example sender  and receiver is a pointer value of the WaveNetDevcive

       Ptr<WaveNetDevice> sender = DynamicCast<WaveNetDevice>(connVehicles.Get(0));
       Ptr<WaveNetDevice> receiver = DynamicCast<WaveNetDevice>(connVehicles.Get(1));

Here I tried to make sender or receiver as a vector or pointer array but it doesn't go well.

If you share your point on this I would be appreciated. I think we are trying to solve the same problem.

Warm Regards, Adeel.

--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/BSTsz_KUgHw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+unsubscribe@googlegroups.com.
To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.



--
Mohammad Abu Shattal
Ph.D Candidate
Department of Electrical & Computer Engineering
Western Michigan University
Kalamazoo, MI 49008

Reply all
Reply to author
Forward
0 new messages