✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab完整代码及仿真定制内容点击👇
🔥 内容介绍
最初的反应协议并不是为在发现路线时具有高度移动性的特点而设计的。由于动态的修改,这一变化往往是由于故障导致过度广播和淹没整个网络,以便发现新的路线。另外,路由的初始需要一些时间,这种延迟可以很容易地改变一切。由于这些原因,典型的反应性协议以其目前的格式,不完全适合于合作避免碰撞等关键时间应用。合作避免碰撞是车上安全应用的一个重要类别,其目的是向使用车辆对车辆(V2V)通信的司机提供早期的警告。需求距离向量(AODV)是一种能够同时进行单播和多播的反应路由协议。在AODV中,像所有的活性协议书一样,拓扑信息只能根据需要通过节点传输。当源哈苏梅要发送时,它会首先传播由中间节点转发的RREQ消息,直到到达目的地。如果接收器是使用所请求地址的节点,或者是访问所请求地址的有效路由,则路由回复消息将被连回源。如果接收器是使用所请求地址的节点,或者是访问所请求地址的有效路由,则路由回复消息将被连回源。如果接收器是使用所请求地址的节点,或者是访问所请求地址的有效路由,则路由回复消息将被连回源。
📣 部分代码
function [E,pcktlossrate,total_dist,pcktloss,thrgput]=evaluation(nodtble,node_rsu) % take out the distance of nodes in routing table from each otherfor ii=1:numel(nodtble)-1 distnc(ii)=sqrt((node_rsu(nodtble(ii+1),3)-node_rsu(nodtble(ii),3))^2+(node_rsu(nodtble(ii+1),4)-node_rsu(nodtble(ii),4))^2);endtotal_dist=sum(distnc); % total distnace from source to destinationtime_consumed=total_dist/(3*10e9);%% Perfromance Evolutionpktsize=64;%in bytesdatarate=[4,6,8,10,12,14]; % packets/secEtx=1;% in joulesEini=Etx;Elec=50e-9; %amount of Energy consumption per bit in the transmitter or receiver circuitryEmp=0.0015e-12;%Amount of energy consumption for multipath fadingEDA=5e-9; %Data aggregation energy.% paraemetrs for energy calculation using raio model of message% transmissionalpha1=50e-9; %J/bitalpha2=0.1e-9; %J/bit/m2alpha=2;Ebit=0.3e-3; % energy assigned to each bit %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%radio Model for energy consumption is % E=alpha1+alpha2*(dist)^alpha%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%hop=numel(nodtble);for ff=1:length(datarate) E(ff)=(alpha1*datarate(ff)*pktsize*8)+(alpha2*datarate(ff)*pktsize*8)*(total_dist)^alpha;% energy loss calculation in transmitting packets at datarate Edata(ff)=Ebit*datarate(ff)*pktsize*8; for ll=1:datarate(ff) Etx=Etx-(Elec*8*pktsize+Emp*8*pktsize); Erx=Eini-Etx; Erx=Erx-(Elec+EDA)*8*pktsize; Eini=Etx; if Etx<0.98 pcktloss(ll)=1; else pcktloss(ll)=0; end end if hop>4 && datarate(ff)> 6 pcktlossrate(1,ff)=(datarate(ff)-7)/datarate(ff); else pcktlossrate(1,ff)=0; end thrgput(1,ff)= (datarate(ff)*pktsize)/time_consumed; end
⛳️ 运行结果