最大化实时传感器网络成功概率

使用基于竞争的协议最大化实时传感器网络的成功概率

摘要

我们研究了使用CSMA/CA MAC层协议的无线传感器网络中的实时数据聚合问题。该问题是在给定汇聚节点、一组传感器节点和延迟界限的情况下,最大化所有传感器节点在延迟界限内的平均传输成功概率。在CSMA/CA协议中,成功概率和预期传输延迟对节点干扰非常敏感。我们将系统时间划分为固定大小的时间帧,并将节点的传输调度到时间帧中。同一父节点下的所有子节点的传输被安排在同一时间帧内。因此,数据聚合树的构建对于最大化数据收集的成功概率变得至关重要。我们通过首先构造一个最小化节点干扰的聚合树来解决联合路由与调度问题,然后提出一种高效的贪婪调度方法为传感器节点分配时间帧。

关键词 :数据聚合树;实时数据聚合;无线传感器网络;信息物理系统。


1 引言

无线传感器网络是信息物理系统中的重要组成部分,在系统的信息采集和数据收集过程中发挥着重要作用。数据聚合是无线传感器网络中常用的数据收集方法。许多传感器网络应用需要实时数据收集,即数据包必须在规定的延迟界限内到达汇聚节点。然而,市场上几乎所有 的传感器节点产品都符合IEEE 802.15.4或IEEE 802.11标准,并采用基于CSMA/CA的协议。CSMA/CA协议在保证实时数据传输方面存在明显不足。一方面,若要保证数据传输的成功概率,就必须在 CSMA/CA模型中为每个节点留出足够的时间进行信道感知和重试,这使得实时性要求难以满足;另一方面,若要保证数据收集的延迟界限,节点可能由于信号干扰或冲突而无法在规定延迟内成功发送数据。

在本论文中,我们研究了使用CSMA/CA MAC层协议的无线传感器网络中的实时数据聚合问题。我们的目标是在给定延迟限制下,最大化所有传感器节点的数据传输平均成功概率。我们将系统时间划分为固定大小的时间帧,允许同一父节点下的所有子节点在同一时间帧内以CSMA/CA方式竞争信道访问,并尝试将父节点(为其子节点)的传输调度到不同的时间帧中以避免冲突。这是CSMA与TDMA模型的结合。但我们的方法所使用的时间帧大小远大于纯TDMA协议中的时隙,因此不需要传感器节点之间严格的时钟同步。

CSMA/CA模型中数据传输的成功概率对干扰程度非常敏感(Zhang等,2010;Liu等,2011)。在我们的方法中,节点的干扰来自两个方面:
- 兄弟节点的传输,因为同一父节点下的所有子节点都在同一个时帧内进行调度;
- 其他父节点下节点的传输但在同一时帧内进行调度。

这是因为在延迟限制内的时间帧有限,并且在同一时间帧中安排了并发传输。因此,数据传输的整体成功概率在很大程度上取决于数据聚合树的结构以及时间帧中的传输调度。在本论文中,我们研究了数据聚合路由与联合优化问题——传输调度。我们首先提出了一种用于数据聚合树构建的算法,该算法最小化所有传感器节点的总体干扰。然后,我们提出了一种高效的贪婪调度算法,将节点的传输分配到时间帧中,以最小化并发传输之间的干扰。已进行了大量仿真,结果表明我们所提出的方法可以显著提高成功概率。

一些关于低干扰路由树的现有研究集中在度受限生成树上,例如 Ghosh 等人 (2011)。然而,节点度受限这一特性并不一定意味着低干扰,因为干扰可能来自其他树分支上的邻近节点。我们的工作与之不同之处在于,我们显式地优化了节点干扰。

本文的其余部分组织如下。相关工作在第2节中进行了回顾。问题在第3节中进行了形式化描述。我们提出的解决方案在第4节中提出。仿真结果在第5节中报告,结论在第6节中得出。

2 相关工作

在无线传感器网络中,基于CSMA/CA的MAC层协议由于其简单性而被广泛使用,例如Lu等人(2002)、Di Bacco等人(2004)和张等人(2010年)。Lu等人(2002)提出了一种称为RAP的实时通信架构,该架构基于IEEE 802.11协议,适用于大规模传感器网络。RAP采用速度单调调度来优先处理实时流量,并通过区分式MAC层实现这种优先级控制。Di Bacco等人(2004)提出了一种专门设计用于最小化延迟的分布式MAC协议。该协议基于RTS/CTS/DATA/ACK握手机制,但通过使用优先接入和路径聚合进行了改进,以降低延迟并实现节能。Lu等人(2002)和Di Bacco等人 (2004)的研究利用启发式信息对数据包进行优先级排序,但未提供性能分析。此外,这些方法需要对802.11 MAC硬件或802.11标准进行修改。张等人(2010年)研究了在传感器网络中基于CSMA/CA的协议下,满足延迟边界约束的同时最大化信息收集的问题。他们提出了一个最优算法和一个分布式启发式算法,用于在每个传感器节点上分配最大允许传输延迟。

