基于无线Mesh网络OLSR路由协议的MATLAB仿真
目录
一、理论基础
二、核心程序
三、测试结果
一、理论基础
无线Mesh网络其也可以称为无线网状网络或者无线多跳网络,其具有动态自组织、自配置、易于维护等优点,同时还具备成本较低,系统运行稳定的优势。无线Mesh网络将移动节点和固定节点通过无线链路进行相互链接,组成一个多跳移动的自组无线网络。无线Mesh网络的构建是基于Ad Hoc无线网络之上的,因此,在其拓扑结构上和Ad Hoc无线网络具有较多的相似点。无线Mesh网络能够灵活快速的实现各种场合的组网,因此具有极其广泛的应用前景。无线Mesh网络结构的基本示意图如下图所示:
对于OLSR路由协议,通过Dijkstra算法计算无线Mesh网络G中的N个s到d的路径,主要步骤如下所示:
Dijkstra算法算是贪心思想实现的,首先把起点到所有点的距离存下来找个最短的,然后松弛一次再找出最短的,所谓的松弛操作就是,遍历一遍看通过刚刚找到的距离最短的点作为中转站会不会更近,如果更近了就更新距离,这样把所有的点找遍之后就存下了起点到其他所有点的最短距离。选择特殊路径长度最短的路径,将其连接的V-S中的顶点加入到集合S中,同时更新数组dist。一旦S包含了所有顶点,dist[]就是从源到所有其他顶点的最短路径长度。
(1)数据结构。 设置地图的带权邻接矩阵为map[][],即如果从源点u到顶点i有边,就令map[u][i]=<u,i>的权值,否则map[u][i]=∞;采用一维数组dist[i]来记录从源点到i顶点的最短路径长度:采用一维数组p[i]来记录最短路径上i顶点的前驱。
(2)初始化。令集合S={u},对于集合V-S中的所有顶点x,初始化dist[i]=map[u][i],如果源点u到顶点i有边相连,初始化p[i]=u(i的前驱是u),否则p[i]=-1
(3)找最小。在集合V-S中依照贪心策略来寻找使得dist[j]具有最小值的顶点t,即dist[t]=min,则顶点t就是集合V-S中距离源点u最近的顶点。
(4)加入S战队。将顶点t加入集合S,同时更新V-S
(5)判结束。如果集合V-S为空,算法结束,否则转6
(6)在(3)中已近找到了源点到t的最短路径,那么对集合V-S中所有与顶点t相邻的顶点j,都可以借助t走捷径。
二、核心程序
..............................................................%节点分布范围Nnode = 100;SCALE = 500;%%初始节点能量E0 = 1;%通信半径Radius= 100;%%节点最大移动速度Vmax = 1;%%数据发送包速率Smax = 20;%%数据发送包长度SLen = 2000;%%节点通信阈值LRad = 87;%电路能耗系数Eelec = 5e-8;%信道传播模型的能耗系数Efs = 1e-11;%信道传播模型的能耗系数Emp = 1.3e-15;%压缩比u = 0.5;%%初始变异概率P = 0.5;%%发送率Trans = 1.5;%%%构造一个多跳传输测试网络系统,OLSR协议的改进X = rand(1,Nnode)*SCALE; Y = rand(1,Nnode)*SCALE; %定义随机带宽Bw = 100*rand(Nnode,Nnode);%顶级随机的丢包率Db = rand(Nnode,Nnode)/20;%network topology dmatrix0= zeros(Nnode,Nnode);Fmatrix0= zeros(Nnode,Nnode);Cmatrix0= zeros(Nnode,Nnode);for i = 1:Nnode for j = 1:Nnode Dist = sqrt((X(i) - X(j))^2 + (Y(i) - Y(j))^2);%距离因素dmatrix0(i,j) = Dist; end; end; %计算归一化值的最大值for i = 1:Nnode for j = 1:Nnode Dist = sqrt((X(i) - X(j))^2 + (Y(i) - Y(j))^2); %网络优先级参数Fmatrix0(i,j) =((Bw(i,j)-min(min(Bw)))/min(min(Bw)) + (max(max(dmatrix0))-dmatrix0(i,j))/max(max(dmatrix0)) + (1-Db(i,j)))/3; %视频传输能力——即节点之间的传输损耗,用简化模型替代if i == jCmatrix0(i,j) = 0; elseCmatrix0(i,j) = 20*log10(Dist); endend; end; MAX_dmatrix = max(max(dmatrix0));MAX_Fmatrix = max(max(Fmatrix0));MAX_Cmatrix = max(max(Cmatrix0));matrix = zeros(Nnode,Nnode);dmatrix = zeros(Nnode,Nnode);Fmatrix = zeros(Nnode,Nnode);Cmatrix = zeros(Nnode,Nnode);for i = 1:Nnode for j = 1:Nnode Dist = sqrt((X(i) - X(j))^2 + (Y(i) - Y(j))^2); %a link; if Dist <= Radius & Dist > 0matrix(i,j) = 1; %距离因素dmatrix(i,j) = Dist; %网络优先级参数Fmatrix(i,j) = ((Bw(i,j)-min(min(Bw)))/min(min(Bw)) + (max(max(dmatrix0))-dmatrix0(i,j))/max(max(dmatrix0)) + (1-Db(i,j)))/3; %视频传输能力——即节点之间的传输损耗,用简化模型替代Cmatrix(i,j) = 20*log10(Dist); else matrix(i,j) = inf; %距离因素dmatrix(i,j) = inf; %网络优先级参数Fmatrix(i,j) = inf; %视频传输能力——即节点之间的传输损耗,用简化模型替代Cmatrix(i,j) = inf; end; end; end; %归一化处理dmatrix = dmatrix/MAX_dmatrix;Fmatrix = Fmatrix/MAX_Fmatrix;Cmatrix = Cmatrix/MAX_Cmatrix;%路由优化算法的改进Tmatrix = (dmatrix + Fmatrix + Cmatrix)/3;%定义通信起始节点和终止节点tmp = randperm(Nnode);for i = 1:NnodedistA(i) = sqrt((X(i))^2 + (Y(i))^2);distB(i) = sqrt((X(i)-SCALE)^2 + (Y(i)-SCALE)^2);end[Va,Ia] = max(distA);[Vb,Ib] = max(distB);Sn = Ia;En = Ib;[paths,costs] = func_dijkstra(Sn,En,Tmatrix); %通过遗传优化算法去搜索OLSR协议的最小MRP集if isempty(paths) == 0flags = 1; end endpath = func_find_best_MRPset(paths,X,Y,Tmatrix,Nnode);path_distance=0; ds=0;for d=2:length(paths) path_distance= path_distance + MAX_dmatrix*dmatrix(paths(d-1),paths(d)); ds(d)=MAX_dmatrix*dmatrix(paths(d-1),paths(d)); end %hop数量path_hops = length(paths); %根据OSLR协议所建立的网络路径进行视频的传输
...............................................
三、测试结果
A12-29
基于无线Mesh网络OLSR路由协议的MATLAB仿真相关推荐
- 基于IEEE802.11s的无线Mesh网络路由协议研究(一)
摘要:基于IEEE 802.11s的无线Mesh网络已成为机动宽带接入技术研究领域的一个研究热点.对无线Mesh网络中的关键技术--混合无线Mesh协议(HWMP)进行详细的分析,与传统按需路由机制相 ...
- 无线mesh网络路由协议分类
目前有超过70种路由协议被提出应用于无线Mesh网络,这些路由协议大致可以分为三类:先验式(表驱动)路由协议,反应式(按需)路由协议以及混合式路由协议,见下图. 无线Mesh网络路由协议分类图 先验式 ...
- 无线Mesh网络总结(新)
无线Mesh网络主要包含三类节点,构成了Mesh的基本服务集. 1.与有线网络相连的节点(GateWay节点),其主要负责实现无线Mesh网络和有线网络的数据交换. 2.可以进行Mesh组网并拥有Ro ...
- 无线MESH网络与WDS的异同
目录 前言 路由和桥接 无线路由器和无线网桥 桥接和生成树算法 Mesh路由器VS无线网桥 无线网桥和MESH路由器相关专业术语 前言 对于由MESH网络设备或者WDS(无线分布系统)网络设备所组成的 ...
- 无线Mesh网络技术基础与应用
无线Mesh网络主要包含三类节点,构成了Mesh的基本服务集. 1.与有线网络相连的节点(GateWay节点),其主要负责实现无线Mesh网络和有线网络的数据交换. 2.可以进行Mesh组网并拥有Ro ...
- 无线Mesh网络技术
无线mesh网,即无线网状网,也称为无线多跳网,它可以和多种宽带无线接入技术如802.11.802.16.802.20以及3G移动通信等技术相结合,组成一个含有多跳无线链路的无线网状网络.这种无线网状 ...
- 物联网技术系列之3分钟了解无线MESH网络
今天来聊聊无线MESH网络的,开始之前,先说一句:"无线MESH网络是个好东西!" 要说无线MESH网络,首先从我们都熟悉的无线网络说起. 无线网络相信在座的各位一定一点儿也不陌生 ...
- 总结几点无线Mesh网络的优点
无线Mesh网络是无线网状网,与传统无线WLAN不相同,被称之为多跳网络.它的好处很多,最有特点的就是可以"跳到"非拥塞的节点进行传输.那么下文就为大家详细介绍一下它的好处. 无线 ...
- 无线Mesh网络相比于传统WLAN的优势有哪些?
传统的WLAN大家都应该比较了解了,利用射频技术,使用电磁波,取代旧式碍手碍脚的双绞铜线所构成的局域网络,在空中进行通信连接.每个客户端均通过一条与AP相连的无线链路来访问网络,形成一个局部的BSS. ...
最新文章
- CSS 选择器:BeautifulSoup4解析器
- python日期时间
- Ubuntu14.04下安装eclipse
- Android的数据存储
- latex 数学公式_数学公式、方程式 OCR 识别编辑 LaTeX 公式软件神器—极度公式
- dataframe两个表合并_DAXSQLPython实现报表项目存在串行的财务报表合并
- LeetCode 1109. 航班预订统计(差分思想)
- 对微软实习生或者工作感兴趣的读者, 目前我的项目是...
- 网络主机和交换机端口位置的有效定位方法
- [BZOJ 1025] [SCOI2009] 游戏 【DP】
- uniapp H5端与APP端压缩图片
- python绘制单线图_施工角度简析如何画好管道单线图
- 计算智能——K-均值算法
- 速读原著-UnixLinux基础(七)
- uniapp 关于swiper组件和moveable-area、moveable-view组件搭配的图片预览高度集成组件
- java如何对不齐,java中的测不准原理_java认证
- Qt编写安防视频监控系统15-远程回放
- D. CGCDSSQ (gcdST表)
- 针孔相机(透视相机模型)
- 3亿颗市场规模逐鹿,国产Zigbee芯片盘点