基于社会网络分析与簇内接近中心性的三维无线传感器网络定位技术

摘要

本文提出了一种基于社会网络分析(SNA)思想的新型无线定位技术,用于研究网络作为图的不同属性。中心性是SNA中的主要概念,因此我们提出使用接近中心性(CC)作为衡量节点在其网络中由于地理位置相对于其他节点的重要性的指标。具有最高CC度的节点被选为簇头,然后每个簇头可以形成其三边测量过程以从其簇中收集数据。基于CC值选择最近的簇,并通过三边测量过程估计未知节点的位置。为了形成完美的三边测量,簇头选择三个锚节点。与现有的接收信号强度指示(RSSI)技术相比,该提出的算法即使在凹形、O形和C形等不同的网络拓扑下也提供了高精度。基于实际无线电传播数据集的MATLAB仿真结果显示,定位误差为0.32 m,标准差为0.26 m。

关键词 :无线传感器网络;社会网络分析;接近中心性;簇;接收信号强度指示器

1. 引言

无线技术与电子系统的最新进展推动了无线传感器网络(WSN)的实现,而无线传感器网络是物联网(IoT)中最重要的组成部分。一个WSN由传感器节点组成,这些节点包括传感单元、电源、板载内存和收发器[1]。这些节点能够感知物理现象,并在网络内的节点之间交换数据。WSN可能包含一些锚节点、信标和汇聚节点,用于从其他传感器节点收集数据并发送给最终用户或应用程序。传感器网络可以以低成本解决方案的方式进行部署,这使得该技术在家庭自动化、监控、畜牧业以及人类难以进入的区域等众多应用中更加实用[2]。对于无法进入的区域,通常通过飞机或机器人投放节点。然而,某些应用为了获取重要且有用的数据,需要具备位置信息。由于成本效益高的解决方案,未来传感器将无处不在地部署,因此传感器定位问题变得越来越重要。迄今为止,针对室内位置估计问题,市场上已出现了许多面向商业和研究目的的解决方案。研究环境关注不同的通信网络,例如局域网、红外线、低速无线个域网、无线局域网、超声波以及最近的可见光通信。确定传感器位置对于无线自组织传感器网络而言是一个重要且关键的问题。由于传感器网络通常采用分层网络协议栈来构建,因此传感器定位对于那些依赖位置信息的应用来说是必不可少的。

感知应用,基于物理位置处理数据。因此,在无线传感器网络中的传感器部署后,有必要确定每个传感器的位置。定位中最流行且广泛使用的技术之一是全球定位系统(GPS)。但在实际中,由于以下原因难以使用GPS:(1)由于视线问题,GPS并不总是可用,例如在室内、水下或地铁中无法工作;(2)由于高能耗和成本,无法为每个传感器节点配备GPS和其他设备;(3)传感器设计要求低功耗,而GPS接收者功耗很高。因此,我们期望采用一些间接方法来确定传感器节点的位置[3]。

许多网络设计挑战可能影响定位过程[4]。显然,设计目标是实现高精度、全网覆盖,并以低能耗完成。大多数研究工作集中在二维(2D)定位上,该定位需要至少三个独立测量来明确确定位置。为了应对随机(不可预测)故障,必须有最优方案显著解决误差预算问题。因此,本文提出一种基于社会网络分析(SNA)的三维(3D)定位技术。SNA将社交关系视为节点和关系构成的形式,其中节点是个体参与者,而关系是参与者之间的关系。在传感器网络的许多应用中,需要探索一些重要组件。在SNA中,中心性是一种用于表示网络内重要性的度量指标。SNA中提出了多种中心性度量方法,详见第3节。本文其余部分组织如下:第2节描述相关工作,同时第3节简要回顾无线定位技术和SNA。第4节介绍系统模型,接着第5节提出用于无线传感器网络的基于SNA的定位算法。最后,第6节给出仿真结果,第7节对全文进行总结。

2. 相关工作

用于无线传感器网络的短距离无线通信技术包括Wi-Fi、Zigbee和蓝牙等。Zigbee是一种基于 IEEE 802.15.4标准[3]的低成本、低功耗、大网络规模和低数据速率的通信协议。基于Zigbee的无线传感器网络的应用包括农业和智能家居、栖息地/环境监测以及设备跟踪[5]。例如,目前最流行的基于无线电标准的6LoWPAN、LoRA和WirelessHART正逐步用于办公自动化和无线机器对机器(M2M)通信[6]。

通常,定位算法分为两类:基于测距和无需测距,如图1所示。

示意图0

