自适应CCA提升WSN能效

自适应空闲信道评估(A‐CCA):提高无线传感器网络(WSNs)运行效率的节能方法

摘要

空闲信道评估(CCA)是基于载波侦听多路访问(CSMA)的介质访问控制(MAC)协议中的关键组成部分,其在传输过程中采用信道感知。该信道感知机制是一种跨层方案,其中CCA在物理层运行,应用于发送方和接收方,并影响MAC层,包括节点能耗和整体吞吐量。本文评估了基于IEEE 802.15.4标准的MAC协议在不同流量条件下的性能,提出了一种自适应CCA(A‐CCA)时序机制,通过减少节点在误唤醒和空闲监听模式下的时间来改善节点能耗。A‐CCA有助于发送方在高流量和强干扰环境中根据噪声基底以上的情况调整其无线电功率,使接收方能够监测发送方信号并相应地调整其唤醒周期。所提出的方案通过Cooja仿真器以及基于CC2420的平台进行了评估,结果表明在强干扰条件下节点寿命得到提升且误唤醒减少。所提出的方案在轻负载和重负载流量环境下分别实现了1.10%和1.18%的无线电占空比降低。研究结果表明,A‐CCA改善了网络功耗,在整体上实现了6%的功耗降低,从而提升了节点寿命。

1. 引言

无线传感器网络(WSNs)通常部署在恶劣环境中用于信息感知与中继,且常与其他网络、设备及干扰源共存。基于IEEE 802.15.4标准的无线传感器网络是运行在2.5 GHz频段的超低成本、低功耗、低数据速率网络中最常见的选择。该频段容易受到工作在相同或相近频率的共存网络、工业和家用电器的干扰[1,2]。典型的无线传感器网络板载电源有限,主要依赖高效的协议和算法来完成任务并延长其使用寿命[3]。无线传感器网络设备上的无线收发器相比其他组件(如处理器、传感器和执行器)消耗更多功率[4,5]。这凸显了高效MAC层协议的重要性,这些协议控制着无线传感器网络的无线收发器操作。

基于IEEE 802.15.4的MAC协议在发起传输前通过载波侦听来估计信道状态,该过程由物理(PHY)层的空闲信道评估(CCA)[6,7]完成。在每个CCA阶段结束时,信道状态(空闲或繁忙)被监测并上报至MAC层,由其做出决策是启动传输还是将传输推迟一个固定的时间段(通常称为退避周期)[8]。CCA检测在发送方和接收方两侧均执行,其目的不同,但都会影响节点的吞吐量和能耗。仅当信道空闲时,发送方才传输数据包,否则根据固定的退避周期推迟通信尝试[9]。另一方面,接收器保持在睡眠状态以节能,并仅周期性地唤醒以检查传入数据包。无线收发器被编程用于探测介质以进行CCA估计,这对MAC层调整传输调度和无线占空比至关重要。

当前基于IEEE 802.15.4的收发器实现仅根据介质的接收信号强度指示(RSSI)的固定阈值来判断并指示网络的当前状态(空闲或繁忙)。然而,信道状态高度与链路相关,在高流量和强干扰情况下可能会发生显著变化。相反,如果已知当前的流量模式或干扰行为,则节点更有可能调度其传输周期,从而改善能耗。例如,发送端可以在高流量和强干扰期间缩短退避周期干扰。另一方面,接收器可以通过自适应地改变其占空比和唤醒时间,通过保持在睡眠状态来节省更多能量。在窄带无线传感器网络中,收发器通常采用非相干能量方法进行CCA。能量检测(ED)技术更易于配置。它记录载波周围信号的能量的RSSI值’,然后将这些RSSI值与预定义的阈值进行比较,以识别信道状态[10,11]。然而,这使得低功率收发器(如CC2420[12])面临极其复杂的信道干扰模式。

本文是先前在(ECTI‐CON 2020 会议)上报告的关于无线唤醒估计研究工作[13]的扩展。最初针对提升唤醒估计周期以改善网络性能的研究,为进一步开展深入研究奠定了基础,本研究重点在于评估CCA对采用ContikiMAC协议的MAC层性能和节点能耗的影响。首先,针对多种流量模式和信道条件对ContikiMAC进行了详细的性能评估。所提出的自适应CCA(A‐CCA)根据流量模式动态调整CCA周期,通过缩短或延长CCA周期,减少了误唤醒以及空闲监听所浪费的时间。同时,将发射功率提高到一个固定阈值,有助于接收方更容易地检测到传入的数据包。接收方随后根据高于噪声基底的高功率信号之间的传输持续时间来调整其唤醒周期,从而进一步降低能量消耗。所提出的方案在Cooja仿真器以及基于德州仪器的MSP430平台(配备CC2420无线收发器)上进行了评估[14]。

本研究论文提供了以下贡献:
- 不同流量条件下ContikiMAC协议的性能评估
- A‐CCA:一种自适应CCA方法,通过调整CCA长度来减少误唤醒并改善节点能耗
- 基于改进的CCA间隔和RSSI阈值的接收方唤醒估计
- 所提出的方案在存在网络干扰情况下的功率评估。我们的评估结果显示,节点占空比在低流量情况下提升了(1.10%),在高流量网络中提升了(1.18%);发送信号检测的功率高于噪声基底。

本文其余部分组织如下: 第2节 详细讨论MAC协议、CCA和检测机制。 第3节 全面回顾该领域的相关工作,重点聚焦于基于CSMA的MAC协议、信道评估以及节点寿命提升。在第4节中,对接收方的无线唤醒估计进行了初步研究,探讨了其优点与局限性,并由此引出了所提出的方案设计。 第5节介绍了仿真环境、实验设置、ContikiMAC性能评估以及所提出A‐CCA方法的实现细节。在第6节中,从吞吐量和节能两个方面深入分析了这些实验的结果;最后,第7节总结了本研究论文,并提供了将A‐CCA方法应用于其他MAC协议所需的实现方向。

2. 初步讨论