已对CSMA/CA协议的性能分析进行了广泛的研究。Barowski 等人(2004年)提出了一个马尔可夫模型,基于 Bianchi(2000)的基础工作,用于分析IEEE 802.11协议无线局域网的吞吐量和延迟。Ziouva 和 Antonakopoulos (2002) 研究了CSMA/CA的理论在饱和流量下的性能。施等人(2009)使用分析模型、基于FPGA的MAC协议实现以及在无线测试平台上的实验评估,分析了同步CSMA竞争的公平性特性。泰等人 (2004)提出了非持续CSMA协议CSMA/p∗ ,该协议采用精心选择的非均匀概率分布,节点利用该分布为无线传感器网络随机选择竞争时隙。这些研究表明,由于存在非确定性通信延迟,基于CSMA/CA的协议无法保证实时性能,并且其成功概率对竞争程度高度敏感。

基于TDMA的协议,如万等人(2009)、余等人 (2009)、徐等人(2011)和李和王(2011),被认为是实时应用的理想技术。万等人(2009)研究了在协议干扰模型下同步多跳无线网络中的最小延迟聚合调度,其中每个节点具有单位通信半径和干扰半径 q ≥ 1,他们提出了具有常数因子的最小聚合延迟算法。余等人 (2009)提出了一种具有接近常数因子的数据聚合分布式调度算法。徐等人(2011)提出了一种优于余等人 (2009)的分布式调度方法。李和王(2011)研究了无线传感器网络中数据收集、代数数据聚合和数据选择的时间复杂度、消息复杂度和能量复杂度。尽管基于 TDMA的协议适用于实时应用,但由于严格同步的要求在低成本传感器网络中实际难以实现,因此它们不适合在低成本传感器节点中使用。刘等人(2011年)提出了一种用于实时数据聚合的CSMA/CA和TDMA混合方法。

关于路由树的构建已有许多研究工作,如Ghosh等人(2011);Hu等人(2004)。Ghosh等人研究了传感器网络中快速数据收集的吞吐量‐延迟权衡问题。他们设计了一种(α, β)‐双准则近似算法,用于生成有界度最小半径生成树,使得树的半径最多为给定度约束 ∆ ∗下最小可能半径的 β倍,且任意节点的度至多为 ∆ ∗+ α,其中 α和 β为正数常量。然而,低度的特性并不一定意味着低干扰。伯克哈特等人(2004)提出了最小干扰树 (MIT),但MIT到汇聚节点的跳数距离较大,不适合实时应用。

3 系统模型和问题描述

我们给定一个传感器网络 G=(V, E),其中 V 包含 N 个传感器节点 v₁, v₂,…, vₙ 和一个汇聚节点 v₀。当且仅当 vᵢ 和 vⱼ 在彼此的通信范围之内时,存在一条边 (vᵢ, vⱼ) ∈ E。我们考虑实时数据聚合。假设一次数据聚合查询的端到端延迟界限为 Δ,即来自任意传感器节点的数据应在不超过 Δ 的延迟内到达汇聚节点。数据聚合树 T 是一棵以汇聚节点 v₀ 为根、并包含 V 中所有节点的树。在数据聚合中,非叶子树中的每个节点必须等待其所有子节点的数据包,然后将其与自己的数据聚合,并将聚合后的数据转发给其父节点。由于数据聚合,我们假设所有节点发送的数据包大小相同。假设流量处于饱和状态,即每个传感器节点始终有一个数据包需要发送。

本文采用协议干扰模型。也就是说,如果节点 vⱼ位于节点 vᵢ的干扰范围内,则称节点 vᵢ受到节点 vⱼ的干扰。令 Iᵢ表示vᵢ所受干扰的节点集合(包括 vᵢ自身), I(vᵢ) 表示该集合中的节点数量。我们将 I(vᵢ)称为 vᵢ的节点干扰。节点 vᵢ向其父节点传输数据包的成功概率 pₛ(vᵢ)取决于干扰 I(vᵢ)以及为 vᵢ设定的最大允许传输时间,记为 δ(vᵢ)。因此,成功概率 pₛ(vᵢ)可以通过一个函数 f计算得出,该函数以 I(vᵢ)和 δ(vᵢ)作为变量,如公式(1)所示。具体计算细节可参见张等人(2010年)和巴罗夫斯基等人(2004年)。

$$
p_s(v_i) = f(I(v_i), \delta(v_i)) \tag{1}
$$

在CSMA/CA协议中,由于节点干扰和最大允许传输时间的存在,无法100%保证节点传输成功。在实时约束下,部分节点的数据包无法成功发送。我们所能做的是最大化传输的成功概率。通过提高数据传输的成功概率,汇聚节点可以从更多传感器节点接收数据。因此,我们的目标是最大化所有传感器节点的平均成功概率:

$$
\bar{p} s = \frac{1}{N} \sum {i=1}^{N} p_s(v_i) \tag{2}
$$