在基于距离的定位系统中,距离通过到达时间(ToA)[7],到达时间差(TDoA)[8],到达角(AoA)[9]和RSSI[10–14]等技术进行估计。获得距离测量值后,通过三角测量法、三边测量或最大似然法进行定位[15,16]。基于距离的系统具有较高的精度,但使用RSSI作为距离估计方法的系统除外,因为RSSI测量本身具有噪声[16]。在基于测距的算法中,可以专注于减少非视距问题等不利影响。这对于单目标定位可能效果良好。然而,许多应用需要多目标定位。尽管可以为网络中的所有节点实现单目标算法,但这不可避免地会增加通信和计算开销。

另一方面,无距离测量定位系统利用事件邻近性或无线连接信息[17–19]等感知特征。这些方法可以低成本提供位置信息,但定位精度较低。无测距算法中最著名的解决方案是指纹识别(分为在线和离线两个阶段进行计算)。基于指纹识别的定位算法可分为多个类别,如射线追踪模型[20],、支持向量机[21],、数据挖掘技术[22],、概率方法[23]以及基于卡尔曼滤波[24],的方法,这些方法旨在利用在第一阶段存储于离线数据库中的在线RSS样本。由于反射、多径衰落、衍射以及地形和信号衰减等因素,在密集环境中指纹识别可能导致较大的定位误差[25,26]。无测距定位方案因其合理的精度、易于实现、低成本和低功耗而在无线传感器网络定位中越来越知名。一种非常著名的无测距方案——近似三角形内点法(APIT)在参考文献[27],中提出,该方法基于三角形内点测试(PIT)。在APIT方案中,目标节点从网络中选择另外三个信标,并测试其是否位于由这三个信标构成的三角形内部。这可以通过交换参考坐标、执行PIT测试、聚合数据元素并使用质心法计算位置信息来实现。自组织定位(APS)算法在参考文献[28]中提出,是另一种基于多边定位法的无测距定位技术。APS是一种分布式技术,不需要特殊的部署基础设施,它利用全局坐标以实现更高的定位精度。另一种著名的基于多维缩放映射(MDS-MAP)的方法在参考文献[29],中提出,这是一种基于数学心理学的无测距算法,可提供几何邻近性的位置信息。

在现有文献中,社交网络的概念仅通过使用介数中心性[30]应用于二维(2D)定位系统。本文提出使用接近中心性(CC)进行定位测量。簇和簇头的形成以启动该过程,还将降低通信和计算成本。此外,CC的特性促使我们将其用于计算具有混合特性的定位误差。CC能够在计算过程中避免额外的最短路径算法,因为CC本身利用最短路径场景作为距离测量。

3. 无线定位与社会网络分析(SNA)综述

开发室内定位系统时,主要考虑因素是通过分析应用描述和用户需求,以证明该领域研发的合理性。在为特定系统选择合适的定位技术之前,需要将性能参数与用户需求相匹配。

3.1. RSSI

在无线定位系统(WLS)中,RSSI值被广泛用于估计邻居之间的距离。RSSI的理论特性可直接从弗里斯自由空间传输方程[31],推导得出,即接收信号强度随距离d到发送方的距离呈平方反比衰减。

$$
P_{RX}= P_{TX} \times G_{RX} \times G_{TX}\left( \frac{\lambda}{4\pi d} \right)^2,
\quad (1)
$$

其中 $P_{RX}$ 是接收功率,$P_{TX}$ 是发送方的发射功率。$G_{RX}$ 和 $G_{TX}$ 分别是接收者和发射者的天线增益。$d$ 是发射者与接收者之间的距离,$\lambda$ 表示射频信号的波长。公式(1)表明,在较高频率下会发生较大的功率损耗。因此,对于具有指定增益的给定天线,较低频率下的信号质量会更好。由于多种信号路径因素的影响,无线通信中的损耗与公式(1)有所不同。这些信号存在于环境中,可能会影响定位系统的整体精度。可能存在多种类型的噪声,如高斯噪声、白高斯噪声和智能噪声。通过合并常数、增加损耗并使用对数功率值,公式(1)可进一步表示为[32]

$$
d= d_0 \times 10^{\frac{P_0 -P_{RX}+E_\sigma}{10\eta}}.
\quad (2)
$$

在公式(2)中,距离$d_0$是对应于参考发射功率$P_0$的参考距离。还有一个路径损耗因子 $\eta$,该因子在室外环境中通常为2–5,在室内环境中为2–4[31]。接收设备的RSSI值可以使用对数功率值表示。

$$
\text{RSSI(dBm)}= -10n \log_{10} d+ \text{Tx(dBm)},
\quad (3)
$$

其中$n$是衰减常数$n$,在自由空间中近似等于2,$d$是根据RSSI估计的距离(米),而TX是发射功率。

3.2. 三边测量

