23、ADNL - Angle:用于无线传感器网络的精确分布式节点定位方法

ADNL - Angle:用于无线传感器网络的精确分布式节点定位方法

在无线传感器网络(WSN)中,节点定位是一个关键问题。本文将介绍一种名为ADNL - Angle的定位方法,它基于到达角(AoA)技术,能够有效解决多跳分布式定位问题。

问题背景与方法概述

在WSN中,借助AoA技术,节点可以获取与相邻节点的角度信息。目前,我们致力于解决基于锚节点和角度的分布式多跳定位问题。

许多方法可用于解决定位问题,但我们认为,一个好的定位方法不应依赖过强的假设,例如传感器节点的最大传输范围(在单位圆盘图通信模型中),或者角度测量误差模型及其参数。同时,除非锚节点数量极少,否则无需在整个网络中广播锚节点的位置,因为距离过远的锚节点对传感器节点提供的信息有限。

我们的ADNL - Angle方法主要利用k跳邻域的拓扑知识以及相邻节点间的角度测量信息。在本文中,我们使用2跳邻域知识进行了模拟,结果令人满意。而且,将传感器的知识限制在2跳邻域更合适,因为获取这些信息所需的消息交换量相对较少。此外,一些通信算法(如连通支配集构造算法)也常需要2跳邻域知识。

ADNL - Angle定位方案的主要原理可分为三个步骤:
1. 信息收集 :传感器收集其一跳邻域内的节点信息(包括AoA信息)和锚节点位置,然后转发这些数据并收集其二跳邻域的信息。
2. 位置计算 :在2跳邻域内有足够锚节点的节点,使用基于力的新算法(结合AoA信息)计算自身位置,之后成为估计锚节点。
3. 延迟机制 :对于难以定位的节点,添加延迟机制,推迟其位置计算。

这里,估计锚节点是指初始位置未知,但一旦计算出自身位置,就可充当真正锚节点的节点。

基于力的算法计算位置

2跳邻域发现(第一步)通过相邻节点间交换带有附加信息的HELLO消息来完成。下面详细介绍传感器节点在ADNL - Angle中确定自身位置的过程(第二步)。

每个在2跳邻域内至少有两个锚节点或估计锚节点的节点,都可以运行基于力的算法;其他节点则需等待部分邻居成为估计锚节点。

假设节点I在其邻域内有足够的锚节点。I对网络的了解仅限于其2跳邻域,因此它可以估计自身位置。I本地运行以下算法来确定位置:
1. 计算其邻域内节点间的跳数距离。
2. 将每个锚节点(或估计锚节点)虚拟放置在其已知位置。
3. 将未定位节点放置在其两个最近的锚节点之间。
4. 首先,仅使用与锚节点相关的力执行基于角度的力算法。
5. 然后,再次执行该算法,此时考虑相邻节点间的所有力,将节点虚拟移动到其最终位置。
6. 算法结束时,I获取自身位置并成为估计锚节点。

I在内部构建其邻域的表示,基于力的算法会移动未定位节点,以满足相邻节点间的角度关系。在给定的迭代次数内,或直到目标节点不再移动,传感器在每次迭代中都会向其真实位置虚拟移动。

节点所受的力取决于虚拟角度(子图的本地表示中)和AoA测量角度的差异。设$\vec{v} {I,J}$是从I到J的单位向量,$\vec{p} {I,J}$是$\vec{v} {I,J}$逆时针旋转90°得到的单位向量。节点J对节点I施加的力$\vec{F} {I,J}$由下式给出:
$\vec{F} {I,J} = (\alpha {I,J} - \beta_{I,J}) \times \vec{p}_{I,J}$

设$N(I)$是节点I的所有相邻节点。每次迭代结束时,I的所有相邻节点对其施加的力之和为节点I的合力:
$\vec{F} {I} = \sum {K\in N(I)}\vec{F}_{I,K}$

设i为之前完成的迭代次数。每次迭代时,未定位节点根据所受的力进行移动。节点I的第(i + 1)个位置计算如下:
$\begin{cases}
x_{I}^{i + 1} = x_{I}^{i} - \sum_{K\in N(I)}(\sin(\alpha_{I,K} - \beta_{I,K}^{i}) \times \sin(\beta_{I,K}^{i})) \
y_{I}^{i + 1} = y_{I}^{i} + \sum_{K\in N(I)}(\sin(\alpha_{I,K} - \beta_{I,K}^{i}) \times \cos(\beta_{I,K}^{i}))
\end{cases}$

