背景技术
无线传感器网络是由部署在监测区域内大量的廉价微型传感器节点通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中感知对象的信息,并发送给观察者。传感器节点体积微小,通常携带能量十分有限的电池。由于传感器节点个数多、成本要求低廉、分布区域广,而且部署区域环境复杂,有些区域甚至人员不能到达,所以通过更换电池的方式来补充能源是不现实的。
对于自组织的无线传感器网络而言,网络拓扑控制对网络性能影响很大。良好的拓扑结构能够提高路由协议和MAC协议的效率,为数据融合、时间同步和目标定位等很多方面提供基础,有利于延长整个网络的生存时间。传感器网络拓扑控制主要研究的问题是:在满足网络覆盖度和连通度的前提下,通过功率控制和骨干网节点选择,提出节点之间不必要的通信链路,形成一个数据转发的优化网络结构。具体地讲,传感器网络中的拓扑控制按照研究方向可以分为两类:节点功率控制和层次型拓扑结构组织。功率控制机制调节网络中每个节点的发射功率,在满足网络连通度的前提下,均衡节点的单跳可达邻居数目。层次型拓扑控制利用分簇机制,让一些节点作为簇头节点,由簇头节点形成一个处理并转发数据的骨干网,其他非骨干网节点可以暂时关闭通信模块,进入休眠状态以节省能量。
人工神经网络(Artificial Neural Networks, 简写为ANN)也简称为神经网络(NN)或称作连接模型(Connectionist Model),是对人脑或自然神经网络(NaturalNeural Network)若干基本特性的抽象和模拟。人工神经网络以对大脑的生理研究成果为基础的,其目的在于模拟大脑的某些机理与机制,实现某个方面的功能。国际著名的神经网络研究专家,第一家神经计算机公司的创立者与领导人HechtNielsen给人工神经网络下的定义就是:“人工神经网络是由人工建立的以有向图为拓扑结构的动态系统,它通过对连续或断续的输入作状态相应而进行信息处理。”目前在神经网络研究方法上已形成多个流派,最富有成果的研究工作包括:多层网络BP算法,Hopfield网络模型,自适应共振理论,自组织特征映射理论等。人工神经网络是在现代神经科学的基础上提出来的。它虽然反映了人脑功能的基本特征,但远不是自然神经网络的逼真描写,而只是它的某种简化抽象和模拟。
人工神经网络也简称为神经网络或称作连接模型。它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。人工神经网络具有自学习和自适应的能力,可以通过预先提供的一批相互对应的输入-输出数据,分析掌握两者之间潜在的规律,最终根据这些规律,用新的输入数据来推算输出结果,这种学习分析的过程被称为“训练”。人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。它的构筑理念是受到生物(人或其他动物)神经网络功能的运作启发而产生的。人工神经网络通常是通过一个基于数学统计学类型的学习方法(Learning Method)得以优化,所以人工神经网络也是数学统计学方法的一种实际应用,通过统计学的标准数学方法我们能够得到大量的可以用函数来表达的局部结构空间,另一方面在人工智能学的人工感知领域,我们通过数学统计学的应用可以来做人工感知方面的决定问题(也就是说通过统计学的方法,人工神经网络能够类似人一样具有简单的决定能力和简单的判断能力),这种方法比起正式的逻辑学推理演算更具有优势。其优越性在于:第一,具有自学习功能。例如实现图像识别时,只在先把许多不同的图像样板和对应的应识别的结果输入人工神经网络,网络就会通过自学习功能,慢慢学会识别类似的图像。自学习功能对于预测有特别重要的意义。预期未来的人工神经网络计算机将为人类提供经济预测、市场预测、效益预测,其应用前途是很远大的。第二,具有联想存储功能。用人工神经网络的反馈网络就可以实现这种联想。第三,具有高速寻找优化解的能力。寻找一个复杂问题的优化解,往往需要很大的计算量,利用一个针对某问题而设计的反馈型人工神经网络,发挥计算机的高速运算能力,可能很快找到优化解。
人工神经网络具有很多特征,这些特征使得将人工神经网络应用到无线传感器网络中。其基本特征:①非线性,非线性关系是自然界的普遍特性。大脑的智慧就是一种非线性现象。人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性关系。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。②非局限性,一个神经网络通常由多个神经元广泛连接而成。一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。通过单元之间的大量连接模拟大脑的非局限性。联想记忆是非局限性的典型例子。③非常定性,人工神经网络具有自适应、自组织、自学习能力。神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化。经常采用迭代过程描写动力系统的演化过程。④非凸性,一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。例如能量函数,它的极值相应于系统比较稳定的状态。非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。
发明内容
技术问题:本发明的目的是减少传感器节点能量消耗、提高通信能力,利用人工神经网络中的神经元模型选择簇头节点和功率控制技术,使各个节点的剩余能量和簇内节点个数平衡,达到传感器节点能耗的最小化。
技术方案:本发明采用人工神经网络选择出簇头节点,控制簇头节点的发射功率,并将簇内的每个传感器节点分配TDMA时隙,在数据传输阶段,只有当自己的时隙到来的阶段才处于开启状态,其他时间都是关闭的。
该方法包含的步骤为:
步骤1.基于人工神经网络的簇头选择
步骤11:初始化:wi[0]=1/(n+1),其中wi是第i个权重值,n是节点总个数;
步骤12:计算矢量:
即权重值w
i与输入值x
i的非线性组合;
步骤13:比较矢量si大小,选择最大值,定义为tj,即tj=max(si),j=1...n;
步骤14:输出为yj: 其中θj是神经元的阈值,即当输出层的输入值大于神经元的阈值时,输出1,否则输出0;
步骤15:从中选取输出yj=1的输入节点为簇头节点,若有多个输出yj=1的节点,则优先选择tj值最大的节点为簇头节点;
步骤16:节点当选簇头以后,发布通告消息告知其他节点自己是新簇头,非簇头节点根据自己与簇头之间的距离来选择加入哪个簇,并返回一个加入信息给簇头,这之后,每个簇头就清楚了它的簇内成员和簇内成员的数目;
步骤17:一次循环结束后,按照上述步骤继续寻找簇头节点,若仍有输出值yj=1的节点,还要看剩余能量的多少,剩余能量多的节点优先选择。在每轮循环中,如果节点已经当选过簇头节点,则把θj设置为0,这样该节点就不会再次当选为簇头;
步骤2.通过控制簇头发射功率优化分簇网络
簇头根据簇内节点的加入信息了解到当前分簇网络内的节点总数s(i),根据网络情况可以确定簇头希望簇内成员数目S(i),若分簇网络内的节点总数s(i)小于簇头希望簇内成员数目S(i),簇头发射功率增加,反之,簇头发射功率减少,每循环一次功率增加或减少直到分簇网络内的节点总数s(i)与簇内理想节点数目S(i)相等,则可知目前的分簇网络为理想最优化的网络,此时的发射功率也为簇头节点的发射功率,
步骤3.分配TDMA时隙
分簇网络优化后,簇头分配传输TDMA时隙,并广播给簇内成员,TDMA时隙表中为每个簇内节点指定了其数据传输的所属时隙,为了避免附近簇的信号干扰,簇头决定本簇中所有节点所用的CDMA编码,CDMA编码连同TDMA定时一起发送给簇内节点;
步骤4.数据传输阶段
簇内节点收到来自簇头的TDMA时隙和CDMA编码,它们在各自的时间槽内发送数据,每个簇内节点在属于自己的时隙到来时,将感知的数据传输给簇头,每个簇内节点的收发信机只有在属于自己的时隙到来的阶段才处于开始状态,
步骤5.数据处理阶段
簇头节点的接收机一直处于开启状态,接受来自簇内各节点的感知数据,当簇内所有节点都传输了数据后,簇头节点对所有的感知数据进行融合后发送给Sink节点。
基于人工神经网络的簇头选择是指,依据人工神经网络的非线性组合特性,将输出值与阈值进行比较,比较的结果和节点本身剩余能量的多少来决定簇头节点,并发送通告消息通知其他节点自己是新簇头,其它节点则将自己的信息传递给簇头节点,形成初步的拓扑控制图,同时通过控制簇头发射功率来进一步优化分簇网络。
通过控制簇头发射功率优化分簇网络是指,当当前簇内节点总数小于簇头希望簇内成员数目,簇头发射功率增大,否则减少簇头发射功率,依次循环下去,直到分簇网络为理想最优化的网络,每个网络的传感器节点数均衡,此时发射功率为簇头节点的发射功率。
有益效果:本发明所述基于人工神经网络的簇头选择和功率控制的节能算法,利用人工神经网络选择簇头,并将功率控制这一机制引入分簇和数据传输的过程中,从而使节点的平均能耗降低,并延长网络的生存时间。具体来说,本发明所述的方法具有如下的有益效果:
(1)本发明所述的簇头的选择过程是根据人工神经网络的M-P模型,周期性地选择一些节点作为簇头节点,由簇头节点形成一个处理并转发数据的骨干网,使用输出参数和剩余能量值作为下一次循环的参考值均衡了网络中的节点能量消耗。
(2)本发明所述的优化分簇网络过程,簇的大小直接影响网络的通信能力和生存寿命,簇内节点过多或过少,增大通信碰撞的概率,通过调节簇头的发射功率控制簇内的节点数目均匀分簇,对簇内节点的数目进行一定限制,避免出现过大或过小的簇。
(3)在数据传输中也引入功率控制,每个节点的传输数据的能量最小化。
具体实施方式
一.体系结构
1.基于人工神经网络的无线传感器网络模型
将一个传感器节点看作一个神经元,则一个无线传感器网络是由一个多神经元结构组成,每一层传感器节点拥有输入(它的输入是前一层传感器节点的输出)和输出,每一层是由Ni个网络传感器节点组成,每个Ni上的网络传感器节点把对应在Ni-1上的传感器节点输出作为它的输入,传感器节点和与之相对应的传感器节点之间的连线为神经轴突的突触,每个突触都有一个权重值,第i层上的某个传感器节点所得到的势能等于每个权重乘以第i-1层上对应的传感器节点的输出,然后求和得到第i层上的传感器节点所得到的势能,势能数值通过该传感器节点上的激励函数求出该传感器节点的输出。
基于人工神经网络的无线传感器网络的构造依据:
两态工作:兴奋----抑制,兴奋态传感器节点有输出值,抑制态传感器节点输出值为0;
阈值作用:超过阈值兴奋,有输出值;
多输入/单输出:获得其他传感器节点的众多输入,有一个输出;
空间/时间叠加:激励/响应关系的互动作用与交互叠加。
2.基于人工神经网络的无线传感器网络构成
由三部分组成(附图1所示):
输入层(Input layer),传感器节点接受大量非线形输入信息。输入的信息为输入向量。
输出层(Output layer),信息在传感器节点链接中传输、分析、权衡,形成输出结果。输出的信息为输出向量值。
隐藏层(Hidden layer),是输入层和输出层之间众多传感器节点和链接组成的各个层面。
二.基于人工神经网络的传感器节点的网络拓扑控制算法
基于人工神经网络传感器节点簇头选择算法是一种自适应的分簇拓扑算法,它的执行过程是循环周期性的,每一轮循环包括簇的建立和稳定的数据通信阶段。在簇的建立阶段,利用人工神经网络的M-P模型寻找簇头,形成簇。在数据通信阶段,簇内节点把数据发送给簇头,簇头进行数据融合并把结果发送给汇聚节点。
1.构成簇的过程
图2中对神经元的每一个输入都有一个加权系数Wi,称为权重值,其正负模拟了生物神经元中太突触的兴奋和抑制,其大小则代表了突触的不同连接强度。Sj表示非线性组合输入信号的总和,相对应于生物神经元的膜电位。神经元激活与否取决于某一阈值电平,即只有当Sj超过阈值时,神经元才被激活而发放脉冲,否则神经元不会产生输出信号。人工神经元的输出同生物神经元的输出具有类似的功能。
步骤1:初始化:wi[0]=1/(n+1);
步骤2:计算矢量:即权重值与输入值的非线性组合;
步骤3:比较si大小,选择最大值,定义为tj,即tj=max(si);
步骤4:输出yj: 其中θj是神经元的阈值,即当输出层的输入值大于神经元的阈值时,输出1,否则输出0;
步骤5:从中选取输出yj=1的输入节点为簇头节点,若有多个输出yj=1的节点,则优先选择tj值最大的节点为簇头节点。
步骤6:节点当选簇头以后,发布通告消息告知其他节点自己是新簇头。非簇头节点根据自己与簇头之间的距离来选择加入哪个簇,并返回一个加入信息给簇头,这之后,每个簇头就清楚了它的簇内成员和簇内成员的数目。
步骤7:一次循环结束后,按照上述步骤继续寻找簇头节点,若仍有输出值yj=1的节点,还要看剩余能量的多少,剩余能量多的节点优先选择。在每轮循环中,如果节点已经当选过簇头节点,则把θj设置为0,这样该节点就不会再次当选为簇头。
2.通过控制簇头功率优化分簇网络
簇的大小直接影响网络的通信能力和生存寿命。当簇内节点数太多时,信道碰撞概率大,如果簇内数目太少,簇头间分组转发次数增加,簇间节点通信碰撞概率大。而簇内的节点数目主要是由簇头功率所能覆盖的范围决定,所以可以通过调节簇头的发射功率控制簇内的节点数目。
利用人工神经网络建立初始分簇网络,由于初始阶段所有节点采用相同发射功率分簇,簇内节点是随机散播,故簇内节点分布不均,通过功率控制调整簇头发射功率改变簇头覆盖范围,使簇内节点维持在合理的范围。
簇头根据簇内节点的加入信息了解到当前分簇网络内的节点总数s(i),根据网络情况可以确定簇头希望簇内成员数目S(i),若分簇网络内的节点总数s(i)小于簇头希望簇内成员数目S(i),簇头发射功率增加,反之,簇头发射功率减少,每循环一次功率增加或减少直到分簇网络内的节点数目s(i)与簇内理想节点数目S(i)相等,则可知目前的分簇网络为理想最优化的网络,此时的发射功率也为簇头节点的发射功率。
3.分配TDMA时隙
当分簇网络优化后,簇头分配传输TDMA时隙,即是每个簇头节点根据自己簇内节点的数目产生一个时分复用(TDMA)时隙表,并广播给簇内成员,TDMA时隙表中为每个簇内节点指定了其数据传输的所属时隙。为了避免附近簇的信号干扰,每个簇成为一个独立单元,簇头决定本簇中所有节点所用的CDMA编码。CDMA编码连同TDMA定时一起发送给簇内节点。
4.数据传输阶段
当簇内节点收到来自簇头的TDMA时隙和CDMA编码,它们就会在各自的时间槽内发送数据。每个簇内节点在属于自己的时隙到来时,将感知的数据传输给簇头。每个簇内节点的收发信机只有在属于自己的时隙到来的阶段才处于开始状态,其他的时间都是关闭的,这样可以节余节点的能量。
5.数据处理阶段
簇头节点的接收机一直处于开启状态,接受来自簇内各节点的感知数据,当簇内所有节点都传输了数据后,簇头节点对所有的感知数据进行融合后发送给Sink节点。
下面对附图本发明的某些实施例作更详细的描述。
根据图1和图2,本发明建立在人工神经网络的基础上,具体的实施方式为(如图4描述):
1.构成簇的过程
神经网络的每个节点都与很多它前面的节点(称为此节点的输入节点)连接在一起,每个连接对应一个权重wi,此节点的值就是通过它所有输入节点的值与对应连接权重乘积的和作为一个函数的输入而得到,我们把这个函数称为活动函数或挤压函数。神经元激活与否取决于某一阈值电平,即只有当活动值超过阈值时,神经元才被激活而发放脉冲,否则神经元不会产生输出信号。人工神经元的输出同生物神经元的输出具有类似的功能。
算法步骤:
步骤1:初始化:wi[0]=1/(n+1);
步骤3:比较si大小,选择最大值,定义为tj,即tj=max(si);
步骤4:输出yj: 其中θj是神经元的阈值,即当输出层的输入值大于神经元的阈值时,输出1,否则输出0;
步骤5:从中选取输出yj=1的输入节点为簇头节点,若有多个输出yj=1的节点,则优先选择tj值最大的节点为簇头节点。
步骤6:节点当选簇头以后,发布通告消息告知其他节点自己是新簇头。非簇头节点根据自己与簇头之间的距离来选择加入哪个簇,并返回一个加入信息给簇头,这之后,每个簇头就清楚了它的簇内成员和簇内成员的数目。
步骤7:一次循环结束后,按照上述步骤继续寻找簇头节点,若仍有输出值yj=1的节点,还要看剩余能量的多少,剩余能量多的节点优先选择。在每轮循环中,如果节点已经当选过簇头节点,则把θj设置为0,这样该节点就不会再次当选为簇头。
2.通过控制簇头发射功率优化分簇网络
当簇内节点数太多时,信道碰撞概率大,簇内数目太少,簇头间分组转发次数增加,簇间节点通信碰撞概率大。而簇内的节点数目主要是由簇头功率所能覆盖的范围决定,所以可以通过调节簇头的发射功率控制簇内的节点数目。通过功率控制调整簇头发射功率改变簇头覆盖范围,使簇内节点维持在合理的范围。
簇头根据簇内节点的加入信息了解到当前分簇网络内的节点总数s(i),根据网络情况可以确定簇头希望簇内成员数目S(i),若分簇网络内的节点数目总数s(i)小于簇头希望簇内成员数目S(i),簇头发射功率增加,反之,簇头发射功率减少,每循环一次功率增加或减少直到分簇网络内的节点数目s(i)与簇内理想节点数目S(i)相等,则可知目前的分簇网络为理想最优化的网络,此时的发射功率也为簇头节点的发射功率。如图3是优化后的分簇网络,每个簇内节点的数目相等。
3.分配TDMA时隙
分簇网络优化后,簇头分配传输TDMA时隙,并广播给簇内成员,TDMA时隙表中为每个簇内节点指定了其数据传输的所属时隙。为了避免附近簇的信号干扰,簇头决定本簇中所有节点所用的CDMA编码。CDMA编码连同TDMA定时一起发送给簇内节点。
4.数据传输阶段
簇内节点收到来自簇头的TDMA时隙和CDMA编码,它们就会在各自的时间槽内发送数据。每个簇内节点在属于自己的时隙到来时,将感知的数据传输给簇头。每个簇内节点的收发信机只有在属于自己的时隙到来的阶段才处于开始状态。
5.数据处理阶段
簇头节点的接收机一直处于开启状态,接受来自簇内各节点的感知数据,当簇内所有节点都传输了数据后,簇头节点对所有的感知数据进行融合后发送给Sink节点。