基于竞争的介质访问控制(MAC)协议 broadly 分为异步和同步(调度)两类。同步(调度)MAC协议与网络中的节点共享活动与休眠周期,形成一种精确的活动调度机制,该机制要求节点之间实现精确同步以达到所需的精度。节点同时唤醒并交换同步数据包,以确定活动/休眠调度周期。S‐MAC和T‐MAC等协议采用数据包同步方案。S‐MAC协议减少了空闲监听信道周期通过定期切换到睡眠状态[15]来实现能效。

相比之下,如果在某一段时间[15,16]内未检测到活动,T‐MAC 会更频繁地切换到睡眠状态。同步模式协议最适合实时数据传输,因为整个网络汇聚并按照规定的时间表有效传递数据包,有助于保持高吞吐量和低延迟。而异步方法不与网络节点共享时间表,因此需要周期性唤醒和信道估计以进行数据传输[17]。

异步协议依赖于低功耗监听(LPL)方法,其中物理层在传输前对信道介质进行采样,以将发送方与接收方建立连接[18]。处于异步模式的接收器通过在其激活/睡眠状态中持续进行占空比循环来节能。因此,CCA必须有效探测介质并准确报告其状态,以避免可能在接收端消耗不必要能量的误唤醒。异步MAC协议可进一步分为发送方启动和接收方启动协议。典型的发送方启动异步模式MAC协议示例包括B‐MAC、X‐MAC和ContikiMAC。在这些方案中,源节点通过广播信标对信道进行脉冲探测,以通知其传输意图。广播间隔通常设置得比接收方的唤醒周期更长,从而降低同步开销。然而,持续使用广播信标对信道进行脉冲探测会在发送节点上消耗大量能量,并使信道在较长时间内处于繁忙状态。B‐MAC协议传输更长的广播前导码以通知其传输意图,这使其无线电保持开启更长时间,消耗更多能量。X‐MAC则通过更短的广播信标持续对介质进行脉冲探测,从而降低了能耗。一次成功的初始传输会将其接收方地址存储在单播帧中,这进一步改善了延迟和过度监听问题[19]。ContikiMAC采用了一种完全不同的方法,即直接对实际数据包进行脉冲探测,而不是使用广播前导码来通知其传输意图[20,21]。

在存在干扰和信道占用的大规模密集无线传感器网络部署中,接收方启动的异步MAC协议更受青睐。与发送方启动的方案不同,在RI‐MAC、RIX‐MAC和RICH‐DP MAC等协议中,发送方通过监听并响应接收方广播信标,大部分时间处于空闲监听状态[22]。这类方案最适合事件驱动和低数据速率无线传感器网络应用,能够实现较低的信道占用。然而,发送方在空闲监听状态下持续监听接收方的数据包会消耗大量功率。本研究中,更倾向于使用ContikiMAC等发送方启动的协议,因其能够适应基于IEEE 802.15.4的CCA时序要求,具有低延迟和高数据包投递率(PDR)的优点。

2.1. 能量检测和空闲信道评估

IEEE 802.15.4 提供了多种使用简单的非相干能量检测方案、载波侦听方案或两者结合进行空闲信道评估的策略。允许的最大符号检测时间为 128微秒 或 8个符号周期,在此期间物理层必须检查信道活动性,并将其结果报告给上层的 MAC层。为了在信道检测期间避免异常值,该标准要求使用连续两次CCA检测以降低误唤醒概率,并确保节点成功完成活跃/休眠周期。该标准在其他实现细节方面具有灵活性,因此在收发器和MAC层的实现中可以观察到多种CCA检测机制以及不同次数的CCA实现。CCA实现方式深刻影响着能量检测的简易性和准确性,从而直接影响整体网络性能。IEEE 802.15.4 使用32位长码片序列,每个数据包包含符号码的8次重复以生成该序列。检测这些信号的最简单方法之一是基于非相干能量检测器。如同典型的窄带无线电系统一样,大部分信号功率集中在其中心或载波频率周围。在中等到较低的噪声基底条件下,这种集中的能量可以被可靠地检测到[10]。

如CC2420收发器中所示的简单非相干能量检测模块,通过检查来自多个支路的输入能量信号,并将其与基于网络所选发射功率等级的预定义阈值进行比较。’正交接收机如公式(1)所示,包含两个支路,即I和Q,分别对这两个支路上的接收信号强度(xIi和xQi )进行求和。

$$ E= \Sigma_{i=1}^{N}(x_{Ii}^2+x_{Qi}^2) $$ (1)

其中N基于符号周期和码片采样率(根据IEEE 802.15.4,N = 8 ×32)

CC2420收发器提供能量检测和载波感知接收机。然而,许多研究人员发现,该收发器采用的能量检测技术在信噪比(SNR)较低时表现不佳,导致其与链路相关,在强干扰环境中不可靠[8,23]。由于这种不确定性以及对链路的强依赖性,不准确的CCA可能导致网络流量冲突。这些误唤醒将浪费大量网络时间和能量来应对错误警报。为此,本研究工作的目的是研究在ContikiMAC协议中实现CCA,以根据流量模式和信道活动估计的准确性,结合提高的信号发射功率,进行自适应CCA时序调整。

3. 相关工作

Kiryushin等人提出了一项关于CCA在基于IEEE 802.15.4的无线传感器网络中影响的实际性能分析。他们的研究强调了时序,这是WSN中CCA最关键的方面之一。研究人员使用基于CC2420收发器的设备评估了当传输持续时间相较于CCA采样间隔非常短,甚至处于采样间隔范围之外时,CCA信道活动检测的效果。结果表明,CCA信道探测窗口的长度会显著影响活动检测,其中时序不匹配可能导致有效流量未被检测到。

还观察到,接近阈值噪声基底的传输数据包最容易发生误检。他们深入的研究揭示,基于CC2420的能量检测器在整个0.128毫秒内比较平均接收信号强度,用于监听IEEE 802.15.4信号,同时也受到在同一频率范围内运行的其他IEEE 802.11信号的显著影响[24]。