三边测量是一种众所周知的方法,用于计算三个球体交点的中心,前提是已知这三个球体的中心点和半径。其他方法如三角测量法和多边定位法成本更高,因为它们需要特定的硬件来计算角度[33]。因此,我们采用三边测量法,因为它具有低成本的特点,并且只需要最少数量的锚节点,二维(2D)定位需要三个节点,三维(3D)定位需要四个节点,如图2所示。

示意图1

3.3. 社会网络分析(SNA)

社会网络分析(SNA)主要研究群体、人及其他类似实体之间的关系。这种关系在社会网络分析(SNA)中以节点和关系的形式表现[27]。节点是个体参与者,而关系是网络中参与者(传感器)之间的关联。在传感器网络中的许多应用都需要识别重要组件[3]。这些关系可能是有向的、无向的、二分的或赋值的。在有向关系中,一个节点是发起者(关系源),另一个节点是接收者(关系目的地)。二分的关系仅表示两个节点之间是否存在关系信息,而在赋值关系中,权重表示关系强度。社会网络分析(SNA)引入了一种称为中心性的度量指标,用于表示节点在网络中的重要性[27]。在图论和网络分析中,使用多种关于顶点的中心性度量指标来评估网络中的节点。总体而言,在网络分析中广泛使用的中心性度量有四种。

3.3.1. 度中心性

最简单且第一个度量是度中心性(DC),它计算网络中一个节点的邻居数量(即节点所拥有的关系数量)。入度和出度中心性用于有向关系[34]。对于具有n个顶点的图$G=(V,E)$,节点 $\nu$ 的度中心性$C_D(\nu)$为:

$$
C_D(v)= \frac{\deg(\nu)}{n-1}.
\quad (4)
$$

在图的扩展中,设 $\nu^ $ 在$G$中具有最高度中心性。令$X=(Y,Z)$为具有n个节点的图,且$X$中$y^ $具有最高度中心性。

$$
H= \sum_{j=1}^{|V|}
C_D(y^*)- C_D(y_j).
\quad (5)
$$

图 $G$ 的DC是:

$$
C_D(G)=
\frac{\sum_{j=1}^{|V|}[C_D(\nu^*)- C_D(\nu_j)]}{Q},
\quad (6)
$$

如果$Q= 0$(图 $X$ 包含一个节点),

$$
Q=(n-1)\left(1-\frac{1}{n-1}\right)= n-2,
\quad (7)
$$

$$
C_D(G)=
\frac{\sum_{j=1}^{|V|}[C_D(\nu^*)- C_D(\nu_j)]}{n-2}.
\quad (8)
$$

3.3.2. 介数中心性

介数中心性(BC)用于基于最短路径理论测量网络中的中心性。最短路径上的顶点通常比其他顶点具有更高的BC。对于一个包含n个顶点的图$G=(V,E)$,其BC的计算如下[34]。

对于每对节点 $(a,b)$,找出所有可能的最短路径。
对于每一对节点 $(a,b)$,计算所有相关的分数路径。
对所有可能的节点对中的分数求和。

$$
C_B(v)= \sum_{a\neq v\neq b}
\frac{\ell_{ab}(v)}{\ell_{ab}},
\quad (9)
$$

其中$\ell_{ab}$是从$a$到$b$的最短路径,且$\ell_{ab}(v)$是从$a$到$b$并经过$V$的一条路径。

3.3.3. 接近中心性

如果一个节点在给定网络中的存在距离其他节点最近,则称该节点最接近其他节点。换句话说,这也指的是部署的节点之间的最短路径。因此,最接近的节点在网络中具有最高的可见性。与度中心性相比,接近中心性(CC)的计算更为简单。它通过测量目标节点到无线传感器网络中所有最接近节点的总最短距离,然后计算这些总距离的倒数值,从而获得目标节点的聚类系数值[34] as

$$
\sum_{a\in V/v} \frac{d_G(v, a)}{n-1} \quad \text{where } n \geq 2,
\quad (10)
$$

其中,对于非中心节点,考虑一个星型图

$$
\tilde{d}_a=
\frac{1+ 2+…+ 2}{n-1}= \frac{2n-3}{n-1}.
$$

因此,对于如图3所示的图,

$$
\sum_a [CC^* - CC_a]= 0+\left( \frac{1}{n-1} - \frac{1}{2n-3}\right)+…+\left(\frac{1}{n-1} - \frac{1}{2n-1}\right),
=(n-1)\times\left( \frac{1}{n-1} - \frac{1}{2n-3}\right).
$$

其中,$CC_a$ 是节点 $a$ 到其他节点的接近中心性值,而 $CC^*$ 是最高接近中心性近似值。

因此,相关系数的计算公式为:

$$
CC(v)=
\frac{1}{\sum_{a\in V/v} d_G(v, a)}.
\quad (11)
$$

示意图2 中的接近中心性)

在图3中,节点C和K在网络中对更多节点具有最高的可见相关系数。

