一种基于无线传感网MAC层协议的节能方法
技术领域
本发明涉及一种适用于WSN的MAC层通信过程节能方法,属于无线传感网技术领域。
背景技术
模糊逻辑控制(Fuzzy Logic Control)简称模糊控制(Fuzzy Control),是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术。模糊控制实质上是一种非线性控制,从属于智能控制的范畴。模糊控制系统的架构包含了五个主要部分,即:定义变量、模糊化、知识库、逻辑判断及解模糊化:
[1].定义变量,也就是决定程序被观察的状况及考虑控制的动作。
[2].模糊化,将输入值以适当的比例转换到论域的数值,利用口语化变量来描述测量物理量的过程,根据适合的语言值(linguistic value)求该值相对的隶属度,此口语化变量称为模糊子集合(fuzzy subsets)。
[3].知识库,包括数据库(data base)与规则库(rule base)两部分,其中数据库提供处理模糊数据的相关定义;而规则库则藉由一群语言控制规则描述控制目标和策略。
[4].逻辑判断,模仿人类下判断时的模糊概念,运用模糊逻辑和模糊推论法进行推论,得到模糊控制讯号。该部分是模糊控制器的精髓所在。
[5].解模糊化(defuzzify),将推论所得到的模糊值转换为明确的控制讯号,作为系统的输入值。
无线传感网(WSN)由许多体积很小的传感器节点组成,这些节点是集成了感知、计算、通信和供电等功能模块的小芯片。目前有各种功能的无线传感网,像环境监测、习惯追踪、健康观测、军事监控等,这些网络都需要较长的工作寿命,但是一旦节点的电池耗完,又难以更换电池。
媒体访问控制(MAC)协议用来对接入网络的节点进行控制。对于MAC层协议的研究依次从节省能量、可扩展性、公平性、实时性、网络吞吐量以及信道利用率等几个方面考虑协议的性能。而节省能量成为WSN首先考虑的问题。在WSN中,MAC协议尤其重要,因为如果没有合适的协议控制节点射频芯片适时地唤醒/休眠,就会存在长时间的“空闲监听”,这将导致不必要的能量浪费。理想的WSN是一旦部署就不需要人工干预,通过自组织和自我维护可以工作若干年。因此,对节点能量消耗的严格控制就成了WSN至关重要的研究课题。
现有技术中,IEEE802.11协议组是国际电工电子工程学会(IEEE)为无线局域网络制定的标准,它定义了物理层和媒体访问控制层(MAC层)的标准。IEEE802.11协议应用到无线传感网上存在一定的问题,因为它没有休眠机制,节点一直保持唤醒状态,在空闲监听的时候会有大量的电量被浪费。
SMAC协议是由Ye W等人较早提出的一种基于调度的WSN MAC协议。在该协议中,节点监听一段时间然后休眠,直到计时器计时完毕重新唤醒。节点之间需要同步,每个节点也向邻居节点广播自己的休眠策略,同时保存相邻节点的下一次休眠的信息。尽管SMAC协议能够有效地减少空闲监听的时间从而节省电量,但是监听时间是固定的,与网络中的流量和节点的剩余能量无关。当网络中流量较小时,就可能存在不必要的监听时间;当网络中流量较大时,监听时间又可能嫌短,导致吞吐量降低。尽管监听时间的长短是由用户定义的,但是只能在网络部署初期定义,且以后不可更改,这就无法适应网络流量和节点能量的变化。
发明内容
为了更好地解决上述传感器节点的能耗问题,本发明以SMAC协议基本思想为基础,提出一种根据节点能量变化动态调整节点休眠时间、适应网络流量变化的基于无线传感网MAC层协议的节能方法,本发明用到的相关术语定义及缩略词如下:
WSN/WSNs:Wireless Sensor Networks,无线传感网。
MAC:Medium Access Control,媒体访问控制。
IEEE:Institute of Electrical and Electronics Engineers,电气和电子工程师协会。
SMAC:Sensor Medium Access Control,传感器媒体访问控制。
RTS:Request To Send,请求发送。
CTS:Clear to send,允许发送。
ACK:Acknowledgement,应答。
本发明方法具体包括模糊控制动态调节占空比机制、通知握手机制,其中:
模糊控制动态调节占空比机制具体为:
将一个传感器节点的工作周期划分为两部分,一部分是监听时间,即工作时间,另一部分是休眠时间,工作周期的长度是固定的;设定若干个工作周期为一轮,如可设每100个工作周期划分为1轮;为每个节点设置一个计数器,用来统计该传感器节点在1轮当中有多少个工作周期监听到信道忙,该统计得到的数值是0-100之间的整数,每一轮统计结束后统计结果被重置。
本机制利用信道忙闲的程度来代表网络流量的高低程度。根据模糊控制理论,将上述统计得到的数值可能的取值范围(0-100)划分成若干模糊子集,同时也将节点能量按百分比划分成若干模糊子集;再将节点能量(E)和信道忙次数(T)作为输入,占空比(D)作为输出,建立规则库,最后对占空比解模糊,从而获得占空比的精确值,将该占空比精确值作为下一轮的实际占空比的值。
通过模糊控制的方法,本轮的节点能量和网络流量可以决定下一轮的工作占空比,以此来动态调整节点的监听时间和休眠时间,在节省能量的同时适应网络流量的变化。
上述占空比是指监听时间占整个工作周期的比值,其公式如下:
公式1:
通知握手机制具体为:
网络中的节点采用周期性睡眠和监听方法来减少空闲监听带来的能量损耗。通过选择和维护休眠调度表,使相邻节点组成休眠/唤醒自动同步的虚拟簇,从而实现信息传输的同步,并减少控制开销。
节点从休眠中醒来时,首先检查自己的发送缓冲区,如果缓冲区中有数据等待发送,则该节点向信道中发送一个较短的“通知”,用于通知目的节点其发送意图,同时起到竞争信道的作用;如果此时网络中没有其他节点竞争信道,则该“通知”能顺利的发送到其他节点。没有数据发送的节点则处于接收状态,监听信道活动,当收到其他节点发来的“通知”时,首先检查目的地址,判断自己是不是目的节点;目的节点收到“通知”后需要发送一个“响应”,用于通知源节点可以发送数据,即完成一次“通知握手”;随后收发双方采用RTS|CTS|DATA|ACK这一过程传输数据,保障通信过程的可靠性。
非目的节点在收到“通知”后记录发送节点预约的传输时间,并将该时间和事先调度的休眠时间进行比较,取较大者作为休眠计时器的初值,因为尽可能长的休眠将最大程度节省能量。但此时该非目的节点并不立即休眠,而是继续保持监听一段时间,设置该时间长度为b,b称为“响应超时时间”,如果在b时间内收到目的节点发送的“响应”,则启动休眠计时器,进入休眠状态;如果在b时间内没有收到目的节点的“响应”,则该节点可以重新参与竞争信道。
进一步,还包括失败者延迟竞争机制,具体为:
如果在一段事先设定的时间a内,目的节点没有发出“响应”完成握手,则视为超时,所有处于活动状态的节点将重新竞争信道。将a称为“握手超时时间”,并使a略大于b,这样能够保证握手失败的源节点不会在“响应超时时间”结束后立即重新参与竞争信道,以提高通知握手的成功率。
进一步,上述“通知”是一个长度固定的短帧,分为三部分,第一部分是固定的首部,即标示符,用于和其它信号进行区分,第二部分是目的节点的地址,第三部分是预约的传输时间。
进一步,上述“响应”是一个长度固定的短帧,分为两部分,第一部分是固定的首部,即标示符,用于和其他信号进行区分,第二部分是该节点的地址。
进一步,上述“通知握手”是收发双方互相感知对方意图并预约信道的过程。
通过采用上述技术方案,本发明取得了如下有益效果:
1、采用模糊控制的方法,为节点设置统计监听信道忙次数的计数器,通过在一轮中信道忙的次数来评估网络流量大小,使得本发明在不需要建立复杂数学模型的前提下,尽可能准确地将节点能量和网络流量的变化反映在节点工作和休眠时间上。
2、采用“通知握手”机制预约信道并通知其他节点占用信道的时间,节点在发送数据之前,通过发送包含目的节点地址和数据所需传输时间的“通知”,来竞争信道、通知目的节点其发送意图以及通知其他节点占用信道的时间,起到一举多得的作用,方便其他节点尽早休眠。
3、采用“失败者延迟竞争”机制保障“通知握手”的成功率,兼顾了节约能量和高效率。
附图说明
图1是工作周期划分示意图。
图2是本发明实施例剩余能量的隶属度图。
图3是本发明实施例本轮信道忙次数的隶属度图。
图4是本发明实施例的规则库示意图。
图5是本发明实施例的对占空比解模糊的隶属度图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。
传感器节点的工作周期划分如图1所示。
输入:E:节点剩余能量,T:本轮信道忙次数;
输出:D:下一轮占空比;
模糊控制动态调节占空比机制的具体算法步骤如下:
(1)每轮结束收集节点剩余能量和本轮信道忙次数;
(2)按照图2、图3所示隶属度图对E和T模糊化;
根据图2,剩余能量在0-22.5%时,其模糊值为L,在22.5%-77.5%时,模糊值为M,在77.5%-100%时,模糊值为H。
根据图3,信道忙次数在0-22.5%时,其模糊值为L,在22.5%-77.5%时,模糊值为M,在77.5%-100%时,模糊值为H。
(3)将E和T的模糊值对照图4所示规则库取得D的模糊化输出;
从上述规则库可以看出,当剩余能量为L时,系统以剩余能量为主要参考,将下轮占空比维持在较低水平,以节省能量;当剩余能量为M或H时,系统以信道忙次数为主要参考,即网络流量权重增加,将下轮占空比维持在较高水平,以提高吞吐量。
(4)按照图5所示隶属度图,利用重心法将D解模糊得到精确值;
根据上述隶属度图,当下轮占空比模糊值为L时,解模糊后的值为10%;当模糊值为M时,解模糊后的值为20%;当模糊值为H时,解模糊后的值为30%。
重心法解模糊公式如下:
公式2:
式中,B′(y)为隶属函数,分母即为隶属函数所围图形面积,分式值就是该图形的重心在Y轴(横轴)上的投影值。
获得了模糊输出之后,通过重心法解模糊,将模糊集合映射到横轴上,得到精确值。在本方案中,由于隶属函数是比较简单的三角形隶属函数和梯形隶属函数,其解模糊的方法就是找到隶属度图中每个子集所对应的图形的对称轴和横轴的交点,就是该子集解模糊的输出值。
(5)代入D和工作周期长度,根据上述占空比公式计算监听时间和休眠时间。
根据上述模糊控制动态调节占空比机制得出的节点的监听时间和休眠时间,来进行下面的通知握手机制:
节点从休眠中醒来时,首先检查自己的发送缓冲区,如果缓冲区中有数据等待发送,则该节点向信道中发送一个较短的“通知”,通知目的节点其发送意图,从而竞争信道;如果此时网络中没有其他节点竞争信道,则该“通知”能顺利的发送到其他节点;
没有数据发送的节点保持监听信道活动,当收到其他节点发来的“通知”时,首先判断自己是否是目的节点,若是,则向源节点发送一个“响应”,以通知源节点可以发送数据,即完成一次“通知握手”;随后收发双方传输数据,保障通信过程的可靠性;
非目的节点在收到“通知”后记录发送节点预约的传输时间,并将该时间和模糊控制动态调节占空比机制得出的休眠时间进行比较,取较大者作为休眠计时器的初值;但此时该非目的节点并不立即休眠,而是继续保持监听一段时间(称为“响应超时时间”,设为b),如果在b时间内收到目的节点发送的“响应”,则启动休眠计时器,进入休眠状态;如果在b时间内没有收到目的节点的“响应”,则该节点可以重新参与竞争信道。
本发明还采用失败者延迟竞争机制来保障通知握手的成功率,即如果在一段事先设定的时间a内,目的节点没有发出“响应”完成握手,则视为超时,所有处于活动状态的节点将重新竞争信道;将a称为“握手超时时间”,并使a略大于b,这样能够保证握手失败的源节点不会在“响应超时时间”结束后立即重新参与竞争信道,以提高通知握手的成功率。
上述实施方式中所涉及到的技术特征,只要彼此间未构成冲突就可以相互组合。本发明不限于上述实施例,一切采用等同替换或等效替换形成的技术方案均属于本发明要求保护的范围。