同样,Alex King等人采用类似方法研究了干扰存在下CCA的行为。研究人员声称,在强干扰环境中,与CCA相关的性能问题体现在两个方面。首先,来自在相同频率下运行的共存网络和设备的干扰会显著降低CCA的准确性,导致误唤醒,从而降低网络性能。其次,他们将强干扰视为一种感知和检测信道中各种活动类型的机会。在他们所提出的方案中,IEEE 802.15.4信号根据其功率水平的变化进行调制,由于其固定的调制时序和功率水平,接收方可以轻松检测到该信号。该方案即使在强干扰环境下也提高了传输数据包的准确性。此外,CCA不再仅报告通常的发现(空闲或繁忙),而是报告存在IEEE 802.15.4和其他信号的不同状态。这极大地提升了接收器根据传输的数据包调整其唤醒时间的能力,并完全忽略其余的信道活动。性能评估表明,数据包检测能力显著提高,代价仅为在调制数据包过程中浪费了极少的能量[8]。

此外,达哈姆等人提出了一种增强型退避机制一种在载波侦听多路访问(CSMA)的竞争访问期(CAP)期间为节点自适应分配随机退避周期概率的算法。该算法考虑每个节点的总碰撞次数,相应地调整窗口大小,从而为碰撞率最低的节点提供更多的通信机会。所提出的方法采用了与原始IEEE 802.15.4标准中相同的CCA检测次数,但由于平均延迟[25]而导致能耗问题。在[26],中,研究人员提出了一种基于IEEE 802.15.4的无线传感器网络中的改进的CCA方案,通过减少信道感知中CCA与退避周期之间的平均延迟来降低能耗。与以往的标准实现不同,所提出的方案最多使用4次连续CCA来有效检测信道状态,从而减少了碰撞。然后,利用马尔可夫链模型对该算法进行优化,通过增加CCA检测次数实现比较性改进。

加马特等人提出了一种非时隙CSMA/CA方案,该方案将退避延迟周期划分为多个子周期。与标准非时隙方案不同,在标准非时隙方案中,节点必须等待退避周期结束后才能再次传输,而所提出的改进方案缩短了该退避周期,从而因减少退避等待时间而改善了平均延迟。性能评估表明,对于具有较高传输速率的密集网络,由于较短的退避延迟时间,该方案降低了整体网络延迟。此外,二次退避间隔进一步减少了网络冲突,从而实现了整体网络吞吐量的提升[27]。另一方面,穆尼布等人提出了一种基于优先级的退避算法,以改善基于CSMA/CA的无线传感器网络的延迟和性能。该方案基于通信介质上的碰撞次数建立一个概率模型,为每个节点独立分配基于优先级的退避间隔。这使得发生最严重碰撞的节点能够在其他节点之前获得公平的通信机会。该模型强调,仅对那些遭受严重碰撞并意图发送或接收数据帧的节点赋予较高的概率和最短的退避周期,使其获得公平的通信机会,从而显著减少了整体信道介质碰撞,实现了延迟的改善[28]。在DS‐MAC[29],中,研究人员指出,固定占空比方案会增加网络的整体延迟,且无法很好地适应可变网络负载。在其所提出的MAC协议中,提出了一种基于接收数据量的自适应射电占空比调整机制。发送节点在数据帧头部传输唤醒预测,进一步简化了连续信道监测,节省了发送方的能量消耗。然而,该方案在高密度重负载网络中难以维持其占空比。

4. 研究接收机射频唤醒间隔

在IEEE 802.15.4标准的默认实现中,典型的收发器会执行两次连续CCA(CCA1和CCA2)以检测信道可用性。两次CCA相隔294微秒,用于检测信道活动;若无信道活动,无线电将在下一次连续CCA之前处于断电状态。连续CCA之间的间隔被设置为500微秒,从而降低节点额外能耗。当信道为空闲状态且检测到发送方广播信标时,接收方通过向发送方回传确认来启动传输。传输窗口控制着主动传输长度,并由第三次单次CCA检测进行确认。在所提出的方案中,根据发送方广播信标长度增加了两次连续CCA(CCA1和CCA2)之间的距离,从而延长了信道探测窗口时间,提高了接收帧的概率。正在进行的传输窗口的长度根据发送方的数据帧长度进行调整,使发送方能够避免重叠的数据帧窗口,并对每次传输中的每个数据帧都接收到确认。

在Contiki操作系统实现中,节点频繁地监听用于传入数据包的信道,由信道检查速率(CCR)控制,默认值为8赫兹,但可以以2的指数幂递增进行扩展(20, 21, 22,… 25赫兹)。所提出的方案通过使用X‐MAC和ContikiMAC协议并逐步提高信道检查速率进行了评估。性能评估指标包括无线电占空比(RDC)和平均分组投递率(PDR),如图1所示。

示意图0

研究结果表明,所提出的方案在较低信道检查速率下表现良好。由于所提出的CCA调整,该方案还使MAC协议能够保持较低的占空比’性能提升。然而,随着CCR进一步增加,接收方必须持续监控传入的数据信道。CCA帧的增加长度与发送方数据帧重叠,导致无法通信。尽管如此,与默认的ContikiMAC实现相比,所提出的方案仍然表现出显著的优势。X‐MAC协议利用短前导码,通过延长低功耗监听状态的时间来实现能效。X‐MAC还解除了发射方和接收方两侧的睡眠调度耦合,这进一步有助于改善其在突发性网络流量下的跳延迟。从图1可以看出,随着节点数量的增加(即高流量情况下),X‐MAC保持了较高的PDR值。随着节点数量(从而网络流量)的增加,由于网络拥塞导致重传,X‐MAC的PDR最初有所下降。同时,在X‐MAC的前导码中,目标ID作为短前导码的一部分发送,这减少了在繁忙网络发生碰撞时的窃听问题。

正是由于该机制,X‐MAC协议在因短前导码长度而需要重传时,等待时间更短。