3.3.4. 特征向量中心性

节点的重要性通过特征向量中心性(EC)来衡量。根据每个节点在网络中的可见性为其分配相对得分。网络中的每个顶点与其邻居的中心化总和成正比[34]。

$$
C_{ae}=
\frac{1}{\lambda}\sum_{j\neq 1} Y_{a,j} C_e j.
\quad (12)
$$

4. 系统模型

在无线传感器网络中,目标节点可以测量其自身与v个锚节点之间的距离。我们假设存在足够的锚节点以形成用于社会网络分析(SNA)的簇,并且这些锚节点正在接收来自簇内传感器节点的RSSI信息。我们进一步假设系统能够感知簇内任何锚节点的丢失。考虑一个大规模无线传感器网络,其中包含V个锚节点($v_i \in V$)和N个目标节点($n_i \in N$),这些节点被随机部署在三维空间中。

社会网络分析(SNA)被用作一个图,即$d_G(\Psi, V_\zeta)$,其中 $\Psi$ 是参考锚节点,而 $\zeta$ 是网络中的目标节点。考虑到所有节点的标识符都在网络中广播,并且具有最高CC值的节点可以代表一个簇$V_\zeta \rightarrow y(t)= V_n\in\psi -V_\zeta$。节点是随机部署的,因此系统能够在不同的拓扑结构下高效运行,体现了系统的鲁棒性。假设锚节点位置已知,并将路径损耗指数设为 $\gamma= 3$,功率损耗设为$L_0= 40$ dB。我们提出的方法适用于患者监测,甚至适用于以群体形式活动的牲畜监测。社会网络分析(SNA)已被认为是研究社会过程中个体或集体参与者之间互连性的有效方法,例如通信流或决策情境。由于SNA的实际特性,更容易获取位置信息。用于RSSI计算的无线信号模型和信道增益来自参考文献[31],如第3.1节所示。值得注意的是,我们采用不完美信道统计而非完整的瞬时信道状态信息(CSI)[35]。进一步假设在一次信标传输期间信道增益保持不变,且各信道相互独立。最广泛使用的信号传播模型是对数正态阴影模型。

$$
P(d)[\text{dBm}]= P(d_0)[\text{dBm}] -10n \log \frac{d}{d_0}+ X_0,
\quad (13)
$$

其中,$P(d_0)$ 表示从锚节点到未知节点在每个参考距离处的路径损耗。$d_0$ 假设为1m,$n$ 为路径损耗指数。$X_0 \sim N(0, \sigma^2)$ 为噪声模型。对数正态模型能够充分解释RSSI数据与CC值之间的关系。当室内环境发生变化时,采用不同的室内无线信号传输模型以适应各种情况。针对不同情况测量CC值和RSSI数据,并找出相应的传输模型,从而提高节点定位的精度。

$$
d= f(P)= \kappa_0+ \kappa_1P+…+ \kappa_sP^s+\Omega,
\quad (14)
$$

其中$P$和$d$分别为发送端与接收者之间的RSSI值和距离,$\kappa=[\kappa_0,\kappa_1,…,\kappa_s]^T$为拟合系数。$\kappa$系数的值通过最小二乘法测量,以获得最小的定位误差。

5. 基于社会网络分析的定位算法

选择具有最高CC值的节点后,使用RSSI进行距离估计。通过采用聚类概念,辐射距离被最小化。随后,该节点将连接到该簇。此外,三边测量在簇的形成过程中起着重要作用。

本文旨在对部署在室内环境中的目标节点进行定位。利用社会网络分析(SNA)可以在发生节点故障的情况下仍实现节点自身的定位。校准因子能够在链路或节点故障时选择另一个最近的节点。我们所提出的定位算法的核心思想是引入聚类,将每个未知节点与最近簇连接,以最小化辐射距离。采用RSSI测量方法,并结合三个选定锚节点进行三边测量。该选择

这些节点的聚类基于在锚节点中具有最高接近中心性值。我们提出的基于社会网络分析的无线传感器网络定位方案包含三个阶段。

5.1. 训练阶段

在第一阶段,选择具有最高CC值的锚节点。这可以通过以下条件完成:
1. 传感器节点初始部署后。
2. 由于硬件或软件缺陷导致的节点故障或损坏,从而引发不同的网络拓扑结构,这可能在定位过程中由于缺少传感器ID而被 noticed。
3. 网络中的任何变化,例如传感器节点的部署/重新分布网络。
4. 在节点之间经过特定的预定义周期时间作为握手定时器后。

根据最高相关系数选择锚节点的步骤如下。

  1. 所有锚节点在一定周期时间内依次向感知区域内的其他邻居节点广播其标识符。在这种情况下,$V_1$将其标识符广播给网络中的其他节点 $\Psi=(V_2,V_3,…,V_n)$。调制信号的形式如下:

$$
y(t)= \text{ID}+ M \sin(\omega_m+ \rho)
V_\zeta \rightharpoonup y(t)= V_{\Sigma n\in\Psi} - V_\zeta.
\quad (15)
$$

  1. 当广播锚节点拥有来自其他锚节点的ID和距离信息时,它会测量到其他节点的总距离的倒数。

$$
\sum_{n\in\Psi/v} \frac{d_G(\Psi, V_\zeta)}{n-1} \quad \text{where } n \geq 2.
$$

为了计算CC值,我们有$d(V_\zeta)=[d_1+…+ d_4]^{-1}$,其他节点也使用相同的关系计算最高CC值。

$$
CC=
\frac{1}{\sum_{n\in\Psi/v} d_G(\Psi, V_\zeta)}, \quad d(V_\zeta) \text{ where } n \geq 2.
\quad (16)
$$

  1. 计算所有CC值后,中心矩阵将按照CC值的降序进行排序。具有最高CC值的节点在网络内相对于其他节点具有最小且最中心的位置。排序后的CC矩阵将被交换到网络中的其他节点。训练阶段的算法在算法1中描述。

引理1。 锚节点$v$的CC处于无方向状态。如果图中所有锚节点都相互相邻,则该图是最大化的。

证明。 假设一组锚节点$v_i$是相邻的,则所有节点之间的距离最终为1,因此$C_c= n -1$。另设一个节点$v_j$与$v_i$不相邻,则距离至少为2,$C_c \leq n -2+ \frac{1}{2} < n -1$。

引理2. 设$I = G(\Psi, V_\zeta)$为包含锚节点$v_i,i = 1, 2, 3, 4$的聚类系数实例。若存在一个大小为$k$的距离集$\text{dist} \subseteq V$。因此,若$I$是一个正实例,则在$I$中存在一组锚节点$S$,使得对于每个$u \cup \text{dist}$,均有$(v,V) \in S \cup D$。

证明。 设锚节点之间的距离是图$G$中$C_c$的一个度。在向$\text{dist}$添加$k$条边后,共有$k+ D$个节点:$1\rightarrow C_c$。由于锚节点不相邻,图中距离至少为2,如引理1所述。由于每侧的距离值相同,中心点到每个簇头与锚节点的距离是最优的。

定义1。 最高CC值是锚节点到网络中其他节点的最短距离,用于形成定位的簇。

算法1 训练阶段
1: 初始化工作区域长度$W_b$(工作边界)
2:初始化锚节点间的RSSI最大范围和辐射总距离
3: 设置节点数量 $\rightarrow V_n$
4: 随机化传感器节点
5: 当$i= 1: V_n$时
6: 初始化节点间总距离
7: 根据距离记录聚类系数值 Countsum= 0
8: 当$j= 1: V_n$时
9: 计算距离 $\rightarrow \text{dist}(i,j)= \text{dist.clos}$
10: 计数总和 $=$ 计数总和 $+$ 距离$d$.接近度
11: 结束循环
12: 排序矩阵$[I] \rightarrow$ 计数总和(相关系数)
13: 结束循环

5.2. 聚类阶段

第二阶段是根据目标节点的最高CC值来形成簇。聚类有助于减少定位过程中锚节点的计算量,同时也能减小未知节点与锚节点之间的辐射距离。聚类方案将网络划分为多个独立的节点组,每个组以最大CC值为中心。在基于社交网络分析的解决方案中,所选锚节点数量不少于四个,以执行三边测量。通过增加锚节点的数量,可以形成更多的簇,从而进一步提高定位精度。

考虑网络中存在四个锚节点$V_1,V_2,V_3,V_4,$,它们仅形成一个簇。但根据调制过程,若有五个锚节点$V_1, V_2,V_3, V_4, V_5,$,在最佳情况下可形成五个簇。这五种可能的组合分别为$(V_1,V_2,V_3,V_4)$、$(V_1,V_2,V_3,V_5)$、$(V_1,V_2,V_4,V_5)$、$(V_1,V_3,V_4,V_5)$和$(V_2,V_3,V_4,V_5)$,如图4所示。

示意图3

锚节点数量与簇数量之间的关系通过以下公式计算:

$$
\tau_n= C(\Psi, V)=\frac{\Psi!}{V!(\Psi - V)!},
\quad (17)
$$

其中 $\tau_n$ 表示由可用锚节点数量形成的簇的数量,$\Psi$ 是锚点集合,$V$ 是用于三边测量过程的最少锚点数。如图5所示,未知节点$N_1$最近的锚节点是标记为红色虚线圆的簇$C_1$中的节点,这些节点为$(V_1,V_2,V_3,V_4)$。所有其他簇$(C_2, C_3, C_4, C_5)$距离未知节点$N_1$较远,无法利用这些锚节点完成三边测量过程。但如果簇$C_1$中的某个节点由于软件或硬件错误而损坏,它会向可能的最近节点发送包含节点ID的调制信号以形成新簇,从而导致三边测量过程中定位误差增大。

