论文部分内容阅读
在实际的无线传感器网络应用中,节点通常需要了解其所有邻居节点的状态以做出相应的决策。为了获得邻居节点的信息,节点可以采取轮询的方式依次和每个邻居通信,或者采用TDMA的方式广播一个查询数据包之后,每个节点按照预先定好的顺序依次回复其状态。尽管这两种方法实现起来比较简单,它们的可扩展性都不够好,因为查询节点(或称poller节点)的通信时延和能量消耗随着都邻居节点的数目的增加而线性的增大。 本文研究在传感器网络中实现高能效的同时查询技术,该技术能让查询节点能一次查询所有邻居节点状态的问题,从而使查询的效率大大增加,同时也降低了poller节点的通信开销。我们主要考虑两种典型的状态查询例子,节点计数和节点身份识别,并提出了两种高效的通信协议:基于接收能量的估计邻居节点数目估计(Power based counting,Poc),以及基于接收能量的邻居节点身份识别(Power based identification,Poid)。Poc用来估计邻居节点中满足某一特定条件的节点的数目,而Poid则进一步识别出这些节点的身份信息,比如节点编号。Poc和Poid的实现基于实验中所观察到的一个现象:多个无线信号叠加在一起之后的能量值通常大于单个无线信号的能量值。而且信号叠加之后的能量随着信号个数增加而增大。这为我们提供了一种解决问题的思路,即根据接收能量值来估计回复节点的个数,甚至识别回复节点的身份。但叠加信号的接收能量要满足上述性质需要多个无线信号能够实现精确同步,而高精度的同步在普通无线传感器中通常难以实现。为了克服这一问题,我们设计了节点时钟补偿方法以降低无线信号之间的相位差(即时序错位值)。从无线信号的角度来看,我们将多个无线信号的相位差降到了0.28微秒之内。同时,我们提出了概率估计方法以克服节点硬件对接收能量的限制。Poc目前可以应用到任意拓扑和任意节点密度的网络中,而Poid仅适用邻居节点数目较少的稀疏网络中。不过我们讨论了将Poid应用到密集网络中的策略,并从理论上分析了这种策略的上界和下界。最后我们做了大量的实验,与当前的数目估计或身份识别方法相比,Poc和Poid大大的降低了poller节点的通信时延和能量消耗。