另一方面,在典型的ContikiMAC协议实现中,需要大量短前导码来控制数据传输。最初,在网络负载较小(节点和流量较少)的情况下,网络碰撞最少,从而导致重传和窃听问题较少。ContikiMAC协议在其空闲信道评估(CCA)阶段,基于最近接收到的接收信号强度指示(RSSI)值来估计信道可用性。随着网络流量的增加,碰撞也随之增加,从而导致负向的CCA操作。大量的数据包按照线性CSMA退避间隔进行重传,且每次传输后该退避间隔都会增加。因此,随着网络流量进一步增加,退避间隔也进一步增大,最终导致整体网络流量减少。

同样,研究了网络负载增加时的响应,以评估成功传输的性能。可以推断,所提出的方案表现良好,在稀疏网络中平均PDR最多提高了(2%)。

然而,当节点数量超过某一阈值后,平均PDR开始下降。随着节点数量的增加,发送方流量的概率也随之升高。由于所提出的方案依赖于根据发送方广播信标的唤醒周期调整,当发送方增多时,广播信标数量也随之增加,在CCA检测期间大多发生重叠。接收方不得不多次调整其唤醒周期,因为没有固定的调度。因此,节点无法通信,也无法启动数据帧传输,导致网络吞吐量降低。

这些性能评估揭示了两个重要因素,这些因素成为本研究下一组实验和性能评估的基础。结果强调了:
- 基于发送方广播信标的无线唤醒估计可在均匀低数据速率网络上表现良好
- 随着网络密度和流量的增加,由于噪声基底升高,接收方基于时间的CCA调整在估计发送方广播信标时受到影响

总之,信道空闲检测时长对网络性能有直接影响。固定的信道空闲检测时长限制了接收方对其唤醒周期的对齐能力,并可能影响不同流量条件下的整体网络性能。在高流量的密集网络中,CCA 能检测到信道状态(大多为繁忙),但难以检测到发送方的信标,从而限制了收发器等待退避周期结束的能力。这些性能指标使我们能够通过研究以下参数来扩展信道空闲检测增强,以定义适用于后续实验的 A‐CCA。
- 不同网络流量场景下ContikiMAC协议的性能评估
- 基于网络流量自适应调整空闲信道评估周期的A‐CCA算法设计
- 增加发送方发射功率以更好地在噪声基底之上进行检测

5. 方法论

在本研究中,选择Contiki操作系统进行实验,因为它能够实现完整的TCP/IP协议栈、低功耗路由和MAC协议,并能生成可在内置的Cooja仿真器上运行的原生代码。另一个值得关注Contiki操作系统的特点是,可将其原生代码移植到支持的硬件平台上,例如基于德州仪器MSP430的微控制器平台,以及基于IEEE 802.15.4标准的CC2420收发器。

结果验证。实验研究了ContikiMAC协议’在Cooja仿真器中T‐mote sky平台上的CCA行为。相比之下,使用德州仪器LaunchPad CC1352板进行功率传输、距离和准确性验证。CC2420收发器工作于多种状态(中央处理器、低功耗模式、发送和接收),以估算无线电在每种状态下消耗的确切能量。这对于观察协议、性能评估以及优化对各个状态的影响具有重要意义。如第4节所述,ContikiMAC协议第4节 ContikiMAC协议’在接收端的CCA调整受到网络流量和CCR的显著影响。

因此,进行了实验以评估ContikiMAC协议’在不同网络流量下针对多个CCR的性能,从而理解其默认状态下的ContikiMAC行为。这些性能指标进一步推动了提出的A‐CCA方案的实现。

5.1. 多种信道检查频率下ContikiMAC的性能评估

CCR和网络流量会显著影响干扰和CCA的计算,从而导致MAC层性能下降。在密集网络中,由于负载较重且存在干扰,CCA难以保持其准确性,因此要么阻断整个通信进入退避周期,要么错误地唤醒接收方无线电模块,这两种情况都会造成能量浪费。当MAC协议难以维持期望的占空比和PDR时,网络性能在吞吐量和延迟方面也会受到影响。在这些实验中,上述场景通过以下方式实现:
- 采用ContikiMAC RDC层并配置了不同CCR的20个节点的较稀疏网状拓扑
- 由50个节点组成的密集网状拓扑,已配置ContikiMAC RDC层和不同的CCR

ContikiMAC 使用其 RDC 层通过 CCR 变量实现信道检测频率,提高到(2 0, 2 1, 2 2 ,… 2 5 Hz)数量级。如前所述,在这些方案中,单个节点充当汇聚节点,负责监控和评估传入的网络流量。上述场景的仿真参数详情见表1。

实验研究重点分析了CCR和网络流量对CC2420收发器两种最重要状态的影响:发送(Tx)和接收(Rx)。T‐mote sky平台的能量特性如表2 所示,以更好地理解无线收发器状态。这些功率状态在CC2420收发器中消耗的功率最多。它们直接受到CCA估计和CCR的影响,前者影响整个网络吞吐量,后者影响接收节点的无线电占空比。这种综合效应可能导致网络性能下降和能耗增加。

网络性能,以平均分组投递率(PDR)表示,如图2所示,描述了具有均匀CCR和非均匀CCR的网络的可变趋势。首先,研究了具有(低CCR、高CCR和非均匀CCR)值的两种网络的平均PDR值。

均匀数据包速率场景能够很好地适应增加的CCR速率,并保持所需的PDR速率。在低流量情况下观察到平均分组投递率超过90%,因此对应的CCR值较小。然而,随着网络流量的增加,平均分组投递率大幅下降,当数据包速率增加到5个数据包/秒时,PDR降至50%以下。非均匀CCR的结果类似。但是,通过仔细研究发现,在较低流量下其趋势是可变且不可预测的。由于平均分组投递率值难以保持一致的行为,因此必须理解在不同CCR速率下占空比自适应的潜在行为。关于两个网络的占空比性能评估如图3所示。