聚类阶段的算法在算法2中描述。

算法2 聚类阶段
1: 从(17)式获取可用簇的数量$C_n$
2: 对于$n = 1:C_n$执行以下操作
3: 通过取给定簇中四个锚节点的每个X、Y、Z的平均值,计算每个簇的中心点$= C_p$。
4: 结束循环
5: 对于$k = 1 \rightarrow V_n + 1:N_1$执行以下操作
6: 初始化最小距离$d_m= N_1 \rightarrow C_p$
7: 对于$n = 1:C_n$执行以下操作
8: 对所有簇设置最小距离$d_m$。
9: 结束循环
10: 结束循环
11: 对于$l \rightarrow d_{m1}:4$执行以下操作
12: 测量每个未知节点与锚节点之间的距离。
13: 获取用于下一步三边测量的RSSI。
14: 测量噪声信号数据以评估整体性能。
15: 结束循环

定义2. 给定一个图$G(\Psi, V_\zeta)$,其中每个顶点距离均为1。若顶点$v \subset V$是$\Psi, V_\zeta$簇,则需满足以下条件。
1. 入度: $\forall v \in V, | G(v,V)|\geq V_\zeta | V$
2. 出度: $\forall n \in N, | G(n, N)|\geq V_\zeta | N.$

5.3. 定位计算

从所有可用的簇中选择距离未知目标最近的簇后,通过三边测量过程对未知节点进行定位。考虑锚节点$(V_1,V_2,V_3,V_4)$到未知目标的距离为(距离$d_1$,距离$d_2$,距离$d_3$,距离$d_4$),如图5所示,球面方程为:

$$
d_a^2=(x -x_a)^2 +(y -y_a)^2 +(z -z_a)^2
\quad (18)
$$

$$
d_b^2 =(x -x_b)^2 +(y -y_b)^2 +(z -z_b)^2
\quad (19)
$$

$$
d_c^2 =(x -x_c)^2 +(y -y_c)^2 +(z -z_c)^2
\quad (20)
$$

$$
d_d^2=(x -x_d)^2+(y -y_d)^2+(z -z_d)^2.
\quad (21)
$$

进一步展开,上述方程可写成最终的矩阵形式[16]:

$$
\begin{bmatrix}
X_{da} & Y_{da} & Z_{da} \
X_{db} & Y_{db} & Z_{db} \
X_{dc} & Y_{dc} & Z_{dc}
\end{bmatrix}
\begin{bmatrix}
x \ y \ z
\end{bmatrix}
=
\begin{bmatrix}
u \ v \ w
\end{bmatrix}.
\quad (22)
$$

在此现象中,锚节点$V_5$位于目标节点$N_1$的簇之外。在三边测量过程中,利用RSSI值和簇信息,通过公式(22)计算节点位置。定位误差由以下给出:

$$
d_{\text{error}}= \sqrt{(x_e- \hat{x})^2+(y_e- \hat{y})^2+(z_e- \hat{z})^2},
\quad (23)
$$

其中,$\hat{x}$、$\hat{y}$、$\hat{z}$ 是目标节点的估计值。平均定位误差通过$E_{\text{avg}}= d_{\text{error}}/N$进行测量。

三边测量与误差计算的算法在算法3中描述。

算法3 三边测量与误差计算
1: 使用公式(22)计算$Nx_e$、$Ny_e$、$Nz_e$ $\forall N_n$。
2: 初始化定位误差 $\rightarrow$ Err.sum= 0
3: 对于$k= 1 \rightarrow V_n + 1: N_1$执行以下操作
4: 使用公式(23)计算误差 $\forall N_n$。
5: err.sum= err.sum+ E(k)
6: 结束循环
7: Avg(err.sum)= err.sum/节点总数

平均定位误差提供了整体系统精度的一般性指标。我们的目标是最小化定位误差并提升提出方案的性能。相关系数在测量节点距离方面非常有帮助,且在目标端具有最小的计算负载。大部分计算负载由锚节点承担,从而降低了其他节点的计算和能量开销。

6. 仿真结果

在仿真设置中,传感器在1000 m × 1000 m × 500 m 的工作空间内随机部署,如图5所示。该场景模拟了一个包含$V$个锚节点和$N$个目标节点的室内无线传感器网络。

示意图4

6.1. 精度分析

随机部署使得定位算法对不同的网络拓扑更具鲁棒性。在我们的仿真中,路径损耗指数设置为 $\gamma= 3$,功率损耗$L_0= 40$dB。我们提出的算法的性能指标基于CC值。均方根误差(CCRMSE)定义为:

$$
\text{CCRMSE}=
\sqrt{
\frac{1}{CC} \sum_{(i,j)=1}
| x_{i,j} - \tilde{x}_{i,j} |^2
}.
\quad (24)
$$

我们选择100个锚节点和160个未知节点。节点之间的相关系数通过公式(11)计算。根据最高CC值选择最近簇。具有最高CC值的锚节点及其关联簇可进一步选择三个节点进行三边测量。锚节点$V_1,…,V_4$由于具有最高CC值和最近簇,为节点$N_1$形成一个簇,如图4所示。目标节点$N_1$距离$V_1$仅1米。让我们考虑另一种情况,如果节点$V_1$损坏,则系统需要在一定时间内进行校准[37]。在这种情况下,需要进行新簇的形成和最高CC值的计算。簇的形成和CC值的计算如图6所示。它表明在8个锚节点的情况下可能存在70个可能的簇,该数值由公式(17)计算得出。

示意图5

6.2. 定位误差

锚节点、目标节点以及目标节点的估计位置的初始部署如图7所示。仿真使用从github GeoLife轨迹获取的RSSI数据集[38]进行。基于CC的指标的精度与RSSI数据集中的最高聚类值成正比。仿真结果表明,基于SNA的算法在每个轴上的定位误差约为0.32米,通过三边测量法得到的平均定位误差为1.35米,如图8所示,并在图9中给出了相应的CDF图。

示意图6

示意图7

示意图8

累积分布函数是一种统计工具,用于表示平均定位误差$Pr$在由以下关系式给出的范围$p=[0, 1]$内取值的概率。

$$
\text{CDF}(Pr)= P(Pr \leq a)
\quad (25)
$$

$$
P(0< Pr \leq 1)= \text{CDF}(1)- \text{CDF}(0).
\quad (26)
$$

为进一步分析锚节点的密度,逐渐增加锚节点的数量以检测系统性能。可以理解的是,由于锚节点数量较多,形成了大量簇,从而降低了定位误差。

通信开销是影响无线传感器网络定位技术性能的关键且重要因素之一,尤其是在使用高功耗传感器时。它与计算开销不同:计算开销指的是节点与锚节点之间计算过程的代价,而通信开销涉及发送、接收、监听、休眠和切换所消耗的能量。在通信开销建模中,用于覆盖测试区域的标准为802.11g,其覆盖范围可达1000米,发射功率为2.3毫瓦,接收功率为1.9毫瓦。发送和接收能量分别为42.59 纳焦/比特和35.19 纳焦/比特。系统包含$N$个传感器节点,这些节点的通信距离相同,均为$r$,并且每个节点具有唯一标识符。测试区域是均匀的。我们的通信开销模型表示为$E_c$:

$$
E_c= E_{tx}+ E_{rx}+ E_{lis}+ E_{sw}+ E_{slp},
\quad (27)
$$

其中 $E_{tx}$是传输数据所需能量。
$E_{rx}$是接收数据包时的能量消耗。
$E_{lis}$是传感器在激活状态但未接收和发送任何数据包时的能量消耗。
$E_{sw}$定义了锚节点的状态切换能量。
$E_{slp}$是从睡眠模式切换到发送或接收模式的能量。

$$
E_{Tx}= P_{Tx} \times L_{Tx} \times T_{1bit},
\quad (28)
$$

其中$P_{Tx}$是传输数据所需的功率,$L_{Tx}$是传输数据包的长度,$T_{1bit}$表示在特定时间段内传输1比特所需的时间。

$$
E_{Rx}= P_{Rx} \times L_{Rx} \times T_{1bit},
\quad (29)
$$

其中$P_{Rx}$为接收状态下的功耗,$L_{Rx}$为接收数据包的长度。

$$
E_{Lis}= P_{Lis} \times T_{Lis},
\quad (30)
$$

其中$P_{Lis}$是传感器在监听模式下消耗的功率,$T_{Lis}$是传感器处于监听状态之间的周期时间。

$$
E_{Sw}= \text{Avg}(P_{Sw})\times T_{Sw},
\quad (31)
$$

其中$P_{Sw}$是传感器在状态之间切换时所需的功率,而$T_{Sw}$是这些状态之间的切换时间。

$$
E_{Slp} =(P_{Slp}) \times T_{Slp} ,
\quad (32)
$$

其中$P_{Slp}$是传感器在休眠模式下的功耗,$T_{Slp}$是休眠时间。

6.3. 瑞利衰落和噪声的影响

根据中心极限定理,RSSI也可以通过瑞利概率密度函数和高斯随机复变量表示,如下所示[39]:

$$
f_X(x)= \frac{x}{\sigma^2} \times e^{-\frac{x^2}{2\sigma^2}},
\quad (33)
$$