通过实现上述目标,可以最大化在汇聚节点收集的信息。

在我们的方法中,将系统时间划分为固定大小为 τ 的时间帧,并让同一父节点下的所有节点以 CSMA/CA方式在同一时间帧内进行传输。注意,此处使用的时间帧大小远大于纯TDMA模型中的时隙大小。对于节点 vᵢ ∈ V{v₀},设 p(vᵢ)表示 vᵢ的父节点, t(vᵢ) 是为 vᵢ调度的数据传输时间帧, 1 ≤ t(vᵢ) ≤ L = ⌈Δ/τ⌉。对于每个父节点,其所有子节点在同一个时间帧内使用 CSMA/CA协议竞争传输,即:

$$
\forall v_i, v_j \in V\setminus{v_0} \text{ and } p(v_i) = p(v_j) : t(v_i) = t(v_j) \tag{3}
$$

由于父节点在收到来自其子节点的所有数据包之前无法传输数据,该时间顺序约束要求任何 vᵢ ∈ V{v₀} 的时帧分配必须早于 p(vᵢ),即:

$$
\forall v_i \in V\setminus{v_0} : t(v_i) < t(p(v_i)) \tag{4}
$$

由于在不同时间帧中传输的节点彼此之间不会产生干扰,因此节点 vᵢ 的干扰仅来自在同一时帧中传输的节点,即:

$$
I(v_i) = \left| {v’ \mid v’ \in I_i \text{ and } t(v’) = t(v_i)} \right| \tag{5}
$$

给定节点 vᵢ向其父节点发送一个数据包的时帧大小 τ,当 I(vᵢ)最小时,成功概率 pₛ(vᵢ)可以被最大化(张等人 (2010年);巴罗夫斯基等人(2004年))。因此,我们可以将最大化公式(2)的原始目标转化为最小化所有节点的平均干扰,即:

$$
\bar{I}(v) = \frac{1}{N} \sum_{i=1}^{N} I(v_i) \tag{6}
$$

我们所关注的问题可以正式表述如下:给定一组传感器节点、一个汇聚节点和若干时间帧,问题在于如何构建一个数据聚合树并为传感器节点分配时间帧,以最小化公式 (6)中定义的平均节点干扰。由于仅调度问题本身已是 NP难问题(刘等人(2011年)),我们的联合路由与调度问题同样属于NP难问题。

4 我们提出的解决方案

我们研究的实时数据聚合问题旨在最大化所有传感器节点的平均传输成功概率。这是一个复杂的问题,因为聚合树构建和时帧分配相互依赖。为了构建聚合树并为最大化成功概率进行流量路由,我们需要知道每个节点的干扰;然而,在时帧分配确定之前,无法确定节点的干扰。我们的解决方案通过首先构建一个数据聚合树来打破这种相互依赖的循环,该聚合树在假设使用简单调度方法的情况下最小化平均节点干扰。然后,我们提出一种贪婪调度方法为传感器节点分配时间帧。我们将问题划分为聚合树构建和传输调度的原因是:必须先知道聚合树才能进行调度,因为树结构决定了传输顺序。父节点需要等待其所有子节点的数据包到达后,才能传输其聚合数据包。在详细介绍所提算法之前,我们首先分析数据聚合树与最大 k‐割问题之间的关系。

4.1 数据聚合树与最大 k-割之间的关系

我们考虑使用一种简单调度方法的特殊情况。首先给出节点高度和树高的定义。设 h(vᵢ)为聚合树 T中节点vᵢ的高度,即:

$$
h(v_i) =
\begin{cases}
0 & \text{if } v_i = v_0 \
h(p(v_i)) + 1 & \text{otherwise}
\end{cases}
$$

树 T 的高度是 T 中的最大节点高度:

$$
h(T) = \max_{v_i \in T} {h(v_i)}
$$

我们假设 h(T)始终小于或等于可用的时帧数量,即 h(T) ≤ L。

简单调度方法(SS)根据传感器节点在聚合树上到汇聚节点的跳数距离为其分配时间帧。汇聚节点的子节点被分配到最后一个时间帧(时间帧 L)。距离汇聚节点两跳的节点被分配到时间帧L− 1。该操作持续进行,直到所有叶节点都被分配了时间帧。具体而言,节点 vᵢ 被分配到时间帧 L+1 − h(vᵢ)。显然,SS满足方程 (3)和(4)中的约束条件。

由于SS将相同的时帧分配给具有相同高度的节点,我们使用 Hₗ表示具有高度 l的节点集合,这些节点被调度在时帧 L+1 − l期间传输数据。我们也定义了 H₀={v₀}。注意,Hₕ₍ₜ₎₊₁,…, Hₗ为空。一种更高效的调度方法在第4.4节中提出。令 I(Hₗ)表示 Hₗ中节点的总干扰。公式(6)在特殊情况下的平均节点干扰可重写为:

$$
\bar{I} {SS}(v) = \frac{1}{N} \sum {l=1}^{L} I(H_l) \tag{7}
$$

因为干扰仅发生在同一时帧内被调度进行传输的节点之间。

我们将证明,最小化公式(7)中定义的平均节点干扰 $\bar{I}_{SS}(v)$ 的问题是一个约束性的最大 k‐割问题。我们如下定义干扰图GI(VI, EI):其顶点集 VI为传感器节点 {v₁, v₂,…, vₙ}的集合;对于 VI中的两个顶点 vᵢ和 vⱼ,当且仅当 vᵢ和 vⱼ相互干扰时,存在一条边(vᵢ, vⱼ) ∈ EI。对于任意子集 S ⊆ VI,令 GI(S)表示以 S为顶点集的 GI (VI, EI)的导出子图,EI(S)为其边集。

给定传感器节点集合,我们问题所关注的特殊情况就转化为将节点集 VI划分为不相交集合 H₁,…, Hₗ,使得公式(7)中的平均节点干扰最小化,同时对于任意集合 Hₗ、 1 ≤ Hₗ ≤ L, Hₗ中的节点可由 Hₗ₋₁中的节点覆盖,即:

$$
\forall v_i \in H_l, 1 \leq l \leq L: \exists v_j \in H_{l-1}, (v_i, v_j) \in E \tag{8}
$$

该节点覆盖约束保证了 Hₗ中任意节点发送的数据包至少能被 Hₗ₋₁中的一个节点接收。我们现在来看这一最小化 $\bar{I}_{SS}(v)$ 与最大k-割问题之间的关系。

定义4.1 :对于一个图 G(V, E) 以及将 V 划分为 k 个不相交集合 V₁,…, Vₖ,一个 k‐割是 E 的子集,包含那些两个端点分别位于两个不同集合 Vᵢ 和 Vⱼ 、 i ≠ j 中的边。权重指割中边的数量。最大 k‐割问题即寻找一种 V 的划分方式,以得到最大的 k‐割。

定理1 :给定一个节点集合{v₁, v₂,…, vₙ},将该节点集合划分为不相交集合 H₁,…, Hₗ、是使 $\bar{I}_{SS}(v)$ 最小化问题的最优解的充要条件是,它是在 G_I(V_I, E_I) 中满足公式(8)所规定的节点覆盖约束时,最大 k-割问题的最优解。

证明 :由于最小化 $\bar{I}_{SS}(v)$ 被转化为将 V划分为 L 个子集以使公式(7)最小化的问题,我们需要证明:寻找使公式(7)最小化的VI的划分方式,等价于在满足节点覆盖约束(8)的条件下,在 GI(VI, EI)中求解具有 k= L的最大 k‐割问题的最优解。

考虑 H₁,…, Hₗ作为 VI的一个划分,且满足约束 (8)。令 w(H₁,…, Hₗ)表示k‐割的权重, |EI|表示 EI中所有边的总数。根据 k‐割的定义,我们有:

$$
w(H_1,…, H_L) = |EI| - \sum_{l=1}^{L} |EI(H_l)| \tag{9}
$$

由公式(7)可得:

$$
|E(H_l)| = \frac{1}{2} \sum_{v_i \in H_l} I(v_i) = \frac{1}{2} I(H_l)
$$

然后方程 (9) 变为:

$$
w(H_1,…, H_L) = |EI| - \frac{1}{2} \sum_{l=1}^{L} I(H_l) = |EI| - \frac{1}{2} \sum_{i=1}^{N} I(v_i) = |EI| - \frac{N}{2} \cdot \bar{I}_{SS}(v) \tag{10}
$$

因此,最小化 G(V, E)中的 $\bar{I}_{SS}(v)$ 等价于在满足节点覆盖约束(8)的条件下,最大化 GI(VI, EI)中具有k= L的约束权重 k‐割。

我们通过两个主要步骤来构建数据聚合树。第一步是将网络划分为树节点的层,使得所有层的平均干扰最小化。第二步是为各层中的所有节点选择父节点。这两个步骤分别在以下小节中进行说明。

4.2 将网络划分为树层

我们将单信道(SS)下最小化节点平均干扰的问题转化为约束最大 k‐割问题,该问题是NP完全的(霍赫巴,1997)。目前已知的最佳近似算法由埃勒巴赫等人(1998)提出,该算法能够生成一个 k‐割,其权重至少为最大k‐割权重的1/(1 − 1/k+ 2 ln k/k²)倍。然而,该方法基于求解半定规划松弛,导致高复杂度。在下文中,我们提出一种高效的启发式算法。

我们的算法是用于求解最大割问题的局部搜索方法的一种推广,其中 k= 2夏弗(1991)。该算法首先将 V_I 划分为 L个不相交集合 H₁,…, Hₗ 的有效划分。有效划分是指一种划分方式满足节点覆盖约束(8)。然后,对于任意 vᵢ ∈VI,如果 k‐割 的权重严格增加,并且在保持节点覆盖约束的前提下该移动是有效的,则将 vᵢ从划分Hₗ移动到Hₗ′。重复此移动操作,直到无法进一步改进为止。移动次数不会超过 |EI|Θ,因此该算法将在 O(LN³|EI|/Θ)内终止(详见定理2)。