力的作用会持续到达到给定的最大迭代次数MAX,或节点位置不再移动。更正式地说,当满足以下条件之一时,基于力的算法停止:
$\text{dist}(x_{I}^{i - 1}, y_{I}^{i - 1}, x_{I}^{i}, y_{I}^{i}) \leq \epsilon$ 或 $i \geq MAX$

我们的观察表明,MAX值应与涉及的节点数量成正比。

最后一次迭代后,运行基于力算法的节点获得其位置,成为估计锚节点,并将该位置通知其邻域。这使得邻域内锚节点不足的未定位节点能够计算自身位置,或增加尚未开始定位过程的节点的信息。

需要注意的是,在应用基于力的算法时,锚节点和估计锚节点不受虚拟力的影响,它们保持在估计或准确的位置。而且,锚节点由于已知自身位置,无需应用定位算法。

延迟定位计算

利用角度信息,未定位的传感器节点至少需要收集两个锚节点的位置才能估计自身位置。但有些节点比其他节点更难定位。为提高定位过程的准确性,我们在ADNL - Angle中添加了延迟机制,让部分节点推迟位置计算。

确定延迟时间的假设如下:
- 邻域内锚节点较多的节点更容易定位,主要是因为可以补偿角度测量误差。
- 距离未定位节点较近的锚节点,比距离远的锚节点提供的信息更多。

我们研究了多种标准及其组合方式,最终选择以下公式来定义节点I(在其邻域内至少有两个锚节点)开始定位过程前的等待时间(TTW):
$TTW = \frac{c}{|A_1(I)| + |A_2(I)|^w}$

其中,$|A_1(I)|$和$|A_2(I)|$分别是节点I的一跳和二跳邻域内锚节点的数量。c是一个经验常数,其值根据模拟参数确定,实际上取决于节点计算自身位置所需的时间。加权系数w经验性地设为10,以显著降低二跳锚节点的重要性。

当节点I在其邻域内至少有两个锚节点时,它根据上述公式计算TTW,并启动计时器T。在$T < TTW$时,I等待以收集更多信息;等待期间,如果I收到新定位节点的位置消息,它会重新计算TTW。一旦$T \geq TTW$,节点I就运行基于角度的力算法,获取自身位置并将其通知给邻居。这种策略以增加延迟为代价,显著提高了定位的准确性。

性能分析

我们使用WSNET模拟器分析了几个参数对ADNL - Angle定位算法的影响,并将结果与概率方案进行了比较。

模拟参数

我们考虑了两种不同的节点部署策略,均在1000×1000的正方形区域内进行:
- 随机均匀部署 :在正方形区域内按照均匀分布随机部署节点。
- 10×10噪声网格放置 :以网格形式放置节点,并添加高斯噪声以模拟更真实的部署情况。

对于每种拓扑,节点数量固定:随机均匀部署为200个节点,网格部署为100个节点。传输范围从125到250以25为增量进行设置,以获得不同的连通性水平。

对于AoA测量,我们采用高斯噪声模型。即,如果节点I和J之间(相对于北方)的真实角度为$\theta_{I,J}$,则测量角度$\alpha_{I,J}$服从正态分布:
$\alpha_{I,J} = N(\theta_{I,J}, \sigma^2)$

其中,$\sigma$是所选的角度测量误差参数(正态分布的标准差)。例如,若$\sigma = \frac{\pi}{8}$,则95%的测量值将在区间$[-\frac{\pi}{4}, \frac{\pi}{4}]$内。

为了使模拟更真实,我们还在网格放置中添加了高斯噪声来模拟误差。

为了获得可比的结果,我们使用最大传输范围R对定位精度进行归一化处理。每个数据点进行了100次模拟。

ADNL - Angle的模拟结果

平均邻居数量对大多数定位方案的性能有重要影响。图5a和图5b分别展示了随机部署和噪声网格放置时,网络密度对定位误差的影响。不同的曲线代表了不同的AoA测量误差(从0到$\frac{\pi}{8}$)。

使用上述参数,在第一种拓扑中,平均度在8.8到31.1之间;在第二种拓扑中,平均度在3.2到15.8之间。

