Highway Scenario Generation in VANET

$ 0.00

Total downloads: 41

This code implements the highway mobility scenario in VANET 5G. MATLAB is used for the simulation of this. Till now no such code in MATLAB is available for scholars community.

Description

o

VANET is the main contributor to heterogenous mobility in 5G. VANET has OBU and RSU as the main communicating units. In our scenario of a highway, all nodes move at different velocity but keep it the same during simulation. Three lanes in each direction are implemented. Though the vehicle moves in each lane and lane changing behavior is kept for future work. In this code, we implemented the cluster head selection using fuzzy logic. The RSU divides the whole network into zones and each zone needs a cluster head. This cluster head is chosen by fuzzy logic. We have done similar work earlier too and published on our website https://free-thesis.com. In this work of cluster head selection in WSN we optimized fuzzy logic membership functions. This good work can be checked at our website here https://free-thesis.com/product/wsn-clustering-using-fuzzy-logic-for-increase-in-residual-energy/.

The whole simulation is divided into four main steps:

Roads generation

figure
axis([0 highwayL(1)+1 0 highwayL(2)+10]);
hold on
for ii=0:highwayL(2)/laneNo:highwayL(2)
    rectangle('Position',[0,ii,highwayL(1),highwayL(2)/laneNo],'FaceColor','k','EdgeColor','g')
    hold on
end
rectangle('Position',[0,highwayL(2)/2,highwayL(1),highwayL(2)/laneNo],'FaceColor','w','EdgeColor','w')

RSU Placement

RSU's are placed at constant geographical distance. During simulation RSU and nodes position co-ordinates, their neighbors, distance with neighbors etc. are stored as structure.

Nodes Placement & Movement

Nodes are randomly deployed in both traffic directions in each lane. No node crosses the lane and moves in its own lane. The mobility depends upon the vehicle speed  and position is updated as

% for vehicles moving L to R
    nodes.LtoR.loc= [nodes.LtoR.loc(:,1)+incLtoR,nodes.LtoR.loc(:,2)]; % update node's positions
    h=plot(nodes.LtoR.loc(:,1),nodes.LtoR.loc(:,2),'>b');
    incLtoR=nodes.speed;
    % for vehicles moving R to L
    nodes.RtoL.loc= [nodes.RtoL.loc(:,1)-incRtoL,nodes.RtoL.loc(:,2)]; % update node's positions
    h1=plot(nodes.RtoL.loc(:,1),nodes.RtoL.loc(:,2),'<y');
    incRtoL=nodes.speed;

Cluster Head Selection

Each RSU saves the ID of the vehicle which is in its range and makes a cluster of such vehicles. A cluster head for energy efficient data transmission is selected using fuzzy logic. Three vehicle properties network connectivity, average distance, and average velocity are input this fuzzy logic.

    read .fis file
    fuzzystr=readfis('CHsel_fuzzy');
    LW.LtoRnorm=LW.LtoRnorm.*ones(1,size(nodes.RtoL.loc,1));
    LW.RtoLnorm=LW.RtoLnorm.*ones(1,size(nodes.RtoL.loc,1));
    for kk=1:size(nodes.RtoL.loc,1)
        input=[nodes.RtoL.NCLnorm(kk),nodes.RtoL.ADLnorm(kk),nodes.RtoL.AVLnorm(kk),0.5];
        nodes.RtoL.IW(kk)=evalfis(input,fuzzystr);
    end

The work can be enhanced further for distributed mobility management.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.