当我们把节点 vᵢ ∈ VI从 Hₗ移动到 Hₗ′时,需要检查划分的有效性(即是否保持了节点覆盖约束(8))。如果出现以下情况,则该移动无效:1) Hₗ₊₁无法被 Hₗ{vᵢ}覆盖;或 2) Hₗ′ ∪{vᵢ}无法被 Hₗ′₋₁覆盖。

我们使用广度优先搜索(BFS)树对 VI进行初始有效划分。给定BFS树 T_B,它将具有高度 h(T_B)的节点分配给H_L−h(T_B)+1,这些是距离汇聚节点最远的 T_B中的叶节点。然后,将高度为 h(T_B) − 1的节点分配给 H_L−h(T_B)+2。重复此过程,直到所处理的节点成为汇聚节点的子节点。初始空集H_h(T_B)+1,…, H_L将随着算法逐步将节点移入而逐渐被填满,以增加 k‐割的权重。将网络划分为树层(PNTL)的算法细节见算法1。

算法1:将网络划分为树层

输入:GI=(VI, EI)和 k(= L)

输出: H₁,…, Hₗ

开始
生成 VI 的初始有效划分: H₁,…, Hₗ 满足约束(8)。
重复
对于任意节点 vᵢ ∈ Hₗ
对于任意节点集合 Hₗ′ 和 l ≠ l′
如果将 vᵢ移动到 Hₗ′
(I) k‐割的权重严格增加;并且
(II)该移动在保持节点方面是有效的 覆盖约束。
结束循环
结束循环
直到没有任何 vᵢ 的移动能够增加权重为止 k‐割
End

现在我们考虑算法1的时间复杂度。对于V′_I ⊆ VI,令 V′_I(vᵢ)表示满足vᵢ ∈ V′_I 的边的集合(vᵢ, vⱼ) ∈ EI,而 w(V′_I(vᵢ)) 是 V′_I(vᵢ)中边的总数。假设 H₁,…, Hₗ是由算法1生成的 k‐割,且 w(H₁,…, Hₗ)为该割的权重。为了简化符号表示,我们定义

$$
\Theta \equiv \min_{v_i \in V_I} \min_{V’_I \subseteq V_I} \left| w(V’_I(v_i)) - w((V_I \setminus V’_I)(v_i)) \right|,
$$

这是 V_I中每一步移动可以获得的最小增益。

定理2 : 算法1可以在时间 O(LN³|EI|/Θ)内输出 V_I 的划分。

证明 :对于顶点 vᵢ 从 Hₗ 到 Hₗ′的每一次移动, k‐割的权重增加

$$
|H_l(v_i)| - |H_{l’}(v_i)| \geq \Theta,
$$

且最大 k‐割的权重至多为 |EI|。因此,重复循环中的移动操作至多有 |EI|/Θ次。对于每次移动尝试,需要 O(|VI|)时间来计算增加的 k‐割,以及 O(|VI|²)时间来检查该移动是否有效。由于每个移动操作最多有 L|VI| 次尝试(由内外层for循环决定),因此对 |EI|/Θ次移动的总时间为 O(L|VI|(|VI| + |VI|²)|EI|/Θ)。此外,生成初始划分需要 O(|VI|²)时间。因为 O(|VI|)是 O(N),其中 N 为传感器节点的数量,所以算法1的时间复杂度被限制在 O(LN³|EI|/Θ)。

4.3 树构建中的父节点选择

第一步之后,我们得到一组划分 H₁,…, Hₗ。它根据传感器节点与汇聚节点的距离将传感器节点划分为不同的层,并保证较低层中节点发送的数据包能够被较高一层中的至少一个节点接收。但它并未为节点指定父节点。我们需要为每个节点选择合适的父节点,因为在考虑问题的一般情况时,不同的父节点选择可能导致不同的性能表现。图1详细说明了父节点选择所带来的影响。

现在,我们需要为每个节点选择一个父节点。父节点选择以自顶向下的方式进行。对于H₁中的节点,它们均以汇聚节点作为父节点。对于 Hₗ, 2 ≤ l ≤ L集合中的节点,父节点分配分为两个步骤。第一步,将 Hₗ中的 一些节点连接到树上(即为其分配父节点),这些节点只能被 Hₗ₋₁中的单个节点覆盖。第二步,对于 Hₗ中其余具有多个父节点候选的未连接节点,我们总是为其分配父节点,以最小化当前已构建树上的节点干扰(以及潜在的节点干扰)。对于节点 vᵢ ∈ Hₗ和 vᵢ的父节点候选 vⱼ ∈ Hₗ₋₁,若 vᵢ连接到 vⱼ,则位于 vᵢ干扰区域内的树内节点(即已分配父节点的节点)可分为三类。
- 受干扰的节点,记为VC(vᵢ, vⱼ) 。这些节点与 vᵢ具有相同的父节点 vⱼ。
- 那些未受干扰的节点 vᵢ。这些节点不能与 vᵢ同时传输数据,其中 vᵢ的父节点要么是 vⱼ 的祖先,要么是 vⱼ 的后代。
- 其余可能受到 vᵢ干扰的节点,记为 V_PC(vᵢ, vⱼ) 。这些节点引起的干扰只有在分配时帧后才能确定。