如图3所示,趋势表明,随着两种网络拓扑的数据包速率增加,所有三种CCR场景下的占空比都会突然上升。随着流量(以数据包速率衡量)的增加,网络冲突和退避间隔也随之增加,因此MAC协议显著提高了其占空比以维持平均分组投递率。为了匹配网络性能而提高占空比的同时,这些节点在各种功率状态下的能耗也随之增加。对于网络1,由于节点之间的邻近性,接收模式下的节点在CCR速率增加时受到严重影响,从而导致干扰增加。这些实验中的另一个有趣发现集中在非均匀CCR速率网络行为的方差和不确定性上。’在非均匀CCR速率下,处于发送和接收模式的节点在低和高数据包速率下会改变其占空比,这说明了ContikiMAC在非均匀数据速率环境中的适应能力不足。还观察到,随着网络流量的增加,网络吞吐量受到严重影响。然而,ContikiMAC协议是为低流量事件驱动型网络设计的,在实际应用中,这些网络很少出现如此高的流量。

表1 ContikiMAC CCR实验的网络配置
网络1
参数
无线传感器网络平台
覆盖区域
节点范围
协议
信道检测 Rate
数据包速率
源节点
汇聚节点
表2 T‐mote sky平台能量配置文件
参数(状态)
VCC
CPU
LPM
发送(Tx)
接收(Rx)

示意图1

本组实验构成了本研究的基础,旨在在较低至中等网络流量条件下,在ContikiMAC协议上针对均匀CCR实施提出的A‐CCA方案。

5.2. 自适应空闲信道评估(A-CCA)

A‐CCA 是一种自适应、轻量级、计算灵活的 ContikiMAC协议 扩展,旨在增强在弱干扰和强干扰环境下的 CCA 检测能力。它通过在高于噪声基底的改进 RSSI 阈值之间探测 CCA 时间戳,以检测发送方信号,从而提高接收方唤醒时间的准确性。A‐CCA 通过对信道噪声基底进行采样以检测活动,并在强干扰环境中通过增加发射功率来测量发送方的’ RSSI 信号强度来实现该目标。A‐CCA 在降低 ContikiMAC协议 占空比的同时保持了网络吞吐量。A‐CCA 设计用于在协调器节点上的典型网络部署场景中实现,而整个网络的吞吐量性能可在汇聚节点处进行测量。

值得一提的是,所提出的方案需要一个具有均匀CCR 和数据包的固定网络。A‐CCA 的逻辑流程如图4 所示,并在其实现中采取以下步骤:
- 探测信道活动并返回空闲信道评估状态
- 对信道采样8个符号周期并计算平均接收信号强度指示
- 将接收信号强度指示阈值设置为上次接收到的接收信号强度指示值
- 调整CCA退避时序(在低接收信号强度指示情况下减少10个符号周期)
- 增加发射机射频功率,并将接收信号强度指示阈值设置为新信号的能量
- 探测信道的CCA状态并记录发送符号的时间戳,以计算连续发送广播数据包之间的时间间隔
- 根据上次的信道空闲检测更新无线唤醒时间间隔

如第2.1节所述,IEEE 802.15.4 标准依赖于两次具有规定间隔的连续 CCA 检测,随后是退避周期。该标准在协议和设备中的实现表现出极大的灵活性,其中 CCA 周期遵循标准,但用于探测信道的 CCA 检测平均次数、RSSI 水平和阈值在不同实现中存在很大差异。因此,必须了解 ContikiMAC 协议中 IEEE 802.15.4 的默认实现,以分析 CCA 时间检测间隔、RSSI 值计算以及符号周期检测策略。在其默认配置下,ContikiMAC 的 RSSI 值仅归纳为三类:第一,RSSI 值确定信道处于空闲状态且干扰最小,存在有效传输(导致有效唤醒);第二,由于信道干扰,RSSI 值无效(导致误唤醒);第三,未能检测到任何活动(导致空闲监听)。

如前所述,ContikiMAC协议的CCA结果不包含任何关于信道状态的信息,除了状态。为了理解该协议的行为,必须研究Contiki操作系统网络栈及其执行这些操作所需的关联函数。因此,本文描述了ContikiMAC协议、其网络栈以及接收信号强度指示的计算方法。

5.3. 平台、网络与ContikiMAC实现

5.3.1. 仿真平台

These experiments are b 基于采用MSP430单片机架构的T‐mote sky无线传感器网络节点。实验使用Contiki操作系统,并在其Cooja仿真环境中执行编译后的字节码。T‐mote Sky平台利用MSP430F1611模块维持其内部时钟,提供 32.768千赫兹的时钟频率。在这些实验中必须考虑精确的时间要求,因为它直接关系到为测量信道活动而执行的CCA检测总次数。Contiki操作系统基于轮询机制调度其进程,每个进程都附有事件处理程序,并在固定的时间间隔内被抢占。Contiki操作系统提供称为RTIMER的事件定时器,用于跟踪运行时间时间事件的时间计算。每当有数据包被安排传输时,ContikiMAC协议都会对信道进行一段时间的感知(设定为8个符号周期或128微秒)。因此,在T‐mote sky节点上,Contiki操作系统中的实时定时器(RTIMER)每秒大约产生16384次滴答。系统时钟滴答和RTIMER值用于计算处理每个事件及其相关过程所需的时间间隔。CC2420无线收发器首先通过将接收信号强度指示(RSSI)值与预设的可编程阈值进行比较来检测信道状态,从而产生此前讨论过的三种信道状态。另一方面,RSSI值是在8个符号周期内信号强度的平均和。这两种测量相结合,可获得A‐CCA正确运行所需的信道时间间隔和平均噪声底电平。

5.3.2. 网络需求

In this study, a mesh net 由20个T‐mote sky无线传感器网络节点组成的工作拓扑被进行了模拟。在网状网络中,一个基本挑战是路由协议的网络收敛时间。在这项研究工作中,采用了RPL协议(低功耗路由协议)和有损网络)被使用。RPL协议支持自动创建网状树拓扑并实现快速收敛;这些实验关注的是MAC层,且在完全收敛网络下进行。节点(1–19)已配置为运行RPL路由协议,并采用ContikiMAC协议及其默认配置的无线电占空比控制层。节点 20 已配置为具有RPL边界(汇聚节点),其ContikiMAC协议配置了NULL‐RDC层,使该节点保持活跃且不执行占空比循环。该汇聚节点充当边界网关路由器,并接收来自网络的数据包,如图5所示。