其中 $\sigma^2$ 是用于调节瑞利因子的分量。$\sigma^2$被设为0.5,且$E(x^2)= 1$描述了具有零增益的瑞利过程。瑞利衰落效应也在我们的考虑范围内,以检验所提出系统的性能。RSS在信号幅度随时间和频率的变化上表现出不同且独特的特性,这些变化由衰落引起。首先,我们假设网络中的所有节点均为静止的,且不存在噪声和衰落,其概率密度函数为$f_X(x)= 1$。相反,当存在衰落时,功率样本将乘以$x^2$,其中$x$是式(33)中给出的衰落幅度的随机变量。

无线电不规则性的两个主要特性,即连续变化和非各向同性,路径损耗根据$\mu$均值和$\sigma$进行调整,其形式的标准差为$d= d_0+N(\sigma, \mu)$。在研究接近中心性时,我们考虑了150个锚节点和90个其他未知节点,以检验在加入瑞利衰落后所提出定位方案的性能,如图10所示。结果基于1000次迭代得出,我们观察到系统整体性能有轻微变化。这种变化在经过一段时间后由于接近中心性测试,并不会影响系统的性能。在任何通信信道中,信号在发送方和接收者之间都会发生衰减。为了获得RSSI特性,我们在最远距离达1000米的不同距离上测量了RSSI。噪声也会影响信号强度,如图11所示。此外,通过将功率因子添加到CC值中来测量传输损耗。对于非最小二乘拟合高斯函数的情况,我们对公式(24)中的CCRMSE(基于CC的均方根误差)进行了平方。

示意图9

示意图10

6.4. 与现有方法及计算复杂度的比较

将我们的结果与第2节中讨论的其他基于3D的定位技术进行比较是很有意义的。首先我们讨论了传统APIT算法的性能。在APIT中,如果一个节点远离三角形和未知节点,则该节点被视为位于三角形外部,因此测试失败,该节点无法被定位。显然,这一选择非常重要,因为邻居节点在三角形的选择中起着关键作用。在所提出的SNA算法中解决了这一问题,当某个节点附近的一个节点失效或宕机时,该节点可以选择最近的锚节点。此外,聚类区域之间的关系也得到增强,使得簇内多个节点有机会被定位,同时降低了计算开销。

MDS-MAP是一种经典的多维数学缩放方法,起源于心理物理学和心理测量学。距离以几何图形的形式表达,用作信息可视化或探索性数据。因此,由于额外的数学计算,MDS的复杂度总是非常高,导致时间计算量为$O(n^3)$。在简单场景中,定位精度高于2米,且每对节点之间的距离至关重要。基于SNA的思想还克服了成对计算的问题,并通过新关系将节点关联起来,即使某个节点发生故障也能保持连接。正因如此,我们的提出方案实现了72%的提升。

为了演化目的,考虑了两种不同的拓扑结构——C形和均匀分布的方形区域,以在增加连接水平、锚节点数量和传感器节点数量以及不同锚点对之间的距离的同时检查网络覆盖区域。通过改变无线电范围,将连接水平在11到31之间增加。仿真运行了1000次,记录了大约98%的定位误差。在某些情况下,MDS-MAP和DV-Hop的误差超过2米,而我们提出方案中使用聚类的方法则低于0.5米。基于SNA的算法的最坏情况复杂度源自内部算法[40]。当具有$O(n)$对已知距离的节点时,SNA提供了唯一的解决方案。然而,在SNA中使用相关系数(CC)降低了提出方案的整体复杂度。即使在节点故障的情况下,SNA也能自我校准并形成新簇,以高效地进行定位过程。

平均定位误差是在1000次迭代后获得的。我们注意到,社交网络的聚类相较于一些现有方法(如DV-Hop、MDS-MAP和先进的DV-Hop方案)具有更高的性能,如图12所示。

示意图11

7. 结论

节点定位在无线传感器网络的大多数应用中提供有意义的数据方面起着至关重要的作用。许多研究人员提出了基于二维的定位算法;然而,这些算法大多依赖于传感器节点间的精确同步这一假设,而在非受控环境中,这种精确同步可能难以实现,甚至无法实现。本文提出了一种基于著名社交网络分析算法的新型三维定位算法,该算法无需节点同步,仅需确定接近中心性即可形成用于三边测量的聚类。仿真结果表明,所提出的基于SNA的定位算法可实现低至0.32米的平均误差距离,并且随着节点密度的增加,该误差距离还可进一步降低。基于接近中心性的SNA方法在计算量较小的情况下即可实现高精度和低能耗。

然而,仍有一些进一步研究的空间,例如锚节点定位误差的影响。此外,研究如何采用移动锚节点以进一步提高定位精度也具有重要意义。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