高效可行的多信道无线传感器网络通信.docx
《高效可行的多信道无线传感器网络通信.docx》由会员分享,可在线阅读,更多相关《高效可行的多信道无线传感器网络通信.docx(14页珍藏版)》请在冰豆网上搜索。
高效可行的多信道无线传感器网络通信
高效可行的多信道无线传感器网络通信
YafengWu,JohnA.Stankovic,TianHe,andShanLin
ComputerScienceDepartment,UniversityofVirginia,{yw5s,stankovic,sl8yc}@cs.virginia.edu
DepartmentofComputerScienceandEngineering,UniversityofMinnesota,tianhe@cs.umn.edu
摘要:
本文论述了如何利用多信道技术来提高无线传感器网络(WirelessSensorNetworks,WSNs)的通信性能。
我们首先使用Micaz节点进行密集的观察实验来调查WSNs多信道技术的现状。
研究表明,由于现实网络中可用信道数目较小且存在不可避免的时间差错,现有的多信道协议并不适合WSNs。
利用这些观察,我们为数据采集应用提出了一个全新的基于树的多信道技术方案,该方案将信道分配给不相连接的树并在树之间进行并行传输。
为最小化树之间的干扰,我们确定了一个新的被证实为NP不完全的信道分配问题。
接下来提出了一个贪婪信道分配算法,该算法在可用信道较少的密集网络中性能超越了其它的协议方案。
在现实的实验平台上我们运行了被称为TMCP的协议。
通过仿真和实验,TCMP协议被证实能够显著提高网络吞吐量并降低数据包丢失。
更重要的是,评估结果表明与其它多信道协议相比,TCMP协议更好的适应了WSNs多信道技术的现状。
I.介绍
作为一项新兴技术,无线传感器网络(WirelessSensorNetworks,WSNs)具有广泛的潜在应用范围,包括环境监测,智能建筑,医疗以及工业和军事应用。
大量媒体接入控制(MAC),路由和传输层协议被提出。
然而因为频率干扰和带宽限制,使用单一信道的WSNs无法提供可靠地实时的高数据速率通信。
例如,在“地面耳朵”(Earsontheground)项目中,网络无法传送多路声信息流至汇聚节点。
另一方面,现有WSN硬件比如Micaz和Telos所使用的CC2420接收器已经提供了多个频段。
因此,设计基于多信道的WSNs通信协议来提高网络吞吐量及提供可靠的实时通信服务成为当务之急。
近期一些旨在提高WSNs网络性能的MAC层多信道协议相继被提出。
这些协议通常将不同的的信道指定给两跳相邻节点以避免潜在的干扰,还有复杂的MAC机制来协调信道转换和节点间传输。
举例而言,MMSN[2],TMMAC[3]和MCMAC[4]就是为WSNs设计的。
仿真结果表明,与单信道协议相比它们能够显著提高网络吞吐量。
本篇论文关注于如何利用多信道技术提高WSNs的通信性能。
与过去的研究工作不同,我们首先通过一系列观察实验调查多信道技术的现状。
接下来为数据采集应用提出基于树的多信道协议(Tree-basedMulti-ChannelProtocol,TMCP),并研究一个新的信道分配问题。
这些工作的主要贡献是:
•本篇论文提供了通过密集的实验得出的多信道技术现状的观察研究,并分析现有多信道协议的实用问题。
我们展示了由于可用信道较少以及实际中不可避免的时间同步差错,这些协议不适合常规的WSNs。
•TCMP协议将整个网络分割成多个子树,为每一子树分配不同的信道,然后数据流仅沿着自己相应的子树向前传送。
这一机制在信道数目较小时工作性能良好,而且有简单的无需节点同步的传输方式,这使得它能适合于通常的WSNs。
•我们确定和解决了如何分割子树以最小化树间干扰的新问题。
分析了问题的复杂度并提出一个贪婪解决算法。
仿真结果显示在密集网络中它比其他机制更好的减少了干扰。
•通过仿真和实际实验,我们在真实的实验平台上运行TCMP评估它的性能。
实验表明TCMP能够大幅提高网络吞吐量,同时保持高数据包传输速率和低传输延迟。
更进一步,展示了它的性能优于其它多信道协议。
论文其余部分是如下组织的:
在第二部分中我们揭示了相关工作,第三部分展示了调查多信道技术现状的观察实验结果。
TCMP协议的设计在第四部分呈现。
第五部分描述了信道分配问题并给出了贪婪算法和仿真。
在第六部分里我们用仿真和实际实验评估了TCMP的性能。
最后,第七部分介绍总结和未来的工作。
II相关工作
在最近的研究中,大量通用无线网络多信道协议被提出,比如多信道MAC协议5][6][7][8]。
这些协议或是要求每一节点都有多频段无线收发器,或是需要特定的信道协商控制信息。
然而,它们并不适合WSN应用。
首先每一节点设备通常仅带有单频收发器,无法同时工作在不同频段。
第二,WSNs的带宽非常有限,数据速率也很小。
因此,信道协商数据包成为不可忽略的负载。
近年来,出现了MMSN[2],TMMAC[3]和MCMAC[4]这三个专为WSNs设计的新的多信道MAC协议。
它们都尝试为两跳内相邻的不同节点指定不同的信道以避免潜在的干扰。
我们称其为基于节点的多信道协议。
仿真结果显示与单信道协议相比它们提高了WSNs的性能。
但是采用基于节点的信道分配机制使得每一节点与上下行的节点使用不同的信道。
在一个多跳数据流中,节点不得不切换信道以接收和传送数据包,这回引起频繁的频率转换和潜在的包丢失。
为了避免包丢失,基于节点的协议使用一些协商或计划机制来协调不同信道节点间的信道切换和传输。
比如,以上提到的三个协议都使用时隙来协调传输。
它们面临着实际WSNs的使用问题,包括:
1)密集网络的信道分配需要大量正交信道;2)需要节点间时间精确同步;3)频繁的信道切换使得信道切换延迟和规划机制负载无法忽略,特别是高速数据传输中;4)协议通常比较复杂,要求节点有更好的的能源。
我们的论文通过Micaz节点观察实验研究了这些实际问题,阐明基于节点的协议在实践中可能并不适合WSNs。
更近一段时间,两个不同的信道分配方案被提出。
文献[9]给出了一个基于单元的协议,该协议将信道指定给无线自组网络中相连的单元,在文献[10]中,节点基于为实现信道间负载平衡的理论动态的选择信道。
尽管这些方案与我们的有相似的方式,但我们的方案致力于利用多信道来构建低干扰优化拓扑结构和优化实际WSNs的吞吐量。
III.多信道技术现状的实验
设计好的协议需要更好的理解WSNs多信道技术的现状。
在这一部分中,我们首先用一系列观察实验调查Micaz硬件设备的多信道干扰特性,包括相邻信道干扰和与802.11网络的相互干扰。
在移动自组网络中这些特性得到了很好的研究[11][12][13],但在WSNs中还缺乏观察实验。
于是我们在单一路径上测量基于节点的多信道机制的性能并调查时间同步差错的影响。
利用这些实验结果,我们的分析表明现有的基于节点的机制不适用于WSNs和高数据率的应用。
A.可用正交信道的数目
多信道设计的一个重要参数是WSNs的可实际使用的信道数目。
Micaz所使用的CC2420射频芯片提供16个相互间距5MHz不重叠的信道。
但是因为相近信道干扰和802.11网络干扰的原因,并非所有信道都能用于单一传感器网络中。
1)非正交信道干扰:
在通用无线网络中非正交信道干扰获得了很好的研究[13]。
对于WSNs硬件,CC2420芯片说明书指出相邻信道rejection?
是45/30dB,但尚未有关其对多信道WSNs性能的真实影像的研究。
接下来我们将展示研究此现象的实验。
在第一个实验中,Micaz节点与一个发射器一个接收器和一个干扰源被放置在一条线上。
干扰源的信号传送与发射器同步易产生干扰。
发射器和接收器使用信道11。
当发射器改变发送功率时,记录没有干扰源、信道12上有干扰源(相邻信道干扰)和信道13上有干扰(2个信道间距)三种情况下接收器的数据包接收率。
实验结果如图一所示。
可以看出没有干扰的情况下,接收器维持了超过90%的数据包接收率直到发射器的功率水平低于3。
然而,存在相邻信道干扰使得在发射功率水平为7时数据包接收率降至50%,这清楚的表明相邻信道干扰影响显著而不能被忽略。
另一方面,两个信道间距的特性曲线与无干扰的接近,暗示干扰水平较低。
我们在其它信道上进行了类似的实验获得了详尽的结果。
为进一步调查相邻信道干扰,另有一组实验被用来弄清接收信号强度指数(ReceivedSignalStrengthIndication,RSSI)阈值和不同信道干扰的关系。
在这些实验中,接收器和干扰源的位置固定,间距两英尺,发射器沿着直线的不同位置移动。
试验在干扰存在和不存在两种情况下运行。
结果如图2和3所示,每一个点代表一对RSSR和数据包接收率数值。
可以看出没有干扰的情况下,数据包接收率在90%以上时的RSSI为-89dB,而存在干扰时降至-77dB。
当相邻信道干扰出现时,RSSI在-77dB和-87dB之间的传输不再可靠。
其存在导致了意料之外的冲突和数据包丢失。
唯一安全的方法是在多信道协议中仅使用非相邻信道。
2)802.11网络的干扰:
另一个影响网络可用信道数目的因素是802.11网络的干扰。
802.15.4说明资料显示802.11信道与我们的802.15.4信道会有潜在的冲突。
在文献[11][12]也研究了这一问题。
这里,我们同样用一个小实验来展示802.11网络如何影响WSNs信道。
将8对Micaz节点紧密放置在有多路802.11网络的部门办公室里。
每一对节点两两通过单一信道传送数据包。
所有信道彼此正交。
实验进行多次并测量数据包接收率。
结果如图4所示,每一数据均列出标准差。
可以看到仅有3个信道(11,19,25)有好的链路质量(接收率超过90%),其余4路质量较差(接收率大约是60%)且不稳定(标准差较大)。
这个实验表明多信道协议必须能够在可用信道数目较少的情况下工作。
否则会在诸如室内场合应用中性能严重下降。
B.时间同步差错的影响
现有基于节点的多信道协议中另一个能显著影响性能的因素是时间同步差错。
如前述,每一节点需要协同传输和信道切换。
但低功耗的Micaz节点无法提供高的时间精度。
其时钟漂移大约是40ppm(part-per-million),意味着一秒之后的时漂可达40μs。
为研究时间差错的影响,我们用Micaz节点进行了一组实验。
将5个节点放置在一条线上。
第一个节点向最后一个节点用一个接一个的方式传送数据包。
每个节点单独使用一个信道。
起始时所有节点同步。
首先我们使用了一个简单的基于时隙的机制作为基于节点的协议。
在这一机制中,10ms的时间段被分割为两个时隙。
第一个时隙中奇数位置的节点切换信道并向下一结点发送数据包,第二时隙正好相反。
改变数据源的数据速率,测量端到端的数据包接收率。
实验结束后等待10分钟,不调整时间同步进行第二次试验,这次试验展示存在时间误差时基于节点的协议的性能。
最后,调整所有节点使用同一信道,采用标准CSMA协议传送数据包。
结果如图5所示。
可以看出,没有时间差错时,基于节点的协议比单信道机制有更高的数据接收率。
两种机制的饱和数据包接收率(数据包接收率超过90%)分别是90msg/sec和50msg/sec。
另一方面,当出现时间差错时,基于节点的协议的包接收率很低。
饱和数据包接收率大约是10msg/sec,意味着没有时间同步时,该协议仅能支持低速率端到端传输(大约3kb/s)。
这一实验明确指出基于节点的协议能提高通信性能,但在时间差错存在时性能大幅下降。
更进一步,这种下降会在有更长路径和更复杂坐标系的大规模密集网络中被放大。
实验还指出基于节点的协议无法提供可靠稳定的高速数据传输。
一个可能的解决方法是周期性的进行时间同步操作。
对于上面的实验而言,节点需要至少每十分钟一次的频率的同步化调整以保证性能。
然而,WSNs中的时间同步协议代价高昂且占用额外带宽和功率,这使得频繁同步化不切实际,特别是对于高速应用和大型密集网络。
IV.一个基于树的多信道协议
每一个多信道协议都有两个主要组成部分,信道分配和传输协调。
如第三部分所示,WSNs的现状影响了现有多信道协议的两个方面。
可用的正交信道数目不能满足基于节点的信道分配,特别是在密集网络中。
不可避免的时间差错会影响不同信道的节点的传输协调,尤其是在高数据率的应用中。
为了在实用的网络中克服这两个问题,我们认为新的多信道机制应首先采用粗粒度信道分配策略而不是基于节点的,同时应减少信道切换和不同信道节点的通信来避免复杂的协调机制。
另一方面,我们还注意到传感器网络中数据采集是一个主要的通讯模式,即传感器节点产生的多路信息流汇聚到基站。
当前多数数据采集机制构建连接基站和节点的树结构,让数据包沿着树传递。
然而在单信道情况下,树内传输碰撞和节点处的信息流阻塞会大幅降低网络性能。
基于上述观察,我们为WSNs中的数据采集应用提出了一个基于树的多信道协议(Tree-basedMulti-ChannelProtocol,TMCP)。
多信道的思想是首先将网络分割为起始于基站顶点不相连的子树并为每一子树分配不同的信道,让各个信息流沿着相应的子树传递,如图6所示。
TMCP的优越性有两方面。
第一,从应用角度而言,粗粒度的信道分配机制需要的信道数目较基于节点的机制少。
并且因为每一数据流都都在同一信道内沿着子树传递,不许复杂的信道协调机制,这意味着TCMP无需时间同步。
第二,就性能而言,由于为子树分配不同信道,TCMP能通过消除树内干扰和子树间空分复用并行传输提高网络吞吐量并减少丢包率。
TCMP有三个组成部分,信道探测(ChannelDetection,CD),信道分配(ChannelAssignment,CA)和数据通信(DataCommunication,DC)。
信道探测模块寻找当前环境中可用的正交信道。
为实现这一点,用两个节点在每一信道上彼此传送数据包采样测量链路质量。
然后在高质量的信道中,选择不相邻的信道。
现阶段共有k个信道。
给定k个正交信道,信道分配模块将整个网络分割为k个子树并为每一子树分配唯一信道。
这是TCMP的核心。
分割的目的是尽可能降低潜在干扰。
我们可以看到,分割之后原网络中的干扰可分为两类,一类是不同树之间的干扰,称为树间干扰,这类干扰会由不同子树采用不同的正交信道消除;另一类是树内节点间的潜在干扰,称为树内干扰。
由于子树内部各节点使用相同信道,在该机制下树内干扰无法被避免而称为性能的主要瓶颈。
因此,分割的主要目标是使子树的树内干扰较小。
下一部分会进一步研究这个问题。
分配好信道后,数据通信部分控制每一子树的数据采集。
当一个节点想要向基站传送信息时,它仅需将数据包上传至所属子树。
这里我们假定基站装备有多路无线收发器,每一路工作于一个相互不同的信道。
可以看出,由于基于树的信道分配策略,数据通信非常简单,无需时间同步。
同样,基站可以利用网络进行数据传播。
当基站想要发送指令或者更新代码时,可以通过所有收发器发出数据包,接着数据包就会沿着每一子树到达网络中所有节点。
V.最小化干扰的信道分配问题
TCMP使用心得给予树的信道分配策略。
如前所说,这一机制的目标是最小化树间干扰。
在这一部分中我们正式的明确了这个问题研究其复杂度,提出了一个贪婪算法并通过仿真实验评估其性能。
A.模型与问题定义
我们假定传感器网络是静态图G=(V,E),其中V是网络中所有节点的集合,E是一跳内能通信的两节点的边的集合。
这里我们只考虑网络中的数据采集。
接下来定义树内一个节点的干扰值。
文献[15]介绍了一种简明的定义,该定义基于一个节点的传输能够潜在干扰的节点的数目。
换言之,干扰是从发送者而非接受者的角度考虑的。
由于干扰实际上是接收方的难题,我们使用接收方为中心的干扰定义。
一个节点A的干扰值是能够扰乱A的接收的节点的数目。
定义1:
节点u的干扰集定义为INT(u)={v|v∈D(v,Iv)},其中D(v,Iv)是以v为圆心、Iv为半径的圆。
节点u的干扰值定义为int(u)=|INT(u)|。
这里我们假定当一个节点传输时,干扰集内所有节点均会受影响。
在真实网络中该假设未必总是成立,因为干扰区域未必是文献[16]所观察的球形的,而且节点的干扰集会随时间变化。
但我们可以用更大的干扰圆来覆盖实际干扰区域,保守计算每一节点干扰值。
用干扰半径Iv取代通信范围Rv来描述干扰区域。
根据文献[16]的观察,实际网络中两者不相同。
进一步,使用文献[17]的协议干扰模型的假设,Iv=(1+α)×Rv,且α>0表示节点u的所有相邻节点属于INT(u)。
接下来定义树内干扰值。
有两个因素应考虑。
第一,我们应使用最大干扰值Imax作为树的干扰值。
倘若每个节点有带宽B,可以证明树的单一数据流容量的下限是B/Imax。
因此Imax决定了流经树的单行数据流的最低速率,这对于应用很重要。
第二,由于我们的干扰模型是以接收方为中心的而叶子节点在数据采集应用中不是接收者,因此树的最大干扰值应在非树叶节点中。
定义二:
一棵树的树内干扰值T定义为int(T)=max{int(u):
u是T的非树叶节点}。
举例而言,图7中的树内干扰值为4,尽管有一个叶子节点的干扰值是5.这里我们强调处理非树叶节点不是细枝末节。
事实上它表明如果一个节点的干扰值较大,我们可以让它成为叶子节点而在数据采集通信中不需接收其它节点的数据包。
这样可以实际上降低树内干扰。
现在定义分割和信道分配问题。
假定有k个可用正交信道,现在的问题是如何将网络分割成定点不相连接的有最小化的最大树内干扰值的子树(Partitionasensornetworkintokvertex-disjointtreeswithMinimizingthemaximumintra-treeInterferencevalueofallTrees),称为PMIT问题。
接下来我们研究它的复杂度。
定理1:
PMIT问题是NP完全的。
我们通过简化k色问题来证明,读者可以参考文献[18]。
考虑NP完全问题,不存在能够总是寻找到优化分割的多项式次数的确切算法。
下一部分里我们将极为少一个PMIT问题的启发式贪婪算法。
B.PTIM算法
在该算法中,我们假定所有节点的干扰集已知。
对于节点u,用cu表示其信道、pu表示其母节点。
首先应用Breadth-First查找算法计算得出基于基站的胖树(fattree)。
胖树有两个特性。
第一,节点的顶点在胖树上且有多个母节点。
其次,胖树实际上是最短路径树,其从基站到每一节点的枝干有最小的跳数,原因是构建胖树时采用了BFS方法。
接下来,为从胖树的顶端到底端一层层的分配信道。
每一层优先处理母节点较少的节点,因为它们的信道选择范围更小。
为每一节点选择最优的信道,即选择一个最优的树让它加入。
标准是树必须与节点相连且节点的加入带来的影响最小。
若多棵树可选择,则选取节点数目最小的。
节点加入一棵树后在所有母节点中选择干扰值最小的节点作为母节点。
很明显算法覆盖了图中全部节点。
当一个节点获得信道时,算法确保其连接在一棵源于r的树。
这表明了算法的正确性。
接下来的定理阐述算法的时间复杂度。
定理2:
PMIT贪婪算法的时间复杂度是O(d×k×n2),其中d是图的直径,n是节点数目,k是信道数目。
证明:
构建胖树的时间复杂度是O(d×Δ×n),Δ是图的最大深度。
在PMIT算法中,第12步在最坏情况下的复杂度是O(k×n),第11步开始的repeat循环会进行n次。
因此repeat循环里的这一过程复杂度为O(k×n2)。
因为树的深度不会超过图的直径,因此循环最多重复d次。
最坏情况下时间复杂度为O(d×k×n2)。
该算法的一个很好的特性是每一节点到基站都有最短路径,因为算法从胖树的顶端开始到底端一层一层的处理节点。
因此不需要额外的消息传输,也不会增加能耗。
由于这个算法仅需要每一节点处的局部搜索,所以它可以被简单的修改成为分布式算法。
首先节点通过广播消息构建一棵胖树。
信道分配阶段基于母节点的消息作出自己的决定并告知子节点。
同时,由于网络的静态性,算法可在初始时一次集中执行,或不频繁执行,这即使在大型WSNs中也是可行的。
C.贪婪算法的评估
如前所述,网络分割和信道分配对于提升网络性能至关重要。
在在一部分中我们评估了贪婪算法的性能。
我们使用JAVA开发了一个图形模拟器,它能随机生成图形并在信道分配中应用不同机制。
在所有的试验中,250个节点随机的分布在200m×200m地域内;通讯范围是10∼35m;干扰范围是通讯范围的1.5倍。
由于是第一次研究PMIT问题因而没有对照算法,我们使用替代机制作为比较。
一是使用Prim的算法构建用于最小伸展树作为数据采集树。
该机制仅有单一信道,被用作基本机制。
第二,用文献[2]提出的监听信道分配方法。
作为基于节点的典型方法。
注意该方法并不能保证每一信道的各节点的连接性。
接下来寻找所有节点的最大干扰值ρ,用ρ/k作为分配k个信道后的干扰值的下限。
最后,运行贪婪算法并测量分割后所有树的最大干扰值。
在全部试验中每个数据点都来自50次重复实验的平均值,并被给予90%的置信区间。
在第一组实验中,我们使用了三个信道,通过调整通讯范围改变相邻节点的数目。
结果如图8(a)所示。
可以看出贪婪算法的干扰大致是单信道Prim算法的1/3,这表明有效利用3个信道会降低干扰。
与监听算法相比,当节点密度较小时监听算法的干扰更小,主要是因为它不保证节点的相连接;但随着节点密度的增大贪婪算法后来居上,比如当密度为18时,其干扰要比监听算法的小17%。
原因是两方面的。
一是当节点密度较大时两跳内相邻节点没有足够信道,而监听算法为节点随机选择信道使得最大干扰相对大。
但我们的算法总是寻找局部最优因而获得了更加稳定的性能。
另一方面节点密度较大时贪婪算法有更过的机会使干扰较大的节点成为叶子节点,这进一步降低了子树内的干扰。
最后,比较干扰值的下限,结果显示我们的算法更加接近下限。
更重要的是两者之差并不随着密度的增大而增加,这说明贪婪算法对于不同的密度有着良好的稳定性。
在第二组实验中,无线收发范围是35m,可用信道数目变化。
结果如图8(b)。
很明显信道数目较小时PMIT算法产生的干扰更小,尤其是当仅有2个信道可用时其干扰比监听机制小24%,仅有一个信道可用时其干扰比监听机制小51%。
可用信道增多则二者的性能趋于接近。
多于8个信道时监听机制的干扰比贪婪算法的小18%。
比较下限可以看出,贪婪算法产生的干扰几乎与下限相同。
VI.TMCP的性能评估
TMCP使用贪婪算法作为信道分配部分。
在这一节我们通过仿真和真实实验平台的实验来评估TMCP的通讯性能。
A.仿真评估
首先通过仿真实验评估TMCP的性能。
我们在GloMoSim上运行TMCP。
使用同第五节C部分相同的设置,通讯范围是10∼40m,干扰范围是通讯范围的1.5倍。
这是仿真CC2420无线收发器时常用的模型。
同时,在MAC层使用能够保证多数数据包被接受的带有确认-重传机制的CSMA方式。
我们进行了三组实验。
在前两组实验中,有2到4个信道的TMCP与单信道扩展树路由协议相比较。
第一,在不同节点密度下测量网络性能。
在实验中网络里有50个多对一的CBR数据流,每一数据流每秒有40个数据包。
结果如图9,每个节点有90%的置信区间。
根据结果,TMCP在以下方面的表现超过了原始协议:
1)通过精细的网络分割和信道分配,有2到4个信道的TMCP能减少潜在传输碰撞,使得吞吐量比扩展树算法平均高出1.6到2.7倍。
2)通过将通讯负荷分散到子树中,TMCP降低冲突的同时还减少阻塞,获得了更高的数据包传输速率和更低的延迟。
3)当节点密度增加时,TMCP有更好的稳定性。
举例而言,图9(a)中4信道TMCP在相邻节点数目增长时网络吞吐量更高,因为有更多的节点可以让TMCP更平均的分割和分配信