示意图2

上述网络拓扑以及前述网络和平台配置被用于两种网络场景,包括:
- 低流量 网络(每秒发送一个数据包)
- 高流量 网络(每秒发送5个数据包)

值得一提的是,Contiki操作系统中的MAC层队列可同时存储6个数据包;因此,网络流量选择低于此阈值,以避免任何缓冲延迟。每个数据包大小为127字节。在基于上述网络拓扑的典型通信场景中,节点将遇到邻近节点的干扰。CCA值将在有效唤醒、误唤醒和空闲监听状态之间切换。如前所述,Contiki操作系统将执行CCA检测,以记录这些状态之间的间隔以及RSSI值,用于进一步计算。Contiki操作系统通过多个变量进行这些基于时间的计算,每个变量都关联一个固定调度和间隔,具体描述见下一小节。

5.3.3. Contiki操作系统实现

The Contiki OS uses the NETSTACK_RADIO层用于启动CC2420芯片并执行CCA检测。连续 CCA检测之间的时间间隔由CCA_CHECK_TIME
和活动持续时间来自表3,描述了在检测到误唤醒后,无线电大部分时间处于空闲监听状态。这段时间表示无线电浪费能量的无活动周期。为了估算节点的有效唤醒和活动周期,Contiki操作系统测量节点的误唤醒和非活动(空闲监听)周期;从总节点活动时间中减去非活动时间即可得到非活动时间段。这是一种间接方法,但从能量计算的角度来看具有重要意义。这些状态是关注的重点,可以通过监控和优化来按应用为基础提升网络性能。

因此,为了测量误唤醒和空闲监听时间,仿真运行了 30分钟,并计算了发送节点的误唤醒和空闲监听周期。这些周期表示节点在每种状态下所花费的总时间(通过 CCA睡眠时间和 最大非活动周期 测量),并在表 4中列出。

利用节点活动计算,可通过公式(2)计算节点在每个状态所花费的时间,如下所示:

$$ T_{node} = T_{idle-listening} + T_{false-wakeup} $$
$$ T_{non-activity\ period} \quad (2) $$

类似地,节点能耗由Contiki操作系统’的Energest模块通过测量每种无线状态所花费的时间间隔来计算,如前所述在表2中给出。Contiki操作系统的能耗采用线性功率估算方法,其中利用每个无线状态的停留时间来测量该状态下的整体平均能耗。由于时间计算依赖于系统滴答,因此可以认为具有更高CPU时钟节拍的平台能够提供更好的分辨率。能耗计算基于节点’数据手册中的参数(如表2所示),其中电池源电压在仿真开始时固定为3伏。随后,该电压根据各节点状态消耗的能量线性降低。在现实场景中,不同的电池类型、环境因素、自放电以及输出负载都是影响电池行为的常见因素。此外,电池放电特性通常呈现非线性,这使得使用Contiki操作系统Energest模块进行的能量计算不够准确。因此,基于仿真的Energest模块与真实硬件之间的直接能量对比可能会报告出功耗和网络寿命上的巨大差异。然而,Energest模块是Cooja仿真器中一个简单且集成的实现,可用于计算节点的平均功耗,如公式(3)所示。

$$ P_{Total} = P_{CPU} + P_{LPM} + P_{Tx} + P_{Rx} \quad (3) $$

在下一节中,将介绍各状态下节点时间计算、整体网络功耗、高功耗状态(接收和发送)下的占空比以及使用公式(2)和(3)进行的网络吞吐量计算。

6. 结果

6.1. 平均占空比

能耗和无线电占空比的估算取决于每个状态所花费的总时间。CC2420寄存器会记录无线收发器在每种状态下所消耗的总CPU时钟节拍,Energest模块利用这些信息来计算每个无线状态的平均时间估计值。

实验在两种不同场景下进行,将默认ContikiMAC实现与提出的 A‐CCA方案进行了比较。需要指出的是,所有计算均基于发送节点,通过对特定节点在各收发器状态下的时间进行时间平均,然后计算所有发送节点在各收发器状态下的平均时间。由于发送节点已配置为使用 RDC层,因此可以观察到默认ContikiMAC配置与提出的A‐CCA方案结合使用的效果。每种网络场景均进行了5次仿真运行,每次持续30分钟,其中CPU滴答计数被取平均值并列于表5中。如表5所述,结果表示ContikiMAC层中的RSSI和CCA调整。随着CCA检测次数(RSSI 阈值的平均值)减少,收发器大部分时间处于低功耗状态。接收状态也有所改善,在A‐CCA方案中,两种网络场景下无线电在接收状态的时间均减少。MAC协议性能通常以其占空比来衡量,对于高能效网络而言,能够在达到期望吞吐量的同时保持较低占空比的情况被视为理想状态。

CCA和无线占空比循环对接收和发送模式(这两种是最耗电的无线电收发器模式)的影响可以被观察到。这些状态下的无线占空比可通过与其他无线状态的操作比率比较来计算。涵盖两种网络场景的接收和发送模式的无线占空比如表6所示。

结果表明,在两种网络场景下,无线占空比(接收和发送模式)均有整体改善。由于CCA调整在低功耗监听模式下提供了更多的无线电收发时间,网络性能略有提升。结果明确显示,结合LPM模式下停留时间的增加以及接收模式下占空比的降低,节点能耗得到改善,如下一节所述。

6.2. 平均网络功耗

Energest模块’通过计算每个节点在各个无线状态下的时间,并在整个仿真周期内进行积分,从而计算出每个节点的能耗,并返回各收发器状态下的平均功率利用率。功率估算基于公式(4)–(7)。

