一种基于双层模糊算法的无线传感器网络数据传输方法与流程

文档序号:16099343发布日期:2018-11-27 23:56阅读:155来源:国知局

本发明属于无线传感器网络技术领域,特别涉及一种基于双层模糊算法的无线传感器网络数据传输方法。



背景技术:

随着单片机、无线通信、传感器、嵌入式以及能源系统的不断发展,无线传感器网络(WSN)在科学技术不断发展以及生活应用和科学研究的需求下诞生了。由于WSN具有抗毁性强、自适应性强以及能够快速开展等优点,因此其不管在日常生活还是专业科研领域都有着非常广泛的应用场景。

随着WSN的应用越来越广泛,其中存在着一些技术上难以突破的瓶颈。其中最为关键的就是能源问题,由于WSN中分布着大量传感器节点,这些节点都是根据需求分布在特定区域,有的可能分布在偏远的山区,有的可能分布在环境恶劣的沙漠里,有的可能分布在人工难以到达的深海底,正是由于诸如此类特殊环境的限制,导致对于分布于此的传感器节点的维护非常困难,特别恶劣的环境中甚至无法进行维护,再者,这些传感器节点由于为适应各种应用场合的需求其本身的体积很小,加上目前能源技术的限制,每个传感器节点所带的都是微型电池,此类微型电池所能带的电量是有限的,所以一旦传感器节点自身所带的微型电池的电能耗尽,在一些特殊的应用场合中基本难以对其进行能源续航维护。

目前,对于无线传感器网络数据传输的路由协议有很多,主要有LEACH协议,LEACH_C协议,LEA2C协议,PEGASIS协议等。LEACH协议将一个工作周期称为一“轮”,每轮分为簇形成阶段和数据采集阶段两部分。在簇形成阶段每个节点根据最近担任簇首的历史记录自行决定本轮是否成为簇首,为每个节点但按随机函数产生一个位于[0,1]的随机数,并根据公式(1)得到一个门限值T(n),如果产生的随机数小于T(n),那么这个节点就成为簇首。在簇首产生后,簇首向全网广播其当选为簇首的消息,其他节点收到该消息后根据接收到的信号的强弱选择它要加入的簇,信号强表示它与该簇的距离越近,普通节点与最近的簇首发送加入簇的申请,当簇加入完成后,根据簇成员的数量,簇首产生一张TDMA时间调度表,并发送给簇内的所有成员。在数据采集阶段,簇成员按已设置的TDMA时隙持续监测环境数据,并发送给簇首,簇首将从各成员节点接收到的数据进行融合处理后直接传输给汇聚节点。在数据采集达到规定的次数后,网络开始新一轮的工作周期,重新选举簇首。

LEACH_C协议是改进的LEACH,存在节点中簇首个数不稳定、位置分布不均匀的问题。每轮分簇开始时,所有网络节点都把自己的位置和剩余能量发送给汇聚节点,汇聚节点选出部分能量较大的节点作为候选簇首,再根据节点到簇首的平均距离和最小的原则,采用模拟退火算法选出最终簇首,最后汇聚节点把分簇结果发送给所有的网络节点。LEA2C协议是基于无监督的学习机制和LEACH-C协议而提出的一种新的路由协议。在分簇阶段,基于传感器节点的坐标,运用自组织神经网络算法分簇,然后在自组织神经网络分簇的结果上运K-means算法分簇,根据:1)选择簇内剩余能量最大的节点作为簇头;2)选择离重点最近的节点作为簇头;3)选择簇内离基站最近的节点作为簇头。

现有技术的各种协议均能够在一定程度上实现数据的传输,但由于能量问题,随机选取簇头的策略、簇头与基站之间的通信方式,普遍存在网络能耗过快,网络整体生存时间过短的问题,使网络的性能很低。具体存在的缺陷通常来说表现在以下两个方面:

(1)由于其簇头节点是随机选择的,这样会出现簇头节点分布不均匀的问题,在节点较少的区域会选出多个簇头节点,在节点分布密集的区域可能一个簇头也没有。在这种情况下,分簇结果不是最优的,对整个无线传感器网络而言也达不到节能的效果,反而会消耗更多的能量。

(2)无线传感器的簇头节点与基站之间的传输系统一般采用单跳方式,如果网络规模较大则也会导致有些簇头节点离基站很远,一样会造成簇头节点消耗过多,降低网络的寿命。

因此,需要针对WSN路由协议的缺陷与不足,从分簇、簇头选取、数据传输三方面做出改进,使得分簇结果最优,降低了能量的消耗。



技术实现要素:

针对现有技术存在的不足,本发明提供一种基于双层模糊算法的无线传感器网络数据传输方法,有效地延长了网络的生命周期,均衡了网络的能量消耗,优化了网络的性能。

为了解决上述技术问题,本发明采用的技术方案是:一种基于双层模糊算法的无线传感器网络数据传输方法,包括以下步骤:

步骤一、网络初始化,确定节点位置:将所有传感器节点随机分布于一个正方形区域内,并作以下设定:1)基站位置固定,处于正方形区域的中心;2)所有传感器节点位置固定,位置信息已知,具有唯一标识、具有相同的初始能量E0;3)基站完全了解网络所有节点的能级和位置;

步骤二、确定能耗模型;

步骤三、确定簇头个数kopt;

步骤四、通过改进算法进行分簇;

步骤五、初始聚类中心当作初始簇头;

步骤六、用模糊知识处理、确定备用簇头;

步骤七、簇内节点发送信息给簇头:簇内节点采用单跳的方式把信息发送给簇头;

步骤八、簇头间使用模糊规则处理的方式将融合后的簇内节点的数据发送至基站;

步骤九、判断是否满足结束网络生存周期的条件,若判断结果为否,则继续进行步骤四至八;簇内所有节点都死亡后,进行下一次分簇。

优选的是,步骤二中进行能耗模型选择时,传感器节点发送k比特数据到距离为d的位置,消耗的能量由发射电路损耗和功率放大损耗两部分组成,具体计算公式如下

其中,Eelec为发射电路损耗能量;εfs和εamp为功率放大能耗系数;d0表示距离阈值,取值为如果传输距离d<d0,则功率放大损耗采用自由空间模型;如果传输距离d≥d0,则功率放大损耗采用多路径衰减模型;

步骤三中,最优分簇数目选举公式为:

其中,dtosink代表节点到基站的距离,N代表节点的数目,M代表网络分布的区域大小。

FCM算法在分类时,随机初始化聚类中心,当随机选取的聚类中心过于集中时,容易导致其计算量过大,步骤四中,通过改进的FCM算法进行分簇,改进的FCM算法在基站进行:

(1)先在区域内选一个密度最大的节点为第一个类聚中心;选取第二个聚类中心时,考虑其距离第一个聚类中心的距离和自身的密度进行加权处理,选择最合适的节点作为第二个聚类中心,由于距离和密度的单位不一致先进性归一化处理,遵循距离第一个聚类中心尽可能的远,密度尽可能的大的加权原则,选取出最优第二个聚类中心;以此方法选择出由步骤三得到kopt个聚类中心vj(=1,2.....,kopt),设定迭代的收敛条件φ;

(2)假设点的坐标集合为X={x1,x2...xn},利用公式4)计算各节点距离各聚类中心的隶属度uij;

(3)如果选取的聚类中心不是最优的,即误差大于φ,再利用式(5)重新计算聚类中心;

其中m为模糊加权指数,取值为2;

(4)迭代计算,直到误差小于φ计算结束,得到各节点关于每个聚类中心的隶属度和聚类中心坐标。

进一步的,步骤六的具体方法是,为步骤4得到的kopt个聚类中心作为第一次的簇头,把距离这kopt个聚类中心一定的范围R内的节点作为第二次的备选簇头,距离这kopt个聚类中心在2R的范围内的节点作为第三次的备选簇头,以此类推,使用圆半径扩大的方式选择备用簇头,直到网络的生命周期结束;其中,R=d/3。