对于 vᵢ 的所有父节点候选者,我们将 vᵢ 连接到导致最小节点干扰 |VC(vᵢ, vⱼ)|的父节点;如果存在并列情况,则选择具有最小潜在节点干扰|V_PC(vᵢ, vⱼ)| 的父节点。父节点选择算法(PS)的详细信息见算法2。

算法2:父节点选择(PS)

输入: H₁,…, Hₗ

输出: T

H₁中的每个节点都被分配了 v₀作为其父节点。
对于 2 ≤ l ≤ L
为 Hₗ 中被覆盖的节点分配父节点 Hₗ₋₁中只有一个节点
对于 Hₗ 中的每个未分配节点 vᵢ
为每个父节点计算 |VC(vᵢ, vⱼ)| 和 |V_PC(vᵢ,vⱼ)|
为 vᵢ 选择通向最少节点的父节点 干扰(以及潜在的节点干扰)。
结束循环
结束循环
End

4.4 基于时间帧分配的贪心调度算法

给定聚合树 T,我们提出了一种比SS更有效的贪心调度算法(GS),用于为传感器节点分配时间帧。GS沿 T以自底向上的方式工作。我们首先介绍一些符号定义。对于 父节点vⱼ ∈ V,我们用 t_c(vⱼ)表示分配给 vⱼ的子节点的 时间帧。对于尚未为其子节点分配时间帧的父节点 vⱼ, e_c(vⱼ)表示其子节点向 vⱼ传输数据包的最早可用时间帧, l_c(vⱼ)表示最晚可用时间帧。 e_c(vⱼ)和 l_c(vⱼ)的初始化将在后文讨论。令 U为子节点即将被分配时间帧的父节点 集合, M为目前已分配时间帧的节点集合。根据SS下 公式(7)中 I_SS(v)的定义,我们在公式(11)中定义了GS调度下集合 M的平均节点干扰。

$$
\bar{I} {GS}(v) = \frac{1}{|M|} \sum {v_i \in M} \left| {v’ \mid v’ \in I_i \text{ and } t(v’) = t(v_i)} \right| \tag{11}
$$

GS的基本思想如下。将 U初始化为仅包含其子节点全为 叶节点的父节点。每次对 U中的所有父节点,找出使其子 节点的时间帧分配能够最小化公式(11)中 $\bar{I}_{GS}(v)$ 的父节点 及其子节点的时间帧。假设选中的节点为 v∗,为其子节 点分配的时间帧为 t_c(v∗), t_c(v∗) ∈ [e_c(v∗), l_c(v∗)]。然后将 v∗从 U中移除。当 p(v∗)在 U中不再有子节点时,其父节 点 p(v∗)将被加入到 U中。此操作重复进行,直到 U变为 空,此时网络中的所有节点均已分配时间帧。

现在,我们来看所有父节点 vⱼ ∈ V 的 e_c(vⱼ) 和 l_c(vⱼ) 的初始化。对于 vⱼ 的子节点,其最晚可用时间帧即 l_c(vⱼ),取决于 h(vⱼ)。从树的顶部开始,对于高度为 0 的父节点 vⱼ(汇聚节点v₀),即 h(v₀) = 0, l_c(v₀) = L。对于高度为 1 的父节点 vⱼ, l_c(vⱼ) = L− 1。我们继续以自上而下的方式沿树结构为所有父节点 vⱼ 分配 l_c(vⱼ) 的值。在算法执行过程中,所有父节点的 l_c(vⱼ) 的值保持不变。对于 vⱼ 的子节点,其最早可用时间帧即 e_c(vⱼ),从叶节点的父节点开始逐步确定 直到树的根部。 e_c(vⱼ) 的初始化基于以下定义:

$$
e_c(v_j) =
\begin{cases}
1 & \text{if all child nodes of } v_j \text{ are leaf nodes} \
\max_{p(v_i)=v_j} {t_c(v_i)} + 1 & \text{otherwise}
\end{cases}
$$

算法GS的细节如算法3所示。

算法3: 贪婪时间框架调度分配(GS)

输入: T和 L

输出:{t(vᵢ) | vᵢ ∈ V{v₀}}