$$ P_{CPU} = \frac{T_{CPU} \times V_{CC} \times P_{CPU}}{T_{CPU} + T_{LPM}} \quad (4) $$

$$ P_{LPM} = \frac{T_{LPM} \times V_{CC} \times P_{LPM}}{T_{CPU} + T_{LPM}} \quad (5) $$

$$ P_{RX} = \frac{T_{RX} \times V_{CC} \times P_{RX}}{T_{CPU} + T_{LPM}} \quad (6) $$

$$ P_{TX} = \frac{T_{TX} \times V_{CC} \times P_{TX}}{T_{CPU} + T_{LPM}} \quad (7) $$

根据表2中提供的相关功耗,计算每个收发器状态的平均功耗。将两种网络场景下的功耗和PDR与ContikiMAC协议进行比较。表7 描述了ContikiMAC协议和提出的A‐CCA方案的整体网络性能。

输出结果表明,ContikiMAC和A‐CCA方案在LPM和CPU模式下的平均功耗趋势非常相似。A‐CCA在CPU模式下功耗的轻微增加被认为是算法执行额外计算所致。另一方面,A‐CCA方案在接收和发送模式下的功耗均有所改善,在低流量和高流量场景下,接收模式的功耗分别降低了0.06和0.15毫瓦,发送模式分别降低了0.01和0.02毫瓦。表7显示,两种方案在PDR值方面均能保持显著高的网络吞吐量。然而,A‐CCA算法在低速和高速数据流量下均表现出良好的性能。同时观察到,发射功率的增加有助于减少误唤醒,从而使节点在低功耗模式下停留更长时间,这有助于节能,因为接收状态下的无线电模块能够快速进入休眠状态。

6.3. 节点寿命估计

针对两种不同的数据速率场景,进行了30分钟的仿真。ContikiMAC记录了收发器在每个状态下的停留时间,这对于功耗估算和节点寿命估计至关重要。Energest模块基于一种线性功率计算算法,该算法考虑了电池电压以及无线电在每种状态下的功耗。这种模块化方法提供了灵活性,可在仿真中使用Energest模块来记录网络中每个节点’的功耗。然而,实际系统中的电池工作方式不同,可能会影响设备寿命的估计。T‐mote sky平台采用了相应的功耗配置文件,而每个无线状态的停留时间则是在整个仿真时长内计算得出的。在理想情况下(忽略电池类型、电化学特性、外部因素,并假设起始电压为3V),假设节点由 1000mAh电池供电。通过在指定时间内对每个收发器状态的电流( mA)进行积分,来执行节点寿命估计。表8 显示了ContikiMAC和 A‐CCA方案下节点’剩余寿命的趋势。

电池放电特性受所连接负载的影响很大,可能不会呈现线性行为。在实际应用中,这些实验的综合效应可使节点寿命延长数天。结果表明, A‐CCA 表现非常出色,有助于延长节点的使用寿命。

6.4. 传输范围评估

A‐CCA通过提高发射功率等级,使信号能够更容易地高于噪声基底被检测到,从而实现改进的无线电占空比并减少误唤醒。无线电功率的增加最初会消耗更多功率。然而,由于无线电通过更多时间处于低功耗模式以及避免误唤醒而节省了能量,因此综合效应改善了整体功率等级。

发射功率的增加可能因无线电位置的不同而产生各种影响。在具有直视路径的户外部署中,增加发射功率通常会导致传输范围增大。而对于密集网络部署,特别是在存在其他无线电和设备干扰(如WiFi)、蓝牙设备信号、微波的使用等采用了相似的2.4–2.5 GHz频率,增加发射功率可能导致增加的干扰。在存在增加的干扰的情况下,无线电可能实现更远的传输范围,但对接收数据包的解码可能会出现显著的不准确性,并导致接收数据包率(PRR)整体下降。

因此,在工作时间期间,将两块德州仪器的CC1352R LaunchPad开发板放置在办公环境中。设备已配置为以一对一方式传输数据包(127字节长度),其中接收方固定连接至运行德州仪器 Code Composer Studio中EnergyTrace模块的PC终端,用于检测每次通信中传入数据包的数量及其对应的RSSI值。发送模块为可移动式,因此在这些实验中用于测试传输范围。

示意图3

示意图4

如图6所示,发射功率变化对传输范围以及测得的PRR值均有明显影响。发射功率的增加也可能导致信号噪声增大,这会进一步叠加信道噪声底(由于外部无线电干扰),从而降低整体信噪比值。较低的信噪比值会削弱IEEE 802.15.4接收方对接收数据包中信息的解码能力。信噪比值和PRR值的下降会降低链路的整体性能。ContikiMAC协议在其默认配置中使用的发射功率为(PT= 0 dbm),而A‐CCA将其发射功率提高至(PT= 5 dbm)。这些实验中的数据包发送速率设定为每秒 5个数据包。节点间距离以30米为增量逐步增加, 在每一步距离增加后,记录5分钟内的相应PRR值。结果表明,在初始阶段,A‐CCA的表现模式与ContikiMAC相似,但在接近传输截止点时,其传输范围和PRR显著降低。

在典型的低功耗无线通信中,无线链路质量超过85%时更有利于解码传输的信息。两种方案在分别保持95米和100米的传输范围的同时,均能将数据包接收率(PRR)维持在90%以上,表现出显著良好的性能。然而,当距离进一步增加时,PRR下降至80%。随着距离继续增加,链路质量显著降低,A‐CCA和ContikiMAC在传输距离分别为125米和 140米时,PRR降至50%。超过这一点,当整体链路的PRR低于50%时,认为网络已达到截止点,因为接收到的数据包无法被正确解码。因此可以得出结论,A‐CCA的实现导致链路传输距离几乎减少了15%。传输范围的减小是A‐CCA的一个显著缺点,因为它可能限制网络的整体传输范围。也可以认为由于传输范围的减小,稀疏网络配置可能导致网络碎片化;因此,该方案适用于中小型网络。

结论