当第一次选取的簇头小于能量阈值时,采用模糊规则选择备用簇头中的最优簇头,把节点的剩余能量、距离簇中心的距离、附近节点的密度作为模糊规则的输入变量。

表示节点的剩余能量和节点离簇心的距离语言变量分别分为三个层次:低、中、高;表示节点附近节点的密度语言变量有三个层次:紧密、充分、稀疏;代表节点簇头选举机会的结果被划分为七个层次:非常小,很小,相当小,中等,相当大,很大,非常大;模糊规则库包括如下规则:如果能量高,密度高,离中心近,则节点的簇头选择机会大;使用三角隶属函数来表示模糊集的中、充分和梯形隶属函数表示低、高、紧密、稀疏模糊集。

进一步的,步骤八中,簇头节点融合簇内节点所发的数据后,若簇头到基站的距离<d0,则直接与基站进行通信;若簇头到基站的距离≥d0,则使用模糊规则处理;选择最优的簇头作为下一跳节点,把下一跳节点的剩余能量、距离基站的距离、自身距离下一跳的距离三方面的因素作为模糊规则的输入变量,簇头间采用模糊规则处理的方式进行数据传输。

与现有技术相比,本发明优点在于:

(1)使用改进的FCM对传感器节点进行分簇,分簇后不再变化,直到整个簇内所有节点都死亡,才进行下一次分簇,减少了分簇时的开销,保证了整个网络中簇群的均匀分布,均衡了网络的能量消耗。

(2)用模糊知识处理、选择簇头,选择簇头时考虑节点的剩余能量、距离簇质心的距离、附近节点的密度,选择最优的簇头,能更好的延长网络的生命周期。

(3)数据传输时,在簇头与基站的数据传输过程中,根据簇头节点与基站距离的远近,簇头间采用模糊规则处理的方式进行数据传输,将信息发送给基站,降低了能量消耗,有效地延长了网络的生命周期,优化了网络的性能。

附图说明

图1为本发明的流程图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的说明。

如图1所示,基于双层模糊算法的无线传感器网络数据传输方法,包括以下步骤:

步骤一、网络初始化,确定节点位置:将所有传感器节点随机分布于一个正方形区域内,并作以下设定:1)基站位置固定,处于正方形区域的中心,能量无限;2)所有传感器节点位置固定,位置信息已知,具有唯一标识、具有相同的初始能量E0;3)基站完全了解网络所有节点的能级和位置。

步骤二、确定能耗模型:

传感器节点发送k比特数据到距离为d的位置,消耗的能量由发射电路损耗和功率放大损耗两部分组成,具体计算公式如下

其中,Eelec为发射电路损耗能量;εfs和εamp为功率放大能耗系数;d0表示距离阈值,取值为如果传输距离d<d0,则功率放大损耗采用自由空间模型;如果传输距离d≥d0,则功率放大损耗采用多路径衰减模型。

步骤三、确定簇头个数kopt:最优分簇数目选举公式为:

其中,dtosink代表节点到基站的距离,N代表节点的数目,M代表网络分布的区域大小。

步骤四、通过改进算法进行分簇:FCM算法在分类时,随机初始化聚类中心,当随机选取的聚类中心过于集中时,容易导致其计算量过大,步骤四中,通过改进的FCM算法进行分簇,改进的FCM算法在基站进行:

(1)先在区域内选一个密度最大的节点为第一个类聚中心;选取第二个聚类中心时,考虑其距离第一个聚类中心的距离和自身的密度进行加权处理,选择最合适的节点作为第二个聚类中心,由于距离和密度的单位不一致先进性归一化处理,遵循距离第一个聚类中心尽可能的远,密度尽可能的大的加权原则,选取出最优第二个聚类中心;以此方法选择出由步骤三得到kopt个聚类中心vj(=1,2.....,kopt),设定迭代的收敛条件φ;