当考虑两种拓扑时,正如预期的那样,平均连通性增加会使定位结果更准确。例如,在随机部署中(图5a),当测量噪声参数$\sigma = \frac{\pi}{16}$时,平均定位误差从35%R降至6%R。我们还注意到,当平均连通性增加时,平均定位误差趋于稳定:除了在测量误差较大的情况下,如果网络密度高于12,定位精度的提升就不太明显了。

对于两种拓扑,得出的结论大致相同。但在噪声网格放置中,当密度最低时,即使没有测量误差,结果也比连通性较高时的精度低很多。实际上,节点仍然能够定位自身,但最初只有少数节点在其二跳邻域内知道两个锚节点。由于所选的传输范围(即连通性水平),图6a所示的情况经常发生。即使节点X知道图中的拓扑结构、锚节点A和B的位置,以及所有相邻节点间无误差的角度测量值,也很难确定其位置。在这种情况下,图6中的所有图形都符合给定的角度测量值。

为了获得更准确的结果,一种可能的解决方案是最初添加更多的锚节点。此外,图5b还显示,通过增加传输范围,定位精度可以从超过30%R提高到接近1%R。这种显著改善的主要原因是新的通信链路消除了歧义,这些链路在图6a中用虚线表示。

从图5a和图5b的四条不同曲线中,我们可以观察到到达角测量误差的影响。在模拟中,我们使用了无误差($\sigma = 0$)和误差逐渐增大($\sigma = {\frac{\pi}{32}, \frac{\pi}{16}, \frac{\pi}{8}}$)的AoA测量。正如预期的那样,测量误差越大,定位结果越不准确。然而,当密度增加时,测量误差的影响会显著降低;在密度最高的网络中,这种影响几乎可以忽略不计。实际上,在最低密度下,无测量误差时平均定位误差为8%R,而$\sigma = \frac{\pi}{8}$时为72%R;但在最高密度下,这两个值分别为1%R和11%R。

图7展示了额外锚节点对ADNL - Angle定位方案的影响。当传输范围设置为250(即高连通性水平)时,使用ADNL - Angle时,额外的锚节点不会提高定位精度,即使传输范围很大也是如此。而当考虑最低研究密度(传输范围设置为125)时,额外锚节点的影响明显更大。在测量误差较大的情况下,额外锚节点的益处更加显著。之前提到的在最低密度和噪声网格放置中难以定位节点的问题,通过添加额外锚节点可以得到部分解决。

这些模拟结果分析表明,ADNL - Angle方法能够应对测量误差,甚至可以限制大测量误差的影响。此外,当考虑大测量误差和/或低连通性水平时,ADNL - Angle从额外锚节点中受益。

ADNL - Angle与概率方案的比较

我们将提出的ADNL - Angle方案与概率方案进行了比较。模拟仍使用WSNet,参数与概率方案的模拟相同。我们选择与概率方案比较,是因为据我们所知,它是利用AoA信息最准确的定位方法。

在图8中,我们展示了平均连通性为10的网络中的模拟结果。图8a比较了ADNL - Angle和概率方案在不同数量锚节点下的定位精度,角度测量误差参数$\sigma = \frac{\pi}{18}$。在这些模拟中,ADNL - Angle优于概率方案。无论考虑的锚节点数量如何,两种方法之间的差距约为5%R,并且两种方法从额外锚节点中获得的益处相同。

图8b研究了AoA测量误差对两种方法的影响。正如预期的那样,测量误差越大,两种方法的定位结果越不准确。在这些模拟中,ADNL - Angle也优于概率方案。而且,当测量噪声增加时,两种定位方法之间的差距略有增大的趋势。

除了这些显示ADNL - Angle准确性的结果外,我们的方法使用的假设要弱得多。实际上,与概率方案不同,ADNL - Angle不依赖于最大传输范围的知识,而这在实际中可能无法使用。此外,在概率定位方案中,算法使用测量误差模型来定位传感器节点。由于该模型明显依赖于环境和硬件,因此不适合用于确定传感器的位置。这些强假设使我们认为,在实际应用中,概率定位方案的结果可能会更不准确。

在计算成本(多个概率密度函数的组合)和消息交换数量方面,概率方案的成本更高。在ADNL - Angle中,消息交换数量为$2n + (n - m)$,其中n是网络中的节点数量,m是锚节点数量:2n用于邻域发现步骤,$(n - m)$用于通知新定位的传感器位置。需要注意的是,这些通信信息还可用于构建通信骨干网。而在概率方案中,消息交换数量更多:在他们的模拟结果中,每个锚节点广播一个TTL等于4的消息。使用概率方案会导致大量的消息交换和锚节点数据包中的大量数据。