开始
对于任意父节点 vⱼ ∈ V
e_c(vⱼ) = h(T) − h(vⱼ), l_c(vⱼ) = L − h(vⱼ).
结束循环
U = {vⱼ | vⱼ的所有子节点都是叶节点}。
当 (U ≠ ∅) 时
对于 U中的所有父节点
查找父节点 v∗和时帧 t_c(v∗),用于其子节点,以共同最小化定义的 $\bar{I}_{GS}(v)$ 在公式(11)中。
结束循环
U = U{v∗}。
e_c(p(v∗)) = max{e_c(p(v∗)), t_c(v∗) + 1}.
如果 p(v∗) 在 U 中没有更多的子节点,则 U = U ∪ {p(v∗)}。
结束‐While
End

显然,算法3中最耗时的部分是while循环。该while循环 每次选择一个父节点及其分配给子节点的时帧。给定一个 父节点,我们需要从 O(L− H(T))个可用时帧中为其子节 点选择最佳时帧,而计算每个时帧的 $\bar{I}_{GS}(v)$ 需要花费时间 O(|M|²),其中 |M|是截至目前已分配时帧的节点数量。因此, 考虑一个父节点的时帧所需时间为 O((L− H(T)) · |M|²)。 如果我们试图在每次while循环中选择最佳的父节点和时帧 组合,则计算耗时为 P · O((L− H(T)) · |M|²),其中 P是 父节点的数量。因此,完成整个while循环的总时间为 P² · O((L− H(T)) · |M|²)。由于 P和 |M|在最坏情况下最 多为 O(N),因此时间复杂度达到 O(LN⁴)。然而,在实际 应用中,父节点的数量通常远小于 N,因此对于实际传感 器网络而言,时间复杂度可能会低得多。

5 模拟

仿真的目的是在不同参数设置下评估我们所提出算法的性 能。传感器节点随机分布在 200 × 200 m² 的方形区域内, 汇聚节点位于该区域中心。数据包大小固定为 128字节。 在 MAC层,竞争窗口的大小固定为 32 张等人(2010年)。 我们设定所有节点的传输范围为 R_T = 35m。干扰范围为 R_I = qR_T,其中比率 q 设为 2。

我们有三种聚合树构建方法:BFST、PNTL 和 PS,以及两种调度方法:SS 和 GS。这形成了四种数据 聚合树与调度方法的组合,即 BFST+SS、BFST+GS、 PNTL+SS 和 PS+GS。需要注意的是,由于 PNTL 无法 与 GS 结合,且 PS+SS 的性能等同于 PNTL+SS,因此 我们不考虑 PNTL+GS 和 PS+SS 这两种组合。对于基 于最大 k‐割的树构建方法 PNTL 和 PS,我们有一个参 数h_max 用于确定允许的最大高度 聚合树。对于调度方法GS,参数 L为可用时帧数量。这 两个参数需要满足条件: h_min ≤ h(T) ≤ h_max ≤ L,其 中 h_min是BFS树的高度, h(T)是生成的聚合树的高度。 给定延迟界限∆,较大的 L意味着更多的可用时帧数量, 但每个时帧的大小较小。我们进行了四组仿真,以下报 告的所有结果均为100次运行的平均值。

我们首先通过在图2中固定 L= h_min,评估了100节 点网络在不同延迟界限下的平均成功概率。对于一个给 定的网络实例和一种算法,所有延迟界限对应的聚合树 和传输调度都是相同的。然而,不同的延迟界限会导致 时帧大小不同,从而产生不同的成功概率。从图2中, 我们可以得出以下观察结果:
- 随着延迟界限的增加,平均成功概率也随之提高。当 延迟界限较严格时,这一趋势更为显著。这表明,在严 格的延迟界限下进行小幅增加,便可使成功概率得到显 著提升。
- 当延迟界限达到某个值(140ms)时,PNTL+SS和 PS+GS的曲线变得平缓。这意味着每个传感器节点已 经拥有足够的时间与其他传感器节点竞争传输,其成 功概率接近1。
- 基于最大 k‐割的算法PNTL+SS和PS+GS比基于BFS 树的算法BFST+SS和BFST+GS表现更好。这表明我 们提出的构建数据聚合树的方法非常高效。
- 当聚合树不够理想时,调度方法对结果影响很大,因为 BFST+GS远优于BFST+SS。然而,如果聚合树构建良 好,则留给调度的优化空间很小。此外,PS中父节点分 配带来的增益微乎其微,因为PNTL+SS和PS+GS的曲 线几乎重叠。这也表明,我们的最大 k‐割树构建方法能 够有效应对节点干扰,PNTL的结果已经足够好。

图3显示了四种算法的归一化平均节点干扰(相对于由 BFST+SS产生的最大节点干扰)。我们可以看到PS+ GS略优于PNTL+SS。

