无线传感网仿真代码(路由算法)

以下内容为自己原创,写的一般,希望帮助需要的人。代码复制出来,在Matlab中可以直接执行。 

研究意义:作为连结物理世界与信息世界的媒介,传感器可以很好的帮助我们认识到物理世界的变化情况。仔细观察我们周围,就可以发现很多传感器在我们生活中的应用例子,如智能手环、手表以及血糖检测仪等。特别是近年来,得益于微电子技术和集成电路技术的快速发展,传感器变的更加微型化、智能化和网络化。现在的传感器普遍为无线传感器节点(wireless sensor nodes),主要构成部分有传感器部件、微型处理器和无线通信模块。

无线传感网络一般由无线传感器节点和基站(base station)组成,无线传感网络系统即就是由部署在监测区域内的无线传感器节点通过无线通信方式形成的一个多跳的自组织的网络系统。由于传感器网络的易部署、可自组织、低成本的特点,使得其可以广泛应用到环境监测、智能家居、智能交通以及军事监测等领域。

首先介绍下一般英文缩写:

WSN(wireless sensor network)
        基站base station (BS)
        移动网关 MS(mobile sink)
        簇群 Cluster
        簇头 Cluster Head(CH), 簇员 Cluster Member(CM)
无线传感网(WSN):
无线传感网, 一般是由许多传感器节点(sensor node)自组织形成的网络,用来把感知到的信息通过单跳或者多跳的方式发送到基站(BS),由于传感器节点的电池能量是有限的,所以对数据转发的有效性要求很高,即用最少的能量消耗换来最大的数据转发量,因此需要有了许多路由算法。
路由协议(算法)的分类,按照 sink 的类型可以分为两类:
    1) 静态网关(static sink): 比较早期的路由协议,如LEACH, Flooding等协议
    2) 动态网关 MS(mobile sink) : 该类算法被证明是比第一类算法更加有效的, 最新的路由协议基本都是第二类。
经典算法:
1)LEACH算法:
由于第二类算法都是由第一类算法演化来的,所以其中有些算法还是需要了解一下的,这里重点介绍一下LEACH协议,也可以百度一下, 网上由很多的解释。之所以经典,个人认为是因为该算法将整个网络进行了簇群划分,并且实现了节点轮流充当网关的功能,实现了网络负载均衡,有效地延长了无线传感网的生命周期。
下面是自己了解的一些动态路由算法,都是基于LEACH改进,近些年比较新的算法。有效性依次递进。基本结构如图:  
                                                   ​ 
2)基于树结构的算法。如TCDBGA: Tree-Cluster-Based Data-Gathering Algorithm
算法概要: 在网络中,有一个 MS 周期的从 BS 出发, 在每一个汇聚节点 RP(rendezvous point)处停靠收集信息,RP 即树根,所有树节点的数据都汇聚在此。 算法分为三个过程: 1,成树的阶段 tree construction 2, 汇聚节点 RP 和 子汇聚节点 SRP 的选择 3,数据收集阶段

算法介绍:

在无线传感网络中采取虚拟网格技术一直都被认为是一种有效的数据收集策略,常见的路由方法如TTDD、LBDD、Railroad。其中TTDD算法的路由方法如下:当传感器节点监测到事件发生时,就会以该节点作为源节点,开始构建虚拟网格结构。如图,源节点会选择其周围最近的四个位于交叉点处的邻居节点来发生监测到的数据信息,邻居节点收到信息后重复执行上述过程,直到整个网络结构的构建完成。如此汇聚节点就可以通过这些单元格来实现发生和接受数据的目的。然而该算法还是存在缺陷,当网络范围较大时,网络结构的构建过程会消耗过多的能量,严重影响了整个网络的生命周期。其他算法如LBDD,Railroad也是在虚拟网格区域内选区部分节点作为收集和转发数据的网关节点,但是他们选择的网关节点位置比较集中,当网络数据通信量较大时,网络能耗会由于负载不均衡而出现“能量空洞”现象,反而会缩短网络的生命周期。

                                                                           

GCA算法,与上述路由方法不同的是,该方法采用在网络覆盖范围内建立六边形的单元格来进行数据的收集。如图,黑色实心三角形表示所在单元个的头节点,该头节点的定义为:距离单元格的中心位置最近的节点。圆形空心表示监测到事件发生时发生数据的源节点。圆形实心表示移动汇聚节点,用来收集网络中感知到的数据并转发至基站。该方法确实能提升网络性能,但是当移动汇聚节点移动到下一个单元格时,需要进行整个网络的路由路径重构过程,在进行位置信息的交换时会消耗大量的能量,因此路由重构成本开销太大。

                                                             

VGDRA算法做出了一些改进,如图,该算法假设网络覆盖区域为矩形区域,并划分了等大小的单元格,与GCA相同,也是定义距离单元格中心位置处的节点为单元格头节点,用来收集本单元格内其他传感器节点上传的感知数据。然后再定义移动汇聚节点按逆时针方向沿着矩形区域移动。路由路径的构成有所有的单元格头节点完成,相较于GCA算法,当移动汇聚节点移动到下一个单元格边缘时,路由路径的重构只需要很少的变动,有效的提升了网络能量的利用率。

                                                            

关于节能的算法,基本就是这些,希望能帮助到各位。仿真代码 01地址:  https://share.weiyun.com/5LM3heC

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

猜你喜欢

转载自www.cnblogs.com/betweenworlds/p/12057452.html