实现低功耗无线传感器网络的精确且实时的链路估计
摘要
链路估计是无线传感器网络中转发协议的基本组成部分。然而,在低功耗转发中,广泛采用的占空比循环射频控制的异步特性为实现准确且实时的估计带来了新的挑战。首先,重复发送的帧(称为唤醒帧)增加了精确统计的复杂性,尤其是在存在突发性信道竞争和共存干扰的情况下。其次,频繁更新每条链路的状态将很快耗尽有限的能量供应。本文提出了一种名为 Tifi 的分布式唤醒帧计数器。Tifi 利用链路窃听的机会来实时更新链路状态。此外,Tifi 不仅依赖于对成功解码的唤醒帧进行计数,还通过利用基于接收信号强度短期序列的 ZigBee 识别可行性,对已损坏的帧进行计数。我们在 TinyOS 中实现了 Tifi,并通过在室内外测试平台上的大量实验进一步评估其性能。结果表明,Tifi 能够显著提升现有先进链路估计方案的性能。
索引词 —无线传感器网络,链路估计,实时,准确性,低功耗。
一、引言
IN 无线传感器网络(WSN),由于与上层转发协议存在深度耦合,[1]–[4], 链路估计[5]–[10] 对网络性能具有根本性影响。链路估计协议的改进是无线传感器网络领域的重要研究方向。特别是,准确性和时效性是最受关注的两个方面。准确且实时的估计能够确保最优转发的一致性。
在现有的链路估计协议[11]–[13], 中,每个节点通常利用被动接收的数据包/确认来实现链路估计的准确性。此外,主动广播信标为这些轻流量链路提供了及时的数据包接收机会。
然而,由于节点的无人值守部署和有限的能量资源,传感器节点的无线电模块通常工作在低占空比模式和异步休眠唤醒调度下,这可能会阻碍现有估计器的性能。
由于出色的能量效率,基于低功耗监听(Low Power Listening, LPL)的媒体访问控制(MAC)[14],[15] 已在低功耗无线传感器网络中得到广泛应用。如图1所示,A 和 B 是低功耗无线传感器网络中的两个典型节点。它们周期性地开启无线电模块进行载波侦听,但它们的唤醒时间表是异步的。如果信道空闲,无线电模块将立即关闭;否则,无线电模块将保持开启一段额外的时间(称为唤醒持续时间),以接收可能到达的数据包。当 A 向 B 发送数据包时,由于 B 的唤醒时间表未知,A 必须重复发送相同的数据包(称为唤醒帧或附加了指定数据序列号的帧),以等待 B 唤醒。A 将持续发送唤醒帧,直到收到 B 的确认(ACK)或预配置的定时器超时为止。作为单播数据包的接收器,B 在成功解码任意唤醒帧后将返回一个确认(ACK)。在广播情况下,B 不会对任何接收到的唤醒帧进行确认。
请注意,采用异步休眠‐唤醒调度时,邻居节点成功接收到唤醒帧,并不意味着所有在该邻居无线电模块处于活跃期时到达的潜在唤醒帧都已被成功解码。由于发送方与接收方之间存在时间错配,丢失的帧难以统计。当存在信道竞争和共存干扰时,情况更加恶化。为解决此问题,现有方案并未统计实际到达的唤醒帧数量,而是记录具有特定数据序列号(DSN)的唤醒帧是否至少有一个(无论实际数量多少)被接收。此外,对于单播传输,即数据包发送至指定接收器的情况,其他邻居节点在其活跃期内会忽略可能到达的唤醒帧,因为该单播传输无法保证任何邻居节点都有机会侦听到该帧,因此未接收到帧的邻居节点无法确定未接收的原因(是缺乏侦听机会还是帧丢失)。因此,占空比模式和异步休眠唤醒调度给实现精确且及时的链路估计带来了巨大挑战。
在此背景下,本文提出了 meter,一种分布式唤醒帧计数器,利用 ZigBee 识别的可行性和链路窃听的机会来应对上述挑战。首先,meter 对一系列接收信号强度指示(RSSI)进行采样。然后,根据与共存干扰不同的特征,meter 识别潜在的 ZigBee 帧子序列。最后,meter 基于与已解码的唤醒帧、历史记录以及帧传输时间限制相匹配的多种特征,推断 ZigBee 帧子序列的归属。因此,即使存在共存干扰,节点也能在机会性地侦听所有链路正在进行的传输时,精确统计所有的唤醒帧。通过这种方式,meter 能够提供精确且实时的链路估计。本工作的主要贡献如下:
- 我们提出 meter 以实现低功耗无线传感器网络中精确且实时的链路估计。据我们所知,meter 是首个认真解决异步占空比媒体访问对链路估计准确性和时效性影响的工作。
- 我们开发了一种分布式且轻量级的方法,能够精确统计已解码和损坏的唤醒帧数量,并确定相应的发送者,即使在存在突发性信道竞争和共存干扰的情况下也能正常工作。
- 我们实现了 meter 并将其集成到广泛采用的链路估计器(4 位)中。我们在室内外测试平台上评估了 meter 的性能。实验结果表明,meter 能显著提高链路估计的准确性和时效性。
本文的其余部分组织如下。下一节介绍 4 位链路估计的初步内容。第三节展示实证研究。第四节详细介绍 meter 的设计。第五节和第六节分别介绍评估结果和附加讨论。第七节调研相关工作。本文在第八节进行总结。
II. 4 位链路估计的初步
4 位[11] 是最先进的链路估计器,已广泛应用于无线传感器网络的长期大规模部署,如绿色星球[16] 和城市之眼[17]。4 位使用 ETX(期望传输次数)[18] 来描述链路质量。通过累积统计被动接收到的数据包/确认来更新每条链路的 ETX。这些确认来自父节点,即单播数据包的一跳目的节点。而数据包则来自每个邻居节点的主动广播信标。
图2 展示了基于 LPL 的 MAC 协议下 4 位链路估计的过程。如图2(a) 所示的网络拓扑中,节点 S 有五个邻居节点(A、B、C、D 和 R)。R 是 S 的父节点。图2(b) 展示了从 S 到 R 的单播数据包传输过程。对于每个数据包,S 会重复发送唤醒帧,直到接收到一个来自 R 的确认为止。根据发送和确认的数据包数量统计,S 持续更新指向 R 链路的 ETX。此外,图2(c) 说明了 S 向其所有邻居节点主动广播信标的过程。对于每个广播信标,S 会在整个睡眠周期内持续发送唤醒帧,以便所有邻居都有机会接收到该广播信标。每个邻居通过统计成功接收到的信标数量以及最新信标的序列号,来计算从 S 到自身的链路 ETX。然而,4 位链路估计位于 MAC 层,因此忽略了基于 LPL 的 MAC 协议异步传输所带来的影响。
使用低功率监听(LPL)时,每个邻居在唤醒持续时间内可以接收到多个唤醒帧。如图2(b) 所示,尽管 R 未能接收到第一个唤醒帧,但第二个唤醒帧已成功解码并被确认。图2(c) 还显示 A、B、C 和 R 已成功接收广播信标,但 B 和 C 并未接收到所有到达的唤醒帧。由于 4 位仅关注单播数据包或广播信标的任意唤醒帧是否被成功确认或接收,因此可能会高估链路质量。
在 4 位中,每个节点定期广播信标。由于低功率监听广播持续时间较长,广播信标的周期通常保持较大(几分钟)[1] 以减少能耗。如图2(b) 所示,尽管比 R 更早唤醒的邻居节点 A、C 和 D 能够侦听到 S 的单播,但 4 位并未利用这些相对频繁的数据包来更新非路由链路。因此,4 位无法及时更新所有链路的状态。
在图2(b) 中,我们观察到 C 错过了前两个唤醒帧。然而,仅根据已解码的唤醒帧信息,C 很难知道自其唤醒以来丢失的唤醒帧的确切数量。此外,在图2(b) 和图2(c) 中,D 未能接收到任何唤醒帧。如果 D 仅依赖于已解码的唤醒帧中的发射器信息,则很难推断这些丢失的唤醒帧的发射器。因此,需要更精细的方法来准确统计丢失和接收到的唤醒帧的数量。
III. 实证研究
在本节中,我们进行实证研究以表明:
- 4‐位在基于 LPL 的 MAC 中会高估链路质量。
- 4 位的非实时链路估计可能会严重降低网络性能。
- 利用实时 RSSI 来统计唤醒帧是可行的。
- 通过 RSSI 特征区分 ZigBee 与其他 2.4GHz 技术是可行的。
- 在异步占空比循环无线传感器网络中实现精确且实时的链路估计是可行的。
A. 4 位链路估计的不准确性
我们进行了一项实验,以展示 4 位对链路质量的高估情况。我们使用 3 对 TelosB[19] 节点,其链路质量各不相同。在不同的 MAC 层协议下,每个节点每隔 10 毫秒广播 200 个数据包,并计算 4 位的分组投递率(PDR)。图 3 显示,与常开 CSMA 相比,采用 X‐MAC[15](TinyOS 中广泛使用的基于 LPL 的 MAC 协议)时,所有链路的 PDR 均被高估。在实验中,当节点检测到繁忙信道时会保持唤醒状态 20 毫秒。包长度为 43 字节。每个帧包的传输时间约为 1.4 毫秒。因此,接收器可能会听到同一数据包的 10 多个副本。结果表明,当链路质量非常差时,未使用 X‐MAC 的 PDR 低至低于 0.3,而在 X‐MAC 中 PDR 可接近 1。由于链路质量的这种高估,节点倾向于对上层网络协议做出错误决策。
B. 非实时链路估计
除了链路估计的准确性不足之外,4 位还无法及时获取所有链路的实时状态。我们在一个受控的动态场景中进行实验以证明这一点由 4 位非实时链路估计引起的性能下降。如图 4 所示,节点 S 周期性地生成数据包,并通过多跳中继将它们转发到汇聚节点。图中的阴影区域表示可能突然受到可控干扰(另一个共存的无线网络)影响而导致链路动态变化的网络区域。在本实验中,节点 S 总共生成 3000 个数据包,包间间隔设置为 10 秒。路由路径由 CTP(集合树协议)[1] 确定。
在 CTP 中,主动广播信标周期由滴流定时器[20] 调节。根据 TinyOS 的默认设置,最大信标周期为八分钟。在进行图 5 所示实验之前,使用相同的网络配置且未受到可控干扰的情况下,我们对节点 S 与其候选下一跳中继(如 A、B、C 和 D)之间的链路质量进行了长期连续测量。结果表明,在干扰源未工作时,A 是 S 的最佳下一跳中继,而 B 比 D 更适合做下一跳中继。在干扰出现前,S 与汇聚节点之间的初始路由路径为 S→A→J→M→汇聚节点。
在 200th 数据包与 900th 数据包之间的实验期间(约 110 分钟),可控干扰与实验网络共存,导致突发区域出现链路动态(如图 4 中所示的阴影区域)。从 D 到汇聚节点的路径位于受干扰区域之外。每个节点记录每个数据包的重传次数、链路质量的变化以及下一跳中继节点的选择。若干候选路由链路(S→A、S→B 和 S→D)的链路质量变化如图 5 所示,其中 LQI(链路质量指示)是 ETX 的反向指标。
如图 5 所示,在 200th 和 900th 数据包之间的时间段内,由于连续的确认丢失导致链路 S→A 质量下降,B 被选为新的下一跳中继。然而,链路 S→B 也受到相同的干扰影响。由于主动广播信标的周期较长,4 位无法感知原始非路由链路 S→B 的临时性质量下降。S 不得不反复重传通过无用链路直到 4 位通知出现足够的确认丢失,然后 S 进一步将其下一跳中继更改为 D。由于链路 S→D 未受到干扰,数据包可以成功转发出去。当干扰结束时,与 S→A 相比,S→D 不再是最优路由链路。然而 CTP 无法立即知晓这一变化,因为 4 位需要很长时间来更新 S→A 的链路质量(约 350 分钟)。
实验结果表明,4 位无法为非路由链路提供及时的链路估计。非实时链路估计进一步误导了路由选择,从而降低了能量效率和网络可靠性。
C. 损坏的唤醒帧捕获
在低功率监听(LPL)中,链路估计的准确性依赖于对到达的唤醒帧进行精确计数。在本节中,我们开展实验以展示准确计数所有到达唤醒帧的可行性。其基本思路是:无论到达的唤醒帧是否能够成功解码,都可以实时捕获接收信号强度指示(RSSI)来识别该帧。在实验中,发送方和接收器工作在基于 LPL 的异步占空比模式下,睡眠周期设置为 512 毫秒。发送方持续广播数据包,接收器持续采样信道 RSSI 并记录已成功解码的唤醒帧的时间戳。为了实现细粒度 RSSI 采样,我们在 TinyOS 中重新实现了 CC2420[21] 的多个接口,将采样率提高至 31.25 千赫兹,即 32μ 秒/样本[22]。
我们在时域中绘制了采样的接收信号强度指示值,如图 6 所示。五个唤醒帧连续到达接收器。在图中,这五个唤醒帧的 RSSI 序列形状没有明显差异。根据三个已解码的唤醒帧的时间戳,可以识别出另外两个丢失的唤醒帧。因此,通过 RSSI 序列和已解码的唤醒帧的时间戳,能够准确统计丢失的唤醒帧数量。这是在无线电模块开启时准确计数所有到达帧数量的关键观察结果。
然而,Wi‐Fi、蓝牙和微波炉(MWO)等多种技术与 ZigBee 共享相同的免许可的 2.4GHz ISM 频段[23]。非 ZigBee 传输能否使用普通传感器有效且高效地进行过滤表 I 常见 2.4GHz 技术特性节点以避免唤醒帧检测错误?在下一节中,我们将仔细研究 ZigBee 的 RSSI 序列的短期模式。我们还将研究 2.4 吉赫兹频段中一些其他常见的无线技术,这些技术通常在干扰分类[24] 和共存[25] 的研究中被考虑。
D. ZigBee RSSI 序列的特征
在本节中,我们介绍可用于区分 ZigBee 与其他共存干扰的特征。我们采用 ZiSense[22] 中的短期 RSSI 序列特征。第一个特征是空中时间,表示单个唤醒帧的传输周期。由于不同技术的数据速率和最大帧大小不同,其空中时间通常也不同。CC2420 射频模块的正常 ZigBee 唤醒帧的空中时间介于 [576, 4256]μs 之间。底层 IEEE 标准 802.11[26] 规定的有效包长度和数据速率限制了 Wi‐Fi 数据包的空中时间在 [192,542]μs 内。蓝牙[27] 采用跳频技术,标准跳频速率为 1600 跳/秒,即每个信道的驻留时间为 625μs。该标准还规定在一个信道内的传输时间为 366μs。如表 I 所示,与 ZigBee 不同,Wi‐Fi 和蓝牙的空中时间较短,而微波炉的空中时间较长。
第二个特征是峰均功率比(PAPR)。PAPR 是衡量信号功率波动的常用指标。不同的调制技术导致不同的 PAPR。如先前的研究所示[28], 802,11g/n 具有较大的 PAPR(≥1.9)。这是由于 Wi‐Fi[26] 采用的正交频分复用(OFDM)[28],,即多子载波调制技术所致。在 OFDM 中,每个子载波都具有一定的信号强度变化。接收到的信号是所有正交子载波上信号的叠加,因此其总和的变化将大于单个载波的变化。如表 I 所示,MWO 也具有较大的 PAPR。ZigBee 采用直接序列扩频(DSSS),因此其 PAPR 相对稳定。我们分析了一个包含 300 个节点的无线传感器网络三个月的日志[17]。网络日志记录了每个节点成功解码的唤醒帧的接收信号强度指示值。利用每个邻居记录的接收信号强度指示样本,我们在图 7 中绘制了标准差。68% 链路的接收信号强度指示值的标准方差小于 1 dBm,83.5% 链路的接收信号强度指示标准方差小于 1.5 dBm。
从对空中时间和 PAPR 特征的分析中,我们观察到这两个特征可以利用短期接收信号强度信息[22] 来识别 ZigBee 传输。
E. 准确且实时的链路估计
为了在异步且循环占空比的无线传感器网络中实现精确且实时的链路估计,需要获取所有到达的唤醒帧的以下信息:1)发射器是谁;2)在节点的活动状态期间到达了多少帧;3)节点成功解码了多少帧。
通过利用连续的 RSSI 序列并使用短期 RSSI 序列来识别 ZigBee 传输,meter 能够准确统计到达的 ZigBee 帧数量。此外,meter 可以利用侦听来获知已解码的帧数量。最后,借助包括已解码帧的地址、发送方的通信调度、相邻片段之间的间隔以及单个信号片段的平均信号强度在内的信息,meter 识别出发射器。因此,实现精确且实时的链路估计是可行的。在下一节中,我们将详细介绍 meter 的设计。
IV. DESIGN OF 计量器
在本节中,我们首先在第四节‐A 中介绍 meter 的概述,然后介绍利用连续 RSSI 采样和 ZigBee 信号特征来统计到达帧数量的机制。此外,我们在第四节‐F 中确定对应的发射器。最后,我们在第四节‐G 中将 meter 集成到最先进的链路估计方案中。
A. 设计概述
计量器的概述如图 8 所示。S 正在向 R 发送唤醒帧。A、B、C 和 D 是 S 的邻居节点。在帧传输期间,A、D、C 和 R 依次醒来。直到 R 成功接收到帧为止,除 B 外,所有其他邻居节点都有机会侦听这些帧。首先,根据多个短期高 RSSI 子序列的特征,计量器推断出分别有 3、3、3 和 2 个帧到达 A、D、C 和 R。此外,A、D、C 和 R 成功解码的帧数分别为 2、0、1 和 1。另外,通过不同的跨层特征匹配,A、D、C 和 R 推断出所侦听到的帧的源节点为 S。因此,链路 S→A、S→D、S→C 和 S→R 的瞬时 PDR 分别为 0.67、0、0.33 和 0.5。通过这种方式,除 B 外,所有其他邻居节点均可利用侦听实时准确地估计并更新从 S 到它们的链路质量。
B. 信道 RSSI 的利用
在本节中,我们解释了在循环占空比无线传感器网络中,节点唤醒持续时间内连续采样信道 RSSI 的机制。
通常,射频芯片(如 CC2420[21],)内置有 RSSI 模块,用于记录瞬时接收信号强度,该强度可从指定的 8 位寄存器(下文称为 RSSI 寄存器)中读取。接收信号强度指示值通常在 8 个符号周期(128 μs)内取平均。一旦射频芯片启用时间达到至少 8 个符号周期,接收信号强度指示值即为有效,并会被记录到 RSSI 寄存器中。
为了不错过任何到达的帧,meter 通过读取 RSSI 寄存器中记录的值来持续采样信道信号强度。如图 9(c) 所示,通过对时域中的信道信号强度进行离散化得到接收信号强度指示值,接收信号强度指示值可分为三种类型:低 RSSI 级别为噪声基底,高 RSSI 值表示帧传输的信号强度,而 No RSSI value 表示 SPI 资源被其他操作占用,导致 meter 无法在该时刻访问 RSSI 寄存器。
要访问 RSSI 寄存器,meter 应首先请求 SPI 资源。根据仲裁机制,如果 SPI 资源当前空闲或已被其他操作释放,SPI 将被授予给 meter。考虑到频繁访问 RSSI 寄存器的情况,在中间件中,资源请求和释放的时间开销不可忽略。为了减少每次访问 RSSI 寄存器的时间开销,meter 在占用 SPI 资源后,不会主动释放该资源,直到触发 SPI 请求事件。我们重新实现了 SPI 模块,以向 meter 通知 SPI 请求事件和 SPI 释放事件。如果某个操作请求 SPI 资源且信道空闲,meter 将立即释放该资源;而如果信道繁忙,meter 将继续采样信道 RSSI,并不释放 SPI 资源,直到采样的 RSSI 表明信道空闲为止。这种调度策略是合理的,因为 2.4GHz 技术的空中时间较短。除了轻微延迟外,meter 将不再影响等待操作。在释放 SPI 资源后,一旦从其他操作接收到 SPI 释放事件,meter 将立即再次请求 SPI 资源。
通过占用 SPI,meter 以固定的采样间隔(Tsi)持续读取 RSSI 寄存器。然而,TinyOS 提供的用于读取接收信号强度指示值的接口耗时较长且时间变化不可预测。为了在如此短的时间内获得足够的样本,我们重新实现了 TinyOS 中 CC2420 的多个接口,提高了 SPI 速度,并简化了接口以快速从寄存器获取接收信号强度指示读数。采样频率提升至 31.25KHz。尽管采样率可达 31.25 千赫兹,即每 32μ 秒一个样本,但由于接收信号强度指示值始终在 128μ 秒周期内进行平均,我们将 Tsi 设置为 128μ 秒。
另一方面,meter 释放 SPI 会立即触发 SPI 资源分配给其他 SPI 请求者。因此,meter 不主动释放 SPI 的机制对其他操作几乎没有负面影响。需要注意的是,31.25 千赫兹是访问 RSSI 寄存器的频率,而不是 RSSI 生成器的采样率。我们的实现并未改变硬件的接收信号强度指示采样,只是提高了寄存器的访问速率,因此不会带来过多额外的能耗。
在占空比工作模式下,一旦节点开启其无线电模块,就会进入空闲监听状态。在此状态下,节点通过 EnergyIndicator 组件持续读取 CCA 引脚的状态。一旦检测到无线信道繁忙(当信道信号强度高于预定义阈值时),节点即认为有 ZigBee 帧即将到达,并延长唤醒时间以提高解码潜在帧的概率。随后,meter 被触发,通过访问相应的 RSSI 寄存器周期性地读取接收信号强度指示值。在接下来的章节中,我们从获取的接收信号强度指示值序列中提取潜在的 ZigBee 帧。
C. 捕获信号的形式化
1) 分段
为了检测可能的帧传输是否存在,计量器设置一个采样窗口 W 以覆盖唤醒持续时间。W 可表示为:W = {R1, R2, ···, Rn},其中 Ri 表示 i-th 接收信号强度指示值。对应于 Ri,对该接收信号强度指示值进行采样的时间戳标记为 Ti。Ti 是从节点唤醒时刻开始的累计时间。因此,T1 为 0。如前所述,采样间隔 Tsi 设置为 128μ 秒。计量器通过计算 Ti 得出
$$
T_i = T_1 + (i - 1) \times T_{si}
$$
采样的 RSSI 序列包含 n 个样本,将被输入到 segmentation 组件中进行进一步处理。
分段旨在从 RSSI 序列中提取有用信息。因此,分段组件输出多个片段,每个片段由连续的 RSSI 样本组成。由于有效信号通常会导致与噪声基底出现明显的差值,meter 使用单一阈值 Thd 来检测每个片段的起始点和结束点。当 RSSI 与噪声基底(记为 Noise)之间的差值大于 Thd 时,meter 判定一个片段开始。类似地,当该差值降至 Thd 以下时,meter 判定该片段结束。根据 ZiSense 的设置,将[22], 设为 3dBm 可有效区分 Zigbee 帧信号与噪声基底。随后,片段的起始位置集合(S)和结束位置集合(E)为:
$$
S = {i | R_{i-1} - \text{Noise} < T_{hd}, R_i - \text{Noise} \geq T_{hd}} \quad (1)
$$
$$
E = {j | R_{j-1} - \text{Noise} \geq T_{hd}, R_j - \text{Noise} < T_{hd}} \quad (2)
$$
我们将 S 和 E 按照采样时间升序排序,并分别放入数组 IS 和数组 IE 中。然后,第 k-th 段(Segk)可以表示为
$$
Seg_k = {R_{IS(k)}, R_{IS(k)+1}, \cdots, R_{IE(k)}}
$$
从视觉上看,在对采样的 RSSI 序列进行分段后,meter 可将活跃期离散化为多个信号传输阶段(高电平)和纯噪声阶段(低电平),如图 9(d) 所示。阶跃脉冲信号的上升沿表示一个段的开始,下降沿对应一个段的结束。然后,
$$
T_{on_air}(k) = T_{IE(k)} - T_{IS(k)} = (IE(k) - IS(k)) \times T_{si} \quad (3)
$$
$$
T_{ifi}(k) = T_{IS(k)} - T_{IE(k-1)} = (IS(k) - IE(k-1)) \times T_{si} \quad (4)
$$
Tifi(k) 表示 Segk 和 Segk−1 之间的时间间隔。Ton_air(k) 是 Segk 的空中时间。Meter 将每个段的空中时间和帧间间隔分别记录在数组 Ion_air 和 Iifi 中。此外,可以计算 Segk 的峰均功率比。
$$
PAPR(k) = \frac{\max{R_i^2 | IS(k) \leq i \leq IE(k)}}{\overline{Seg_k^2}}, \quad (5)
$$
其中 $\overline{Seg_k^2}$ 表示段 Segk 中元素的平方值的平均值。此外,SEG Segk 的平均 RSSI 可通过以下方式计算
$$
Avg_k = \frac{\sum_{i=IS(k)}^{IE(k)} R_i}{IE(k) - IS(k) + 1} \quad (6)
$$
2) 无接收信号强度指示采样和确认段的处理
请注意,一旦计量器释放 SPI 资源,它就无法访问 RSSI 寄存器。SPI 抢占可能导致如图 9(c) 所示的无接收信号强度指示采样。因此,在某些预设采样时间,计量器可能会遗漏信道 RSSI 值。为了增强分段组件,我们将无接收信号强度指示采样的默认值设置为噪声基底的值,并且该无接收信号强度指示采样的值可根据满足以下规则进行适当重新调整。
规则 :Ri 是一个无接收信号强度指示样本。如果 Ri+1 属于 Segk,且空中传输时间 Ton_air(k) 小于 ZigBee 传输的最短时间,计量器将 Ri 设置为 Avgk。
因为 meter 会持续采样信道 RSSI 直到信道空闲,所以无 RSSI 样本永远不会跟在高电平样本之后。
在占空比传感器网络中,如图 8 所示,发送方以间隔(Tifi)传输相邻帧,以便接收可能到来的确认。一旦指定接收器成功解码发送方的帧,它将回复一个确认。帧与确认之间的间隔(Tack)由系统设计者设定。Tifi 应至少长于 Tack。在默认的 TinyOS 系统中,Tack 介于 192μ 秒到 512μ 秒之间[21](硬件确认)。对于集成 CC2420 的平台,确认的空中时间为 352μ 秒[29]。由于在某些射频芯片(如 CC2420)中,确认发送方标识(ID)并未包含在确认有效载荷中,meter 通过从 IS 和 IE 数组中移除这些片段来忽略确认片段。对于其他空中时间小于最小 ZigBee 帧传输时间(Tmin)的片段,meter 也从这两个数组中将其移除。在 CC2420 中,最小数据包的空中时间为 576μ 秒。为了增强鲁棒性,Tmin 被设置为 512μ 秒(4 个样本)。
在移除非 ZigBee 帧段后,meter 将在下一节中使用接收信号强度指示特征来识别 ZigBee 帧。
D. 帧识别
除了之前提到的 RSSI 特征(空中时间和峰均功率比)之外,循环占空比无线传感器网络中帧传输的另外两个显著特征也可用于识别 ZigBee 帧。
1) 相同的空中时间 :重复传输的帧携带相同的有效载荷,因此每帧的空中时间(Ton_air)是相同的。
2) 固定的帧间间隔 :对于占空比工作模式,帧间间隔(Tifi)是固定的。记系统默认帧间间隔为 $T_{valid}^{ifi}$。
通过利用第三节‐D 中提到的两个新特性和两种 RSSI 特征,meter 可以识别到达的 ZigBee 帧。此外,如果所有到达的帧均未成功解码,meter 将使用采样的 RSSI 特征来确定相应的发射器。需要注意的是,ZiSense[22] 首次提出了利用 RSSI 特征进行 ZigBee 传输识别的方法。ZiSense 使用采样的 RSSI 序列来检测 ZigBee 传输的存在,并相应地唤醒节点。本文中,我们采用 ZiSense 的技术来识别 ZigBee 帧。关于 ZigBee 识别的详细信息见[22]。
E. 到达和解码帧的数量
1) 到达帧
通过识别潜在的 ZigBee 帧,计量器可以在其唤醒持续时间内统计到达帧数(Nframe)。一个帧对应一个具有特定起始和结束位置的有效段。通过去除非 ZigBee 段和无效段从 IS 和 IE 来看,IS 或 IE 的大小均为到达帧数。因此,
$$
N_{frame} = ||IS|| = ||IE||
$$
到达帧数的准确性在第 V‐B.1 节中进行了评估。
2) 解码帧
与到达帧数不同,成功解码帧的数量易于获取。一旦射频芯片解码一个帧(数据包或确认),就会触发一个数据包接收事件以通知计量器。计量器记录这些接收到的帧及其相应的接收时间,如图 9(b) 所示。从接收到的帧中,计量器可以提取三类信息:(1)解码帧数(Ndecoded);(2)发射器;以及(3)每个已解码帧对应的段。请注意,已解码的帧可进一步增强 ZigBee 识别。
F. 发送者确定
通过识别 ZigBee 传输,计量器可以知道到达帧的数量。然而,对于每个帧,无法直接从 RSSI 特征中获得相应的发射器,因为该帧可能未被正确解码。
1) 有用的因素
有多个因素可用于确定发射器。首先,已解码的帧携带了发射器 ID。一旦成功解码一个帧,计量器便知道该发射器。其次,在占空比工作模式下,$T_{valid}^{ifi}$ 几乎固定。通过检查实际的帧间间隔 Tifi 是否接近系统参数 $T_{valid}^{ifi}$,计量器能更有把握地判断相关帧是否由同一发送方发送。需要注意的是,拥塞退避时间通常设置为大于 $T_{valid}^{ifi}$,因此另一个发送方恰好在 $T_{valid}^{ifi}$ 间隔后发送帧的概率非常小。如果满足公式 7 的约束条件,计量器就推断 Segk 和 Segk+1 是由同一发送方发送的。δ 是
$T_{valid}^{ifi}$ 间隔后发送帧的概率非常小。如果满足公式 7 的约束条件,计量器就推断 Segk 和 Segk+1 是由同一发送方发送的。δ 是段聚类的参数。
$$
|T_{ifi}(k) - T_{valid}^{ifi}| \leq \delta. \quad (7)
$$
第三,同一发送方发送的帧的平均 RSSI 相对稳定,这一点已在第三节‐D 中展示的 300 节点无线传感器网络(WSN)的实际部署中得到验证,并将在下一小节中进一步讨论。如果所有到达帧均未被解码,则通过使用平均 RSSI,meter 可在下一节中进一步推断出发送方。
2) 平均 RSSI
分段后,计量器可以确定 n 个连续段是同一发送者发送的帧。将段向量表示为:SEG = {Segi, Segi+1, ···, Segi+n}。然而,如果所有到达帧均未成功解码,计量器首先使用平均 RSSI 来确定发射器。这些片段的平均 RSSI(Ravg)通过以下方式计算得出
$$
R_{avg} = \frac{\sum_{k=i}^{i+n} Avg_k}{n+1}.
$$
通过将 Ravg 与来自邻居 (A) 到自身的每条链路的记录 RSSI(R)值进行比较,如果
$$
|R_{avg} - R(A)| \leq R_\delta, \quad (8)
$$
meter 假定 A 是这些帧的合理候选发射器。Rδ 是有效的 RSSI 偏移值。根据第三节‐D 中给出的评估结果,我们将 Rδ 设为 1dBm。如果仅存在一个候选者,meter 即认定该候选者为发射器。此判定机制的准确性在第五节‐V‐B.3 中给出。然而,若存在多个匹配的候选者或无匹配候选者,meter 将记录到达帧的数量以及对应这些候选发送者(或无候选者)的到达时间戳,并推迟判定。
3) 延迟确定
在基于低功率监听的无线传感器网络中,尽管网络节点的时钟未同步,但时钟速度稳定且几乎相同。利用这一特性,计量器将充分确定哪个邻居节点是未确定帧的发射器。
每个节点维护一个 10 字节的位图,以明确指示其在过去是否传输过数据包。在 meter 中,1 个比特可覆盖 10 个工作周期。例如,如果节点的唤醒间隔设置为 512 毫秒,并且在过去的 5 秒内发生了传输事件,则对应的比特应设为 1,否则为 0。因此,一个 10 字节位图可以记录 400 秒内的传输事件。该位图将通过附加到数据包或信标包的空闲空间中与邻居节点共享。每次共享不一定需要附带完整的位图。需要注意的是,占空比工作的无线传感器网络(WSN)的数据流量较低。使用 1 个比特覆盖 10 个工作周期是合理的。
一旦接收到来自邻居(A)的位图,该邻居是记录的候选发射器,meter 会使用记录的时间戳和位图来确定在覆盖该时间戳的某个时间段内,A 是否发送了数据包或信标。如果已发送,则该候选发射器有效,否则无效。最终,如果 meter 能够确定仅有一个候选发射器有效,则认为该候选者即为发射器,并将这些信息(发射器、到达帧数、解码帧数)传递给上层估计组件;否则,忽略这些记录。延迟确定的准确性在第五节‐V‐B.3 中给出。
4) 确定策略
详细确定过程在算法 1 中给出。计量器首先利用已解码的帧来准确识别发射器。如果没有任何帧被解码,计量器则使用平均 RSSI Rav g 推断候选发送者。如果只有一个候选者,计量器就认为该候选者是发射器。否则,计量器推迟确定。
算法 1 确定过程
输入:由同一段传输的段向量 SEG
输出:判定结果。
如果 Existing decoded frame 那么
提取发射器 ID;
return 发射器
else
根据公式 8;
if Only one match then
return 匹配的邻居;
else if Multiple matches OR No match then
return 延迟确定
G. 与链路估计器的集成
计量器可以轻松集成到最先进的 4 位链路估计器[11]中。作为基本的链路监控组件,计量器为精确链路估计提供了必要的信息。对于每条邻接链路,该信息包括到达帧数、成功解码的帧以及相应的邻居节点(发射器)。Meter 位于 MAC 层之下,用于监控每一帧。它与低功率监听(LPL)[15] 媒体访问机制兼容。此外,meter 维护一个 10 字节位图,并与邻居节点共享该位图。
本质上,计量器和 4 位都是基于分组接收率(PRR)进行链路质量估计。在原始 4 位中,每次传输/重传按升序或降序分配一个唯一的数据序列号(DSN),但相同的数 据帧共享相同的 DSN。4 位为每个邻居维护一个传输状态窗口,用于记录每次传输的状态。假设窗口大小为 N。如果对应传输的至少一个(无论实际数量多少)数据帧被接收,则窗口元素的状态为 1,否则为 0。经过 N 次传输后,如果有 M 个元素的状态为 1,4 位计算最新的链路质量为 M/N。
通过将 meter 与 4 位集成,计量器实时监控每条链路。计量器不再记录每次传输的状态,而是统计实际到达的数据帧数量(NA)和成功解码的数据帧数量(ND),并将这两个值提交给 4 位。经过 K 次提交后,$\sum_{i=1}^{K} N_A^i \geq N$,4 位通过
$$
\frac{\sum_{i=1}^{K} N_D^i}{\sum_{i=1}^{K} N_A^i}
$$
计算最新的链路质量。请注意,窗口大小可由采用 meter 监控每条链路的链路估计器的估计组件进行调整。窗口大小的设置和链路质量的计算可以在准确性与时效性之间进行权衡。这部分内容留待未来工作研究。
五、评估
在本节中,我们从不同角度进行实验以评估 meter 的性能,分别在第五节‐B 和第五节‐C 中评估 meter 的准确性和时效性。我们还在第五节‐D 中通过将 meter 与最先进的链路估计器集成,测试了单跳和端到端传输开销。最后,在第五节‐D.3 中,我们评估了 meter 对收集树协议(CTP)[1] 网络可靠性的影响。
A. 评估设置
我们在基于 TelosB 平台的 TinyOS‐2.1 上实现了 meter,该平台配备符合 802.15.4 标准的 1[30][19] CC2420 无线芯片[21]。Meter 被集成到 4 位中,以提供每条链路的准确和及时估计。它位于默认的低功耗监听协议(X‐MAC[15])之下。基于低功率监听,CTP 利用估计的链路质量选择最优路由来传输数据包。首先,我们在表 II 中给出了 meter 所使用的系统参数汇总。
在我们的实验中,每个节点以固定的包间间隔(IPI)生成一个数据包,并周期性地唤醒。若无特别说明,IPI 设置为 1 分钟,唤醒间隔为 512 毫秒。数据包有效载荷大小从 [60,100] 字节中随机选择。在 MAC 层,我们对拥塞/初始退避时间(Tbackoff)和帧间间隔(Tvalid ifi)的参数值进行限制。
$$
T_{backoff} > T_{valid}^{ifi}. \quad (9)
$$
在所有涉及 4 位的实验中,我们使用 4 位的默认窗口大小。每次实验至少持续 30 分钟,并重复至少三次。
B. 计量器的准确性
在本节中,我们进行实验以评估由 meter 估计的链路质量的准确性。meter 的准确性涉及多个方面,包括到达帧数、对应发射器的确定,以及将多个连续帧聚类为对应同一发射器的段向量的有效性。
1) 到达帧数
统计到达帧数是计量器的一项重要功能。在此,我们通过实验评估在包含 22 个 Telosb 节点的室内测试平台中计数的准确性。我们将每个节点的无线电模块工作模式设置为常开状态。在此网络中,没有数据包传输。每个节点周期性地广播路由信标以维护网络拓扑。在每一次路由信标周期中,相同的信标帧会重复发送 50 次。为了清楚地区分每一帧,我们在 50 个帧中按升序插入序列号。然后,作为发射器的邻居节点,通过使用成功解码的信标帧,能够准确知晓丢失了多少帧(以及具体是哪些帧)。
本实验中,每个节点发送 100 个路由信标,并分配两个数组分别记录侦听到的帧的序列号及其对应的时间戳。这两个数组的大小分别为数组被设置为 50。此外,每个节点还维护两个数组,用于记录每个已识别 ZigBee 帧的开始时间和结束时间。
一旦检测到信标传输完成(我们将所有由 meter 检测到的帧标记为第四节‐C.1 中介绍的段向量),作为邻居节点,它使用上述四个数组来确定所识别的 ZigBee 帧是否确实是路由信标的唤醒帧。根据时间约束,我们可以清楚地检测出 meter 的假阴性和假阳性情况。例如,在两个连续接收且带有序列号 n 和 m(其中 m 大于 n)的帧之间的间隔内,meter 检测到了 k 个 ZigBee 帧。如果 k = m − n,我们认为 meter 准确检测到了每一个帧。如果 k < m − n,我们认为 meter 漏检了 m − n − k 个帧,这称为假阴性(FN)。否则,我们认为 meter 错误地多检测了 k − (m − n) 个帧,这称为假阳性(FP)。总体而言,共有 484 条单向链路,总计 48400 个计算结果。我们分别计算了准确检测部分的概率、假阴性率(FNR)以及假阳性率(FPR)。这些结果列于表 III 中。如表所示,97.3% 的唤醒帧能够被 meter 成功识别。假阴性和假阳性分别仅占 0.8% 和 1.9%。假阴性可能由 SPI 资源丢失引起,而假阳性则可能由外部干扰造成。
此外,我们提取包含 FN 或 FP 的段向量。对于特定的段向量,我们通过将 FN/FP 总数除以 50 来计算 FNR 和 FPR。我们在图 10 中绘制了这些比率的累积分布函数(CDF)。如图所示,即使在这些段向量中,超过 92.5% 的段向量的 FN 少于 3 个(占 6%),89.4% 的段向量的 FP 少于 4 个(占 8%)。实验结果表明,meter 的帧识别能够准确检测和识别 ZigBee 帧。
2) 帧聚类
如上所述,一个段向量包含连续接收的由一个发送方传输的帧。因此,meter 是否能够准确地将连续的帧聚类为由不同发送方传输的若干个段向量,对 meter 的操作复杂度有重大影响,这可能会影响链路估计的准确性。
为了展示将多个连续帧聚类为对应同一发送方的段向量的有效性,我们构建了一个单跳网络,其中 10 个节点周期性地广播路由信标。这些节点工作在休眠调度模式下,路由信标周期设置为 5 秒。重复传输的帧也附带帧序列号。此外,我们使用一个额外的节点(标记为 meternode)通过 meter 来识别 ZigBee 帧,该节点始终保持其无线电模块开启。这 10 个节点将独占无线信道,一旦某个节点完成信标传输,另一个节点将立即占用信道继续广播。退避时间和帧间间隔满足公式 9 的限制条件。为了表明新的信标传输开始,每个节点会通过将帧间间隔设置为远小于 $T_{valid}^{ifi}$ 的值,连续发送前三个帧。从逻辑上讲,meternode 将在一系列短信号中检测到一个具有极小时间间隔的长信号。在本实验中,我们将最后一个短信号与长信号之间的时间间隔标记为 Tipi_beacon。我们根据公式 7 的限制对片段进行聚类。需要注意的是,外部干扰可能导致将同一发送方连续发送的帧聚类为多个分段向量。然而,发射器判定过程仍能确定发送方的身份。
在本实验中,我们仅关心长信号是否被识别为新段向量的起始。通过统计长信号的数量(Nlong)以及被识别为新段向量起始的长信号数量(Nlong_segment),我们使用 $N_{long_segment}/N_{long}$ 计算识别率。该实验在四种场景下进行:使用 26 信道且不与 Wi‐Fi 频谱重叠的室内测试平台(IC26)、使用 19 信道并受到 Wi‐Fi 干扰的室内测试平台(IC19)、使用 26 信道的室外测试平台(OC26),以及使用 19 信道的室外测试平台(OC19)。我们在表 IV 中列出了不同场景下的识别率。不同实验场景中的识别率差异并不显著。由于 $T_{backoff}$ 和 $T_{valid}^{ifi}$ 的限制,识别率可高达 99.5% 以上。例外情况可能由 SPI 丢失以及第四节‐C.2 中提出的处理策略引起。因此我们可以得出结论:meter 能够有效聚类帧,并准确区分不同的路由信标和数据包。
3) 发射器的确定
通过准确计数到达帧,计量器的另一个重要功能是确定相应的发射器。为了评估 meter 在发射器判定上的准确性,本节我们在室内测试平台和室外试验场使用 22 个 Telosb 节点进行实验。我们使用一个中心节点通过以最高功率等级(CC2420 中的 31 级)周期性地广播其本地时间来同步所有网络节点。其他节点的功率等级在室内测试平台设置为 2,在室外测试平台设置为 5,以形成一个多跳网络。根据网络同步,每个节点在指定周期内轮流传输数据包。一个周期持续 10 秒。例如,当 k%22 = i 时,节点 i 将在 kth 周期内传输其数据包和路由信标。在我们的实验中,节点 0 是汇聚节点。如果当前周期已分配给特定节点,则节点不会进一步转发接收到的数据包。但在 kth 周期,如果 k%22 = 0,所有网络节点将通过多跳传输将记录的信息转发至汇聚节点。
对于每次实验,通过识别 ZigBee 帧和聚类帧,meter 确定每个段向量对应的发射器。Meter 使用解码帧(DF)、平均 RSSI(AR)和延迟判定(DD)来确定发射器。对于每个段向量,可以根据同步机制和分配的传输周期准确推断出发射器。然后,我们就能知道 meter 的发射器判定是否正确。
我们在图 11 中绘制了用于发射器确定的各类信息所占的比例。如图所示,无论是在室内还是室外测试平台,超过 60% 的分段向量的发射器都可以通过已解码的帧直接确定。对于其余的向量,meter 使用平均 RSSI 和延迟确定来推断发射器。在室内场景中,由于路由链路和非路由链路的区分度较低,平均 RSSI 仅能推断出这些未包含已解码帧的分段向量中的一小部分(约三分之一),其余三分之二的分段向量则利用延迟确定来获取发射器。在室外测试平台中,meter 充分利用了路由链路与非路由链路的空间多样性来推断发射器。此外,我们计算了使用 AR 和 DD 确定发射器的准确性,并将其列于表 V 中。根据公式 8 的限制以及仅允许一个候选者满足条件的要求,AR 的准确性可达 95.5%。延迟确定也可以确定具有高准确性的发射器。但请注意,由于缺乏确定性结果,大约五分之一的延迟确定被忽略。
在本节中,实验结果充分证明了 meter 的准确性。在下一节中,我们将继续展示 meter 的时效性。
C. 计量器的时效性
为了说明计量器的时效性,我们还在室内外测试平台进行了实验。对于每种场景,我们采用以下网络协议配置:(1)CTP、低功率监听和 4 位;(2)CTP、低功率监听和 4 位集成计量器。统一设置网络的工作信道为 19,CC2420 的传输功率设为 5 级,每个节点每 2 分钟生成一个数据包。
4 位在估计窗口 w 中维护每个链路的质量更新。在 4 位中,w 的大小为 5。我们不会通过与 meter 集成来更改窗口大小,但窗口单位从数据/信标包更改为唤醒帧。每个节点记录每条链路(路由链路或非路由链路)上两次连续链路质量更新之间的时间间隔,并将这些时间间隔转发到汇聚节点。我们在图 12 中绘制了这些时间间隔的累积分布函数(CDF)。如图所示,通过将 meter 集成到 4 位中,链路质量的更新速率显著提高。在本实验中将 IPI 设置为 2 分钟时,几乎所有的链路(97.9%)都能在 200 秒内完成更新,因为 meter 能够准确统计到达帧数(无论是数据包还是路由信标)。通过监控潜在的活跃链路在其传输数据/信标帧时的情况,meter 触发链路质量的快速更新。另一方面,如果不与 meter 集成,4 位更新链路质量较慢,导致绝大多数(超过 50%)的链路在八分钟内无法更新一次。
与 4 位相比,meter 由于其固有优势,能够保证链路质量估计的时效性:只要邻居在唤醒持续时间内传输数据/信标包,meter 就能实时统计到达帧数和丢失帧数。
如上所述,meter 能够提供精确且及时的链路估计。在下一节中,我们将继续评估 meter 对数据收集协议性能的影响。
D. 集合树协议性能
链路估计器对数据收集的性能具有根本性影响。在本节中,我们探讨使用 meter 时集合树协议(CTP)[1] 的性能表现。CTP 是 TinyOS 中的默认数据收集协议,代表了一种典型的链路层客户端。为了测试其性能,我们在包含 22 个节点的室内测试平台和包含 30 个节点的室外测试平台上进行了实验。在室内测试平台中,所有传感器节点都悬挂在垂直墙壁上。在室外测试平台中,所有传感器节点放置在铺有釉面砖的地面上。室外测试平台三面被办公楼包围,约有 18 个 Wi‐Fi 接入点对传感器网络造成干扰,因此室外测试平台的多径效应可能更为严重。室内外测试平台均受到大量 Wi‐Fi 接入点的包围,其中一些接入点的工作频率与 ZigBee 第 19 信道重叠。我们分别测试了将 meter 集成到 4 位以及不集成时 CTP 的性能。通过收集每个节点的记录信息,我们计算了分组投递率(PRR)、能耗和传输开销的分布情况。
1) 单跳传输成本与路径长度的关系
在室内和室外实验中,每个节点记录每个数据包的单跳传输次数,并将这些记录转发至汇聚节点。我们在图 13(c) 中绘制了单跳传输次数的累积分布函数(CDF)。通过将 meter 嵌入到 4 位中,无论是在室内实验(图中的室内:4 位 和室内:4 位+meter)还是室外实验(图中的室外:4 位 和室外:4 位+meter),单跳传输次数均有所减少。将 meter 集成到 4 位后,室内实验的平均单跳传输次数从 1.73 次降低到 1.32 次(减少了约 23.7%),室外测试平台则从 3.49 次降低到 1.97 次(减少了约 43.5%)。传输次数的减少使得节点可以更长时间地处于睡眠状态,从而进一步节省能耗,这将在下一小节中进行说明。此外,减少的传输次数还能进一步降低由隐藏终端引起的数据包碰撞,并减少因暴露终端导致的受抑制的传输机会。
此外,每个节点到汇聚节点的路径长度(跳数)分布在图 13(d) 中进行了绘制。如图所示,通过使用 meter 来估计链路质量,室内网络的平均路径长度减少了约 7%,室外网络的平均路径长度减少了约 18.3%。由于 meter 能够准确估计每条链路,CTP 利用最优链路构建网络路由,从而找到从每个节点到汇聚节点的最短路径。减少的单跳传输次数和路径长度进一步改善了能耗和网络可靠性所代表的网络性能,这将在以下小节中详细讨论。
2) 能耗
我们还绘制了不同场景下的能耗分布(占空比)如图 13(b) 所示。在室内实验中,CTP+4‐bit 的能耗与使用 meter 的能耗之间没有显著差异,除了降低了极高能耗出现的概率之外。然而在室外实验中,通过将 meter 集成到 4 位中,平均占空比显著地从 15.1% 降低至 9.6%。对于前者,能量效率提升较小的原因在于试验台规模较小,导致无线链路的多样性降低。因此,一旦当前路由性能严重下降,存在另一条高质量路由的概率也较小。这一点也可从图 13(c) 中绘制的单跳传输次数分布相似性得到印证。而在室外实验中,采用 meter 后,平均单跳传输次数的减少可显著节省能耗。
3) 网络可靠性
在此,我们将 CTP+4‐bit 与集成计量器的 CTP+4‐bit 的网络可靠性进行比较。通过绘制图 13(a) 中不同场景下节点的平均包接收率的累积分布函数,我们可以得出结论:在室内实验中,网络可靠性(分组接收率)平均提高了 2.3%,在室外实验中平均提高了 5.6%。
如图所示,通过与 meter 集成,节点的分组接收率(PRR)相对较高且分布范围较小。尽管不同节点位置处的信道 RSSI 差异较大(尤其是在室外测试平台),但由于 meter 的准确性和时效性,CTP 能够有效选择最优路由来转发数据包。如果当前使用的链路质量严重下降,meter 可以快速找到临时可用的链路。因此,只要存在最佳可用路由,CTP 就能够加以利用,从而降低局部干扰对网络性能的影响。
网络中继iability。(b)能耗。(c)单跳传输次数。(d)路径长度)
VI. 讨论
在本节中,我们将进一步讨论 meter 上的几个技术问题,然后说明对 meter 的可能优化。
A. 可靠性和效率
通过使用 meter,每个节点通过被动且精确地计数唤醒帧来维护与所有连接的邻居节点的链路。每个节点在打开无线电模块后持续采样信道 RSSI。然后,利用采样的 RSSI 序列,统计成功解码或通过 ZigBee 识别识别出的唤醒帧。我们的 ZigBee 识别方法基于 ZigBee 的独特特征,ZigBee 低功耗传输与其他共存干扰(例如 Wi‐Fi、蓝牙、微波炉)不同。此外,ZigBee 识别算法的时间复杂度为 O(n),其中 n 是 RSSI 采样数量,时间开销较小。另外,当正在进行的传输的采样 RSSI 序列高于噪声基底时,可保证识别准确性。因此,在占空比模式下,节点能够通过保证准确性和时效性来可靠且高效地估计每条链路的质量。
B. 适用性
类似于 4 位,meter 可应用于大规模无线传感器网络。在连通网络中,影响 meter 性能的唯一因素是节点部署密度。在非常密集的网络中,节点难以区分邻居节点的数据/信标传输的 RSSI。因此,发射器判定的概率相对较低,导致更多被忽略的帧。这种情况可能会影响 meter 的时效性。但其性能仍优于 4 位。
此外,我们的信号识别方法主要基于不同物理层技术的独特特征。通过更精细的分类器和细粒度 RSSI 样本,我们的方法还可以识别 Wi‐Fi、蓝牙或微波炉的信号。然而,大多数传感器节点(例如 TelosB、MicaZ、IRIS)采用 ZigBee(802.15.4)作为物理层技术。再考虑到有限的计算和内存资源,我们的方法旨在区分 ZigBee 与其他共存干扰,而不再进一步分类共存干扰的类别。此外,我们的 ZigBee 识别算法和参数设置是设备无关的,因此所提出的方法可以在其他传感器节点上运行。
C. 准确性与时效性的权衡
尽管 meter 能够为每条链路提供准确且及时的监控,但链路质量的计算仍由特定估计器的估计组件完成。因此,作为估计器,通过将其自身的监控组件替换为 meter 后,还需进一步考虑用于记录每个到达的唤醒帧状态的窗口大小设置,以及每条链路在准确性与时效性之间的权衡。窗口大小越大,链路估计结果越准确,但时效性可能随之下降。可能会下降。此外,由于估计窗口的输入速度显著增加,估计组件的计算方法(即移动平均)也应进行调整以适应动态无线链路。
七、相关工作
基本上,链路质量估计过程包括三个步骤:链路监控、链路测量和指标评估[6]。该指标是表示在估计窗口内链路质量的数学表达式。我们将此指标称为链路质量估计器(LQE)。LQE 的评估需要链路测量。例如,为了评估 PRR(数据包接收率)[18] 估计器,链路测量包括从每个接收到的数据包中提取序列号。链路监控定义了一种策略,通过在链路上产生流量以实现链路测量。链路监控是链路估计方案的基本组成部分。链路监控的性能对链路估计的性能具有重大影响。链路监控有三种类型[6]:(1)主动链路监控,(2)被动链路监控,和(3)混合链路监控。
在主动链路监控中,节点通过发送信标包来监控与其邻居节点的链路。信标包可以通过广播[18], 或单播[31] 方式发送。广播信标包不包含链路层确认或重传,而单播信标包则包含。信标包通常以一定的信标发送速率发送,这在能量效率(低速率)和准确性(高速率)之间形成权衡。自适应信标发送速率[1],[20] 可能为此权衡提供良好的平衡。
与主动链路监控不同,被动链路监控利用现有流量而不产生额外的通信开销。事实上,一个节点会侦听已发送的数据包,即使这些数据包并非发往该节点(侦听)[11],[12]。它还可以侦听由不同邻居节点发送的消息的确认消息[32]。由于相比主动链路监控具有更高的能量效率,被动链路监控已在无线传感器网络中被广泛使用[12],[33]–[34]。然而,被动监控会带来探测空闲链路的开销[31],因为侦听涉及显著的能量消耗。此外,当网络以低数据速率或不平衡流量运行时,被动链路监控可能导致缺乏最新的链路测量。因此,这会导致不准确的链路质量估计。
采用结合主动和被动监控的混合机制,可以在最新的链路测量和能量效率之间实现有效的平衡[31]。例如,Gnawali et al.[1] 提出了一种混合链路监控机制,用于同时进行链路质量估计和路由通告。主动链路监控包括以非固定速率广播信标。具体而言,使用 Trickle 算法[20] 自适应地调整信标发送速率。主动链路监控与被动链路监控相结合,后者包括侦听来自邻居节点(代表下一跳)收到的确认消息。
一些最近的研究指出,基于数据流量进行链路监控的链路质量估计(被动链路监控)比基于信标流量的链路监控(主动链路监控)[1],[13],[35] 要准确得多。然而,在现有研究中,被动链路监控被用于估计路由链路之间的链路质量。大多数链路通过广播信标进行测量。由于在相对稳定的网络中信标流量的发送频率较低,这些链路的质量信息通常已经过时。此外,在占空比循环和异步无线传感器网络(WSNs)中,主动和被动监控都是粗粒度的。
与现有研究不同,通过捕获信道 RSSI 并利用 Zigbee 信号特征,meter 能够精确统计已解码和损坏的唤醒帧的数量,并确定所检测到的唤醒帧的发射器。此外,meter 还统计邻居节点发送的路由信标和潜在数据包的唤醒帧。因此,meter 能够轻松实现准确且实时的链路监控。
八、结论
本文提出了一种利用 ZigBee 信号短期强度序列进行 ZigBee 识别的可行性、而不完全依赖于解码帧的 meter。首先,meter 在无线电模块开启期间获取信号强度序列;然后,meter 识别信号强度序列中 ZigBee 信号片段的数量;最后,利用已解码帧的地址、发送方的通信调度、相邻片段之间的间隔以及单个信号片段的平均信号强度等信息,meter 识别出每个信号片段的发射器地址。结合已解码的帧,meter 能够完整统计所有帧,从而准确及时地更新链路状态。我们在 TinyOS 中实现了 meter,并通过在室内外场景下的大量实验评估其性能。结果表明,meter 能够显著提升最先进的链路估计方案的性能。
基于RSSI的精准链路估计
20

被折叠的 条评论
为什么被折叠?