然后,我们通过固定 ∆= 100ms,评估算法在不 同允许的最大树高 h_max 下的100节点网络中的性能。由 于所有网络实例的最大 h_min 为 h∗ = 12,我们将允许的 最大树高 h_max 从 h∗开始逐步增加至 h∗ + 7。时帧数量 固定为 h∗ + 7。图4显示了不同算法的平均成功概率随 允许的最大树高的变化情况,图5显示了相应的归一化 平均节点干扰。可以看出,PNTL+SS和PS+GS的成功 概率增长 随着允许的最大树高的增加,性能得到提升,因为更高 的树高能够更高效地将可能产生干扰的节点划分到不同 的层中。这种性能提升在PNTL+SS中尤为明显。由于 SS中使用的时帧数量等于树高,因此当PNTL+SS充分 利用可用时帧时,可以获得最佳性能。BFST+SS和 BFST+GS的聚合树和传输调度在不同树高下保持不变。 图4和图5再次证实,基于最大 k‐割的算法远优于基于 BFS树的方法。

在第三次模拟中,我们通过固定 ∆= 100ms,研究了 时帧数量 L对100节点网络的平均成功概率的影响。图 6和图7分别显示了成功概率以及节点干扰随时间帧数量 的变化情况。我们再次让可用时帧数量从 L= h∗ (12)增 加到 L= h∗ +13。允许的最大树高H_max 始终设置为 L。 我们可以观察到,除了BFST+SS之外的所有算法,随着 可用时间帧的增多,产生的干扰更少。然而,成功概率 并未随之持续增加。原因是时帧的增加导致每个时帧的 尺寸变小,这对成功概率产生了负面影响。 因此,缩短的允许传输时间抵消了节点干扰减少带来的 一些优势。因此,我们可以发现PNTL+SS和PS+GS的 成功概率在 L= h∗+8之前变化不大,之后略有下降并 再次保持相对平稳。尽管BFST+GS随着L减少了干扰, 但其增益被缩短的传输时间所掩盖,随着 L增大,其 成功概率变得更差。图6告诉我们,只要时帧大小不太 小,基于最大 k‐割的算法在不同时帧数量下的性能差异 不会太大。

最后一组仿真通过固定 ∆= 100ms来考察不同规模网络 中的性能。图8和图9显示了当网络中节点数量从60增加 到140时的成功概率和节点干扰情况。我们设置 L= h_max = h_min。显然,节点规模较小的网络受到的 干扰更小,因此成功概率更高。然而,这并不意味着传 感器的稀疏部署优于密集部署,因为在密集网络中由更 多数据包聚合而成的数据包可以携带更大的信息量。

我们还评估了在不同参数变化下,针对 q= 3(表示具 有更高争用级别的网络)以及汇聚节点位于该场景时, 不同的路由和调度组合的性能 所考虑方形区域的角落。结果与已报道的相似。由于篇 幅限制,论文中省略了这些内容。

6 结论

我们研究了使用CSMA/CA MAC层协议的无线传感器网 络中的实时数据聚合问题。我们的目标是最大化所有传 感器节点的平均传输成功概率。我们将系统时间划分为 固定大小的时间帧,并将每个传感器的传输调度到相应 的时间帧中。在同一父节点下的所有子节点的传输被安 排在同一个时间帧内,并以CSMA/CA方式竞争信道访 问。在此系统模型中,数据聚合树的构建对于最大化数 据收集的成功概率变得至关重要。我们首先提出了一种 用于数据聚合树构建的算法,该算法最小化所有传感器 节点的总体干扰。然后,我们提出了一种高效的贪婪调 度算法,将节点的传输分配到时间帧中,以最小化并发 传输之间的干扰。我们进行了大量仿真,结果表明所提 出的方法能够显著提高传输成功概率。

【四旋翼无人机】具备螺旋桨倾斜机构的全驱动四旋翼无人机:建模与控制研究(Matlab代码、Simulink仿真实现)内容概要:本文围绕具备螺旋桨倾斜机构的全驱动四旋翼无人机展开研究,重点探讨其系统建模与控制策略,结合Matlab代码与Simulink仿真实现。文章详细分析了无人机的动力学模型,特别是引入螺旋桨倾斜机构后带来的全驱动特性,使其在姿态与位置控制上具备更强的机动性与自由度。研究涵盖了非线性系统建模、控制器设计(如PID、MPC、非线性控制等)、仿真验证及动态响应分析,旨在提升无人机在复杂环境下的稳定性和控制精度。同时,文中提供的Matlab/Simulink资源便于读者复现实验并进一步优化控制算法。; 适合人群:具备一定控制理论基础和Matlab/Simulink仿真经验的研究生、科研人员及无人机控制系统开发工程师,尤其适合从事飞行器建模与先进控制算法研究的专业人员。; 使用场景及目标:①用于全驱动四旋翼无人机的动力学建模与仿真平台搭建;②研究先进控制算法(如模型预测控制、非线性控制)在无人机系统中的应用;③支持科研论文复现、课程设计或毕业课题开发,推动无人机高机动控制技术的研究进展。; 阅读建议:建议读者结合文档提供的Matlab代码与Simulink模型,逐步实现建模与控制算法,重点关注坐标系定义、力矩分配逻辑及控制闭环的设计细节,同时可通过修改参数和添加扰动来验证系统的鲁棒性与适应性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值