无线传感器网络(WSN)被认为是物联网(IoT)设备的通信和感知基础。WSN通常部署在恶劣环境中,这些设备需在其整个生命周期内自主运行。典型的无线传感器节点是一种具有有限电池容量的低计算能力节点,这些设备需要节能以实现更长时间的运行。IEEE 802.15.4 标准采用了专为无线传感器网络设计的低功耗无线电技术和协议,以最大化运行寿命。MAC协议利用射频占空比循环(RDC)等技术,在高能效无线电收发器上节能,降低网络占空比的同时维持期望吞吐量。在大多数发送方启动的MAC协议实现中,空闲信道评估(CCA)根据信道可用性协调传输调度,有时会导致误唤醒和增加的空闲监听时间,从而消耗大量能量。本研究提出了一种增强型CCA估计算法A‐CCA,该算法可根据CCA活动期间测得的信道干扰阈值,适应不同类型的网络流量。

A‐CCA 还通过允许 MAC 协议在无活动状态时减少信道监测时间,从而改进了 CCA 时间。ContikiMAC 在其默认配置中,每次信道活动使用 28 个符号,而所提出的 A‐CCA 方法分别使用 8 个和 10 个符号来检测低和高流量模式。结果表明,在轻负载和重负载流量场景下, A‐CCA 实现了射频占空比分别降低 1.10% 和 1.18%。结果还表明,在两种流量场景下,与 ContikiMAC 协议相比,A‐CCA 能够将功耗最多降低 6%。

此外,发射功率(PT= 5 dbm)的增加使发送端传输信号高于噪声基底,有助于减少误唤醒,节点在低功耗模式下停留的时间更长。A‐CCA还估算了发送方的广播间隔,并更新了接收方唤醒时间,从而进一步减少了空闲监听时间。这些调整使得A‐CCA成为在密集部署和存在干扰的网络环境中的一种有利方案,在所有实验中均保持了超过98%的平均分组投递率。可以确定的是,A‐CCA实现最重要的成果之一是实现了节点功耗的整体降低,从而延长网络寿命。实验还表明,所提出的方案在均匀网络分布和低至中等数据速率下表现良好。同样,无线电发射功率的增加对链路传输距离产生了反向影响,这使得A‐CCA方案适用于中小型无线网络。

表4 运行ContikiMAC的节点的空闲监听和误唤醒时间
节点
1
5
10
12
16
表5 T‐mote天空节点在不同收发器状态下的平均时间消耗
协议
ContikiMAC(低流量)
ContikiMAC(高流量)
A‐CCA(低流量)
A‐CCA(高流量)
表6 接收和发送模式的平均无线电占空比
协议
ContikiMAC(低流量)
ContikiMAC(高流量)
A‐CCA(低流量)
A‐CCA(高流量)
无线电占空比改进(低流量)
无线电占空比改进(高流量)
表7 ContikiMAC与提出的A‐CCA算法中CC2420无线电功耗的比较
协议
ContikiMAC(低流量)
ContikiMAC(高流量)
A‐CCA(低流量)
A‐CCA(高流量)
表8 节点寿命估计
协议
ContikiMAC(低流量)
ContikiMAC(高流量)
A‐CCA(低流量)
A‐CCA(高流量)
【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)内容概要:本文围绕非线性三自由度四轴飞行器模拟器的研究展开,重点介绍基于Matlab代码实现的四轴飞行器动力学建模与仿真方法。研究构建了考虑非线性特性的飞行器数学模型,涵盖姿态动力学与运动学方程,实现了三自由度(滚转、俯仰、偏航)的精确模拟。文中详细阐述了系统建模过程、控制算法设计思路及仿真结果分析,帮助读者深入理解四轴飞行器的飞行动力学特性与控制机制;同时,该模拟器可用于算法验证、控制器设计与教学实验。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的高校学生、科研人员及无人机相关领域的工程技术人员,尤其适合从事飞行器建模、控制算法开发的研究生和初级研究人员。; 使用场景及目标:①用于四轴飞行器非线性动力学特性的学习与仿真验证;②作为控制器(如PID、LQR、MPC等)设计与测试的仿真平台;③支持无人机控制系统教学与科研项目开发,提升对姿态控制与系统仿真的理解。; 阅读建议:建议读者结合Matlab代码逐模块分析,重点关注动力学方程的推导与实现方式,动手运行并调试仿真程序,以加深对飞行器姿态控制过程的理解。同时可扩展为六自由度模型或加入外部干扰以增强仿真真实性。
基于分布式模型预测控制DMPC的多智能体点对点过渡轨迹生成研究(Matlab代码实现)内容概要:本文围绕“基于分布式模型预测控制(DMPC)的多智能体点对点过渡轨迹生成研究”展开,重点介绍如何利用DMPC方法实现多智能体系统在复杂环境下的协同轨迹规划与控制。文中结合Matlab代码实现,详细阐述了DMPC的基本原理、数学建模过程以及在多智能体系统中的具体应用,涵盖点对点转移、避障处理、状态约束与通信拓扑等关键技术环节。研究强调算法的分布式特性,提升系统的可扩展性与鲁棒性,适用于多无人机、无人车编队等场景。同时,文档列举了大量相关科研方向与代码资源,展示了DMPC在路径规划、协同控制、电力系统、信号处理等多领域的广泛应用。; 适合人群:具备一定自动化、控制理论或机器人学基础的研究生、科研人员及从事智能系统开发的工程技术人员;熟悉Matlab/Simulink仿真环境,对多智能体协同控制、优化算法有一定兴趣或研究需求的人员。; 使用场景及目标:①用于多智能体系统的轨迹生成与协同控制研究,如无人机集群、无人驾驶车队等;②作为DMPC算法学习与仿真实践的参考资料,帮助理解分布式优化与模型预测控制的结合机制;③支撑科研论文复现、毕业设计或项目开发中的算法验证与性能对比。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注DMPC的优化建模、约束处理与信息交互机制;按文档结构逐步学习,同时参考文中提及的路径规划、协同控制等相关案例,加深对分布式控制系统的整体理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值