(2)n个节点,假设点的坐标集合为X={x1,x2...xn},利用公式4)计算各节点距离各聚类中心的隶属度uij;

xi为第i个节点坐标,i=1,2....n,j=1,2....kopt。

(3)如果选取的聚类中心不是最优的,即误差大于φ,再利用式(5)重新计算聚类中心;

其中,m为模糊加权指数,取值为2;

(4)迭代计算,直到误差小于φ计算结束,得到各节点关于每个聚类中心的隶属度和聚类中心坐标,减少了迭代次数,提高了划分的准确率。

步骤五、初始聚类中心当作初始簇头;

步骤六、用模糊知识处理、确定簇头:为步骤4得到的kopt个聚类中心作为第一次的簇头,把距离这kopt个聚类中心一定的范围R内的节点作为第二次的备选簇头,距离这kopt个聚类中心在2R的范围内的节点作为第三次的备选簇头,以此类推,使用圆半径扩大的方式选择备用簇头,直到网络的生命周期结束;其中,R=d/3。

当第一次选取的簇头小于能量阈值时,采用模糊规则选择备用簇头中的最优簇头,把节点的剩余能量、距离簇中心的距离、附近节点的密度作为模糊规则的输入变量。

表示节点的剩余能量和节点离簇心的距离语言变量分别分为三个层次:低、中、高;表示节点附近节点的密度语言变量有三个层次:紧密、充分、稀疏;代表节点簇头选举机会的结果被划分为七个层次:非常小,很小,相当小,中等,相当大,很大,非常大;模糊规则库包括如下规则:如果能量高,密度高,离中心近,则节点的簇头选择机会大;使用三角隶属函数来表示模糊集的中、充分和梯形隶属函数表示低、高、紧密、稀疏模糊集。

步骤七、簇内节点发送信息给簇头:簇内节点根据收到簇头信息,采用单跳的方式把信息发送给簇头。

步骤八、簇头间的传输方式使用模糊规则处理:簇头节点融合簇内节点所发的数据后,若簇头到基站的距离<d0,则直接与基站进行通信;若簇头到基站的距离≥d0,则使用模糊规则处理;选择最优的簇头作为下一跳节点,把下一跳节点的剩余能量、距离基站的距离、自身距离下一跳的距离三方面的因素作为模糊规则的输入变量,簇头间采用模糊规则处理的方式进行数据传输。

步骤九、判断是否满足结束网络生存周期的条件,若判断结果为否,则继续进行步骤四至八;簇内所有节点都死亡后,进行下一次分簇。

综上所述,本发明提出一种基于双层模糊算法的无线传感器网络数据传输方法,从分簇、簇头选取、数据传输三方面做出改进。采用双层模糊算法是因为可以使用模糊规则库选择簇头,包括节点的剩余能量、距离簇质心的距离、附近节点的密度,对传感器节点进行分簇,选择最优的簇头,然后组成簇。在稳态阶段,簇头收集聚集的数据并执行信号处理函数将数据压缩成一个信号,采用模糊规则处理其传输的方式,将这个复合信号发送给基站。通过最优簇头的选举以及最优的传输方式,降低了能量的消耗,延长了网络的生命周期,优化了网络的性能。

首先使用改进的FCM对传感器节点进行分簇,分簇后不再变化,直到整个簇内所有节点都死亡,才进行下一次分簇,减少了分簇时的开销,保证了整个网络中簇群的均匀分布。然后用模糊知识处理、选择簇头,选择簇头时考虑节点的剩余能量、距离簇质心的距离、附近节点的密度,选择最优的簇头,能更好的延长网络的生命周期。最后数据传输时,簇头间采用模糊规则处理的方式进行数据传输,将信息发送给基站,降低了能量消耗。

当然,上述说明并非是对本发明的限制,本发明也并不限于上述举例,本技术领域的普通技术人员,在本发明的实质范围内,做出的变化、改型、添加或替换,都应属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1