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:
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'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.