综上所述,我们认为ADNL - Angle在准确性和可扩展性方面,更适合解决定位问题。

总结

本文针对具有到达角信息的WSN中的多跳分布式定位问题,提出了一种新颖且准确的定位方法——ADNL - Angle。通过上述的分析和模拟,我们证明了该方法在应对测量误差、利用额外锚节点以及与其他方案的比较中,都表现出了良好的性能。

ADNL - Angle:用于无线传感器网络的精确分布式节点定位方法

技术优势总结

ADNL - Angle方法在无线传感器网络定位领域展现出了多方面的优势,以下通过表格形式进行总结:
|优势类别|具体优势|
| ---- | ---- |
|误差应对能力|能够有效应对测量误差,在网络密度增加时,可显著降低测量误差对定位结果的影响,即使存在较大测量误差,也能保证一定的定位精度。|
|锚节点利用效率|在大测量误差和低连通性水平情况下,能从额外锚节点中受益,提高定位的准确性。|
|假设条件宽松|不依赖最大传输范围的知识以及复杂的测量误差模型,避免了实际应用中难以获取或不准确的信息,使方法更具实用性。|
|消息交换成本|消息交换数量相对较少,为$2n + (n - m)$,且通信信息可用于构建通信骨干网,相比概率方案,在计算成本和消息交换方面更具优势。|

关键技术流程梳理

为了更清晰地展示ADNL - Angle方法的关键步骤,下面给出mermaid格式的流程图:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;

    A([开始]):::startend --> B(信息收集):::process
    B --> C{邻域内锚节点是否足够}:::process
    C -- 是 --> D(基于力的算法计算位置):::process
    C -- 否 --> E(等待部分邻居成为估计锚节点):::process
    E --> C
    D --> F{是否满足停止条件}:::process
    F -- 是 --> G(成为估计锚节点并通知邻域):::process
    F -- 否 --> D
    G --> H{是否为难以定位节点}:::process
    H -- 是 --> I(延迟机制,计算TTW并等待):::process
    H -- 否 --> J(完成定位):::process
    I --> D
    J --> K([结束]):::startend
应用场景分析

ADNL - Angle方法适用于多种无线传感器网络应用场景,以下为一些具体场景分析:
1. 环境监测 :在森林、海洋等自然环境监测中,传感器节点分布广泛且可能面临复杂的环境干扰,导致角度测量存在误差。ADNL - Angle方法能够应对测量误差,即使在低连通性的情况下,也可通过利用额外锚节点提高定位精度,准确确定传感器节点的位置,从而更好地收集环境数据。
2. 工业自动化 :在工厂车间等工业环境中,传感器节点需要实时准确地定位,以实现设备的自动化控制和管理。该方法消息交换成本低,且通信信息可用于构建通信骨干网,能够满足工业场景对高效通信和精确定位的需求。
3. 智能交通 :在智能交通系统中,如车辆和路边传感器的定位,ADNL - Angle方法不依赖最大传输范围的知识,更符合实际应用需求。同时,其能够在高密度网络中保证定位精度,可有效提高交通管理的效率和安全性。

未来发展方向探讨

虽然ADNL - Angle方法已经表现出了良好的性能,但仍有一些方面可以进一步研究和改进:
1. 算法优化 :可以进一步优化基于力的算法,减少迭代次数,提高算法的收敛速度,从而降低计算成本和定位时间。
2. 自适应机制 :引入自适应机制,根据网络的实时状态(如连通性、测量误差等)自动调整算法参数,以更好地适应不同的应用场景。
3. 多模态融合 :结合其他定位技术(如GPS、RSSI等),实现多模态融合定位,进一步提高定位的准确性和可靠性。

总结与展望

ADNL - Angle作为一种新颖且准确的无线传感器网络定位方法,在应对测量误差、利用额外锚节点以及与其他方案的比较中,展现出了显著的优势。通过对其技术原理、性能分析和应用场景的探讨,我们可以看到该方法在实际应用中的潜力。未来,随着无线传感器网络技术的不断发展,相信ADNL - Angle方法将不断完善和拓展,为更多的应用场景提供可靠的定位解决方案。我们期待该方法在无线传感器网络领域发挥更大的作用,推动相关技术的进步和发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值