作者简介:胡青松(1978-),男,副教授,博士.研究方向:矿山物联网,认知无线电.E-mail:hqsong722@163.com
为事件驱动的灾害监测传感网提出一种基于分簇和协作MIMO的节能数据传输方法C2MIMO。首先,在网络中构造监测簇和中继簇,从簇中选出一个主簇头和若干个从簇头,它们充当协作MIMO的协作发送节点和接收节点。随后,利用协作传递的方法将数据从监测簇逐簇传递,直到交付给Sink节点。从协作MIMO的能耗模型和仿真实验的结果可知,C2MIMO能够较好地适应长距离的中继传输,并对信道恶化具有较强的忍耐能力。
An energy-efficient data transmission schemed, named C2MIMO, was proposed for disaster monitoring sensor networks. Because the scheme is based on clustering and cooperative Multiple-Input Multiple-Output (MIMO), the monitor and cluster are constructed first. During this process, one primary header and some slave headers are selected as cooperative sending and receiving nodes. Then, the network delivers the gathered data to sink cluster-by-cluster. Through the cooperative MIMO energy consumption model and simulation results, the C2MIMO scheme shows its adaption to long distance transmission and bad channel status.
灾害往往是多种因素在长期作用下的突变,突变之前一般会有前兆事件产生,如形变、电磁辐射、温度场的骤变等。如果在灾害发生前对容易发生灾害的地方进行连续监测,及时发布预警信息,将对灾害的预防和救援起到重要作用。本文利用无线传感网络对山区的滑坡灾害进行了空天地一体化的观测,对煤矿进行了动力灾害的多源异构融合监测,以期用多种手段、多种信息解释灾害前兆事件,提高预警准确率。
灾害监测传感网络(Disaster monitoring sensor networks,DMSNet)是由大量传感器所构成的无线传感器网络,它的特点是无中心、自组织、动态拓扑、多跳路由[ 1]。对于DMSNet而言,必须降低节点能耗以延长网络监测寿命。借助多入多出(Multi input multi output,MIMO)和协作通信进行协作MIMO传输,能够获得发送、接收分集增益及阵列增益[ 2],降低链路误码率[ 3],从而提高信噪比(Signal noise ratio,SNR)。由于SNR的提高,相对于单入单出(Single input single output,SISO)而言,将同样数据发往同样的距离,MIMO所需的功耗将明显降低。在同等发射功率的情况下,MIMO能够比SISO发送更远的距离,同样可以降低能耗。鉴于此,本文为灾害监测提出一种分簇协作MIMO传输策略(Clustered Ccooperative MIMO transmission scheme for DWSNet,C2MIMO),以降低网络的数据传输总能耗。
在DMSNet中,一般由多个传感器协同监测某个区域的特定事件。在不同的监测要求下,需要不同数量的传感器参与,形成小、中、大等不同尺度的聚焦监测模式。以图1所示的DMSNet为例,在监测区域没有异常事件产生时,所监测参数处于正常范围,称为平静期。此时,网络可以在较大的时间间隔内采集一次数据(如半个小时),其他时间内处于休眠状态,所需能量很小。而一旦有事件发生,就要求事件发生地周围的节点对监测对象进行密集的数据采集和传输(称为聚焦观测期),如由1、2、3、4等节点协作观测。如果需要更精确、更大范围的数据,可以由1~9号节点协同观测。
考虑到监测传感器所采集的数据无论在时间还是空间维度都存在大量的冗余信息,因此没有必要让每个传感器都将数据单独传输给Sink节点(Sink节点与监控中心采用3G网络或者专用的有线网络连接,本文不予探讨)。为此,可让监测区域的传感器组成监测簇,如图1所示的虚线区域。根据监测任务的不同,可以调整投入监测的传感器数量、监测周期、数据处理与传输方式,以增强监测效率,提高数据可靠性。
设计DMSNet的数据传输策略时,需要考虑到网络的上述特点,将监测节点的数据加以融合后再传输。同时,还需要考虑不同因素之间的权衡问题[ 4],如带宽和能耗,本文假定带宽总是可以满足。另外,收发节点之间的距离、节点密度和信道状况(路径损耗因子)均是能耗的重大影响因素[ 5],而节点密度又会导致节点之间距离的变化,因此在设计算法和性能仿真时需要对距离和路径损耗因子予以重点考虑。
对于DMSNet这种网络的数据传输,Sundaresan提出了3种策略[ 3],即能够提供空间复用的MUX、能够降低BER的DIV-BER、能够增加通信距离的DIV-RANGE,不过并没有考虑到DMSNet的事件驱动特性。杨栋[ 2]提出了一种虚拟MIMO合作接力机制,所有节点按照算法分成簇,通信过程分成区内合作通信、区间接力通信两个部分,但是对如何选择合作节点未做阐述。Siam等[ 6]提出的分布式自适应分簇/路由策略(Cooperative MIMO,CMIMO)通过在每一个簇中选择两个簇头(主簇头和从簇头)构成虚拟MIMO节点,较好地解决了这个问题,但是依然没有考虑事件驱动的问题。
为了适应监测尺度的变化,监测簇的大小应该是可以动态调整的,只要保证簇内节点能够与簇头节点直接连通即可。具体的操作方式是:在以事件发生地为中心、观测距离 r为半径的圆形区域内,寻找剩余能量大于阈值 Ethr的节点,它们协同观测监测区域,组成DMSNet的监测簇。为了表述方便,分别以 rs, rm, rl表示小尺度、中尺度和大尺度的观测半径。同时,在监测簇与Sink节点之间,可以根据需要构建若干个簇,作为数据转发之用,称为中继簇,如图2所示。
事件发生之后,网络首先以 rs构成监测簇,如果得不到满意的结果,就由工作人员下发观测半径调整指令,以 rm或 rl为半径构成监测簇。令簇内节点之间的通信距离为 dintra,簇间的通信距离为 dinter(定义为两个簇中心之间的距离), dintra和 dinter与节点的发射功率密切相关。
为了将监测数据传递到Sink,从监测簇/中继簇中选取一个节点充当主簇头,若干节点充当从簇头。主簇头的作用是对数据进行Alamouti编码和解码,另外监测簇的主簇头还需要具有融合监测数据的能力,主簇头和从簇头一起充当协作节点。监测簇的监测节点采集到数据以后,将数据传输给监测簇的主簇头,主簇头对数据进行融合处理,编码后发送给从簇头。协作节点(主簇头和从簇头)采用协作MIMO的方式将数据发送给中继簇的协作节点,随后由中继簇的主簇头进行数据的合并解码,并继续转发给下一中继簇,直到到达Sink节点为止。因此,在C2MIMO算法中,簇头的选择是整个算法的核心。
这里使用式(1)中的 g值作为簇头选择指标[ 7]:以 g值最大的节点为主簇头, g值第二大的节点为第一个从簇头,第 n大的为第 n-1个从簇头。显然,只要节点数目足够,采用该算法可以选择任意多个从簇头。
式中: Er为节点剩余能量; d为节点间距离; dmax为 d的最大值; β∈(0,1)为调节权值。
从监测簇的主簇头出发,寻找一条到达Sink节点的Dijkstra最短路径,令该路径上除主簇头和Sink节点之外的第 i个中继节点为
用于发送数据的簇头称为协作发送节点,用于接收数据的簇头称为协作接收节点,分别用 Nodect和 Nodecr表示,它们的数目分别为 Nt和 Nr。显然,在DMSNet的数据传输中,除了最后一跳是 Nt ×1的MISO方式之外,其余各跳均是 Nt ×Nr的MIMO传输方式。为了描述方便,将MISO、SIMO、SISO也称为MIMO传输方式,它们可以看成MIMO的特例,只是输入和输出部分的协作天线数量不同。
现将C2MIMO的算法步骤总结如下:
步骤1 观测区域有感兴趣的事件发生,小尺度监测簇内的节点被触发而进入聚焦观测期,利用 g指标在监测簇中选择主簇头和从簇头。
步骤2 利用Dijkstra算法求解从监测簇的主簇头到Sink节点之间的最短路径,记为 Ps。
步骤3 从构成 Ps的节点中选择中继节点
步骤4 监测区域内的观测节点将采集的数据传输给主簇头,主簇头对数据进行融合处理后发送给 Nodect。
步骤5 Nodect将数据协作发送给 Nodecr,由 Nodecr发送给中继簇的主簇头,处理后交给中继簇的 Nodect。重复这一过程,直到数据到达Sink节点。
用户可以通过Sink节点,以数据传输的反向路径发送观测尺度调整命令。同时,还可以用相似的方式调整观测节点的数据采集频率。如果簇(监测簇、中继簇)的簇内节点数量只有1个,就不再选择簇头,直接以该节点进行数据传输。
以下情况将会导致算法停止:
(1)监测簇内节点全部死亡,使得监测区域没有节点能够进行事件观测。
(2)中继节点死亡过多,使得算法无法寻找一条到达Sink节点的Dijkstra路径。
节点的能耗分成电路部分和传输部分[ 8, 9],其中电路部分又分为模拟电路部分和数字电路部分,1 bit数据的能耗为:
式中:
式中: PADC、 PDAC分别为模数转换电路与数模转换电路的能耗; PLNA、 PIFA分别为低噪滤波器和中频放大器的能耗; Pmix、 Psyn分别为混频器和频率合成器的能耗; Pfilt、 Pfilr分别为发送节点、接收节点的滤波器能耗。
式(2)中的 ζ为常量,计算式为:
式中: Gt、 Gr分别为发送天线和接收天线的增益; λ为载波的波长; Ml为补偿常数; Nf为接收端的噪声图,定义为 Nf =Nr /N0,其中 N0为室温条件下的单边热噪声功率谱密度, Nr为接收端的总有效噪声; Pb为平均误码率; α=ξ/η-1, η为RF功率放大器的效率, ξ为峰均比(PAR),与星座大小有关,对于多电平正交幅度调制(Mary quadrature amplitude modulation,MQAM)而言[ 10],有:
式中: L=2 b/2。
由C2MIMO的算法步骤可知,其能耗包括如下5种:①监测节点将数据发送给监测簇主簇头的能耗 Emh;②监测簇主簇头的数据融合能耗 Eda;③主簇头将数据发送给 Nodect的能耗 Eht;④ Nodect将数据协作发送给 Nodecr的能耗 Elt;⑤ Nodecr将数据发送给簇头的能耗 Erh。
假定共有 Nmo个监测节点,每个节点有 Nd个比特数据发送,它们被分成大小为 Ns的帧,因此一个节点有[ Nd /Ns]个帧。相对于传输而言,融合等处理部分的能耗可以忽略不计,因此这里只考虑 Emh、 Eht、 Elt和 Erh。这4种能耗可以分别等同于簇内的 Nmo ×1的MISO、1 ×Nt的SIMO、 Nt ×Nr的MIMO和 Nr ×1的MISO。前面已经指出,它们都可以看作MIMO,因此,其能耗均可利用式(2)计算。于是,可以得到监测数据传输到Sink节点所需的总能耗为:
式中: H为数据传输所经历的簇间传输跳数,它受簇间通信距离 dinter和网络拓扑的影响;
在100 m ×100 m的矩形区域内随机部署100个节点,事件发生地位于( x, y) =(20,20)处( x, y分别表示横坐标和纵坐标),Sink节点位于( x, y) =(90,90)处。网络的拓扑结构如图3所示,所需的参数设置如下[ 6, 8, 10]: Gt Gr=5 dBi, λ=0.12 m, PDAC=15 mW, PADC=15 mW, PLNA=20 mW, PIFA=2 mW, B=10 kHz, Pb=1×10-3, η=0.35, Ml=40 dB, N0=-171 dBm/Hz, Nf=10 dB, Pmix=30.3 mW, Pfilt=2.5 mW, Pfilr=2.5 mW, Psyn=50 mW, β=0 .5, b=2。下文只仿真单比特能耗,多个比特的情况只需要乘以数据大小即可。
从式(2)和式(6)可知,簇间距离会影响到相邻跳之间的距离,进而影响与Sink节点之间的中继跳数,因此会对传输能耗产生重大影响。图4是在最大簇间距离不同的情况下,事件监测节点将数据发送到Sink节点所消耗的总能量。从中可以看出:SISO的能耗总趋势是随着簇间距离的增加而增长的,说明SISO情况下的单跳传输距离不能太长;而MIMO则由于有多个节点协作,大大降低了长距离传输的能耗,其总趋势与SISO的情况刚刚相反,能够较好地适应长距离中继。
从图4还可以看出:MIMO相对于SISO而言节省了巨大能量,而3×3的MIMO比2×2的MIMO节省的能量更多。为了说明能量节省的情况,将SISO和MIMO情况下的总能耗分别记为 ESS和 EMM,并定义能耗比为:
显然,能耗比 EM2S越小能量节省得越多。图5是利用图4的数据绘制的能耗比柱状图,从中可以清晰地看出MIMO相对于SISO的能量节省情况,即:簇间距离越大,能量节省越多;3×3的MIMO比2×2的MIMO能量节省得更多。
从式(2)还可以看出,无线链路的损耗因子 k会对传输部分的能耗产生重要影响。为了限制参与成簇的节点数量,这里将簇半径设定为15,其结果见图6。可以看出,对于SISO而言,能耗近乎指数增长,这正是无线数据传输的经典结论。但是对于MIMO而言,能耗增长则缓慢得多,这得益于MIMO带来的信噪比的提高。图7是在 k不同的情况下,MIMO相对于SISO的能耗比,从中可以得到相似的结论。因此,无线信道状况不好的情况下( k增大),应优先选用MIMO传输方法。
利用监测数据存在大量时间和空间冗余的特点,引入分簇和协作MIMO的思想,提出了一种能量高效的数据传递算法。实验表明,利用该算法作为DMSNet的路由方法,无论是在簇间距离变化或者路径损耗因子不同的情况下,都能得到较好的节能效果。不过,注意到监测区域都有自己的地理特点,如何将这些地理特点融合到路由方法的设计中,将成为后续研究的重点问题。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|