当前位置:首页 > 定位算法
  • 基于路由信息的传感网络定位算法

        1.引言    无线传感器网络是近年来一个热点研究领域,其中传感器网络定位技术也越来越受到人们的关注,这是因为传感器网络的大量应用都依赖于节点的位置信息,例如在战场侦察、生态环境监测、地震洪水火灾等现场的监控等应用中,都需要知道传感器节点的位置信息,从而获知信息来源的准确位置。    现有无线传感器网络定位系统种类繁多,实现方法各异[1][2]。具有代表性的有采用超声波测距的TDOA(TimeDifference of Arrival)系统[3],基于RSSI (Receive Signal Strength Indicator)的技术[4],基于网络连通性的质心定位算法[5],基于多跳传感器网络节点间跳数的DV-Hop算法[6]等。现有算法大多存在额外的硬件开销,或需要较多已知位置的参考节点,而且都有较大的通信开销,带来了传感器节点额外的功耗,这样就降低了全网的生存周期。因此,需要针对无线传感器网络的具体场景,设计低成本,低开销,易实现的定位算法。    2.基于路由信息的定位算法    2.1研究场景定义    无线传感器网络的应用场景各异,对定位的需求也各不相同。因此,在进行定位算法的设计前,必须选定应用场景进行有针对性的设计。本文选用传感器网络中广泛应用的大范围数据采集场景,例如土壤温湿度监测、森林火险预警、智能大厦人员数据采集等,作为研究前提。    在这种场景下,数量众多的传感器节点分布在较大范围的区域内,节点需要通过多跳路由将数据返回到一个或多个网关节点。所有传感器节点不装配GPS、超声收发器、有向天线等额外的定位和测距设备,节点射频模块只具备射频信号强度检测能力(RSSI),甚至RSSI能力也不具备(即只有通信功能)。为了方便下面的研究,进一步对场景作如下简化定义:    1.传感器节点数目表示为n,网关节点数目表示为m;    2.n个传感器节点在区域内随机均匀分布,自身位置为(xi,yi)均未知,其中i= 1...n;    3.m个网关节点在区域内以某种规律分布,自身位置(xi,yi)均已知,其中i= n+1...n+m;    4.传感器节点均以一定且相同的周期采集数据,节点间相对静止;    5.节点采用无线全向天线进行互通信,RSS测距的先验概率分布满足高斯分布;    2.2设计思路    而且因为数据采集任务对网络的存活时间要求一般较高,所以降低传感器节点的功耗,即降低传感器节点的通信开销就成为设计定位算法中重要的因素。而现有定位算法存在的主要问题就是通信开销大,其中有一个重要原因是现有的研究将定位过程与网络路由和数据采集看作独立的过程,而事实上这两个过程存在大量通信的重复,这样就带来了额外的通信开销。本文的研究就是将路由协议与定位算法结合来减少这部分开销,基本思路是通过在数据包上附加网络路由信息来获得部分节点间的连接和距离关系,然后根据这些关系来进行传感器节点定位,该算法命名为RBSL(RoutinginformationBased Sensor Localization)。    本文选用了传感器网络中常用的定向扩散路由协议[7](DirectedDiffusion)作为研究的基础。定向扩散路由协议是一种以数据为中心的路由协议,网关节点向所有传感器节点发送对任务描述的“兴趣”(Interest),“兴趣”会逐渐在全网中扩散,最终达到所有匹配“兴趣”的传感器节点,与此同时也建立起了从网关节点到传感器节点的“梯度”,传感器节点会沿着梯度最大的方向将数据传回网关节点。定向扩散的原理示意图如下图1所示:    对于全网数据采集的场景,网关节点发送的“兴趣”是采集所有节点数据。在建立梯度之后,每个一个传感器节点都有一个自己对网关节点的最大“梯度”方向,即下一跳传输的目的节点编号(ID)。若每个传感器节点在发送数据包末尾都附加自己的下一跳节点ID,则在每一个网关节点就都可以获得网络中n条链路的连接情况,即获得了到一个网关节点的树状路由表。将m个网关节点的数据进行综合就可以获得更多条链路的连接情况。将获得的n个传感器节点和m个网关节点之间的连接关系表示为对称连接矩阵L(n+m,n+m),其中Lij= 1 表示i, j节点存在路由链路,反之Lij = 0表示不存在路由链路,其中1≤i, j≤ n+m,若1≤i≤n表示i为传感器节点,若n     进一步的,如果传感器节点具有RSSI,可以根据射频信号传输的经验模型估计链路距离dij,同样将估计距离发往网关节点。与连接矩阵L类似可以生成对称距离矩阵,表示为D(n+m,n+m),其中Dij=Dji 表示i, j节点间路由链路的估计距离。    下一步就是根据连接矩阵L或距离矩阵D来进行节点定位。这里就需要用到MDS算法,MDS算法的全称是多维标度分析(Multi-DimensionalScaling),是一种最早应用在计量心理学和生物信息统计中的算法。作为MDS算法的一种简单的应用,若已知二维空间上n个点的两两距离,即完全的距离矩阵LALL(n,n),则可以反解出这n个点的二维相对拓扑。YiShang等人[8]最早将MDS算法应用到无线网络定位中,本文也采用了类似的思路。由于通过路由过程获得的连接矩阵L或距离矩阵D都只是部分链路,所以还需要通过最短路径算法生成在原矩阵中不连通的节点之间的近似距离,得到近似的DALL来作为MDS算法的输入。    在获得距离矩阵DALL之后,就可以根据MDS算法计算得到节点的相对二维拓扑分布,但该分布与真实分布存在缩放,旋转和平移的关系。因为m个网关节点都已知自身位置,当m≥3时,可以根据网关节点的位置,对相对拓扑进行坐标变换得到最终估计的二维拓扑。    3.算法实现过程    3.1定向扩散    目的是尽可能多的携带节点间的连接或测距信息,在建立梯度阶段中,每个节点可以得到其下一跳节点ID。在传输数据阶段,则将下一跳节点ID也打入数据包,按照最大梯度方向发往网关节点。当节点具有RSSI时,还要将下一跳节点对应的测距结果发往网关节点。    3.2计算节点距离矩阵DALL    目的是提取网关数据中关于节点连接或测距的信息,并通过最短路径算法得到所有节点间的近似距离,即完全的距离矩阵。当节点具有RSSI时,则可以根据数据包中的每个节点的测距信息生成部分距离矩阵D,然后采用Floyd最短路径算法,生成DALL。若节点不具备RSSI,则将连通表示为单位距离1,同样用Floyd最短路径算法,由连接矩阵L生成DALL。    3.3多维标度分析MDS    将节点距离矩阵DALL作为MDS算法的输入矩阵,可以获得节点的相对位置估计X’,Y’。    3.4平移和旋转变换    通过比对已知位置的网关节点,将MDS结果进行坐标变换使得网关位置均方误差最小。即设X’,Y’为MDS输出的网关节点位置,求变换矩阵A,B使得[X’’,Y’’] = A * [X’, Y’] + B与网关节点已知位置[X, Y]的均方误差最小。    4.仿真结果和分析    算法仿真采用Matlab6.5,仿真场景为100个传感器节点随机均匀分布在半径50m的圆型区域内,网络中有大于等于三个已知位置的网关节点。    在图2的仿真中,10个网关节点均匀分布在半径为10米的圆周上,射频通信距离取20m,射频信号测距误差为20%,图中线段长度代表定位误差大小。仿真结果直观的给出了RBSL算法在节点具有RSSI和没有RSSI情况下定位的效果。从图2的仿真中,还可以发现RBSL算法的一个应用场景,即在大范围的数据采集中,如果只有一个网关节点,可以通过数据采集员手持一个网关节点在一个小范围内移动,在不同位置采集数据就可以对节点进行定位。    图3-a给出了节点RSSI测距误差对结果的影响,可以发现,当测距误差在20%以内时,定位结果较好,而若测距误差进一步增大,则结果恶化较为明显。图3-b给出了节点通信距离对结果的影响,可以发现在通信距离=25m时定位误差最低,这是因为通信距离过短会使得部分边缘节点只有很少的邻居,从而导致这些节点定位精度很低,而当通信距离过长时,网络中的路由链路变少,导致能获得链路信息变少,同样降低了定位精度。    5.结论和研究展望    针对无线传感器网络的大范围数据采集应用场景,本文作者提出了基于路由信息的传感器网络定位算法RBSL。RBSL算法的主要优点是通信开销小,只需要每个节点在自身数据包上附加几字节的信息,且容易实现,在大范围的数据采集场景,只需要多个网关节点或一个可移动的网关节点就可以获得节点的定位结果。RBSL算法存在的问题是计算量较大,MDS和Floyd最短路径算法复杂度均为O(n3)。但因在数据采集场景下,执行计算任务的是网关PC节点,因此计算量的问题相对是可以接受的。此外,在前面的分析中假设网络均匀同构,事实上传感器节点性能可能并不相同,且由于地形等因素影响也会造成网络的不均匀,反映在RBSL算法中就是节点间测距结果精度的不同,如何在MDS算法中对精度不同的测距结果进行加权是下一步的研究任务之一。    作者所在的清华大学电子工程系复杂系统工程实验室(CESL,ComplexEngineering System Lab)已经自主开发了“灵活的低成本无线传感器网络平台”,即FLOWS (Flexible Low-cOst Wireless Sensor network platform)。我们正在进行FLOWS系统在智能大厦定位系统的研究与开发,相信会有很好的应用前景和经济效益。

    时间:2009-07-22 关键词: 路由 传感网络 定位算法

  • 基于MDS技术与MCL方法的无线传感器网络移动节点定位算法

    无线传感器网络WSN(Wireless Sensor Networks)综合了无线通信技术、传感器技术、嵌入式计算技术和分布式信息处理技术,已经成为当前国际上备受关注的、多学科高度交叉、知识高度集成的前沿研究领域[1]。通过部署大量传感器节点至目标区域,WSN将改变人们与客观世界的交互方式,其在环境监测方面的应用尤其具有广泛前景[2]。     鉴于WSN的应用背景,定位技术成为实现其功能的关键技术之一,如何使定位指标达到最优始终是WSN定位算法的研究目标。     近年来,对WSN定位问题有了许多新颖的思想和解决方案,但多是针对解决固定节点的定位问题。若将这些算法应用于移动节点的定位,虽然也可以通过每隔一段时间的更新来进行定位,但节点的移动性会导致算法的定位精度降低。虽然移动性给节点定位带来了困难,但也可以利用其来提高定位精度。参考文献[3]提出了一种基于MCL(Monte Carlo Localization)的移动节点定位算法,其核心思想是在贝叶斯滤波位置估计基础上,用若干个带权重的采样点来描述移动节点在布置区域的可能位置分布。     多维定标技术MDS(Multidimensional Scaling)是一种运用于心理学领域的技术,后由Shang等人引入WSN定位技术中[4]。基于MDS技术的定位算法在不需要知道节点间测量距离的情况下,可以充分利用节点间连通性信息,在即使没有锚节点的情况下也可以得到节点的相对位置坐标。     本文提出一种MDS-MCL定位算法,通过结合MCL和MDS-RC[5]两种方法,得到一种新的移动节点定位算法。通过将MDS-RC定位算法引入MCL算法,在定位过程中利用MDS-RC定位算法给出的定位位置作为新的限定条件进行滤波,保留更接近节点真实位置的预测样本,提高节点定位精度。 1 MDS-MCL定位算法     本文提出的MDS-MCL算法,主要是通过在过滤阶段利用MDS-RC算法给出的定位结果作为新的限定条件,滤除预测样本,以达到提高精度的目的。 1.1 引入新的滤波条件     MDS-RC定位算法是一种应用在大规模固定节点定位问题中的算法,通过对节点间最小路径赋予权值的方法来提高算法的整体定位精度。在大规模的网络中使用时,该算法的整体定位效果较好,但不排除出现个别节点误差较大的情况。在大规模网络中,由于整体定位精度较高,所以即使个别节点的定位误差较大,也不会影响算法整体的定位效果。但将这种算法应用于单一节点的定位时,这种偶然出现的较大误差对于最终定位结果的影响较大,必须进行处理。     在MDS-MCL定位算法中,会对MDS-RC得到的定位结果进行判断,根据不同的情况采取不同的滤波方式,从而避免偶然出现的大误差对最终结果造成影响。算法的具体流程如图1所示。     算法的初始化主要是进行循环次数k和预测样本总数N的设定。     如图1所示,在每一时刻的定位过程中,首先根据周围一跳范围内的信标节点信息,根据MDS-RC算法,得到初步定位位置ot。然后根据ot是否在最大移动速度范围内对预测样本进行处理。     过滤阶段的详细处理方法如下:     第一种情况:如果算法的定位位置ot在最大移动速度范围内,则根据ot进行滤波。在生成的N个预测位置中,计算其与ot的距离,将这些距离与前一次保留的预测样本进行比较,保留N个与ot最近的样本,然后进行下一次循环。     第二种情况:如果算法的定位位置ot在最大移动速度范围外,用另一种方法对位置进行修正。在使用MDS-RC算法进行定位时,会利用到周围一跳范围内的信标节点。对预测样本中的每一个位置,统计在其通信范围的本次定位中利用到的信标节点数,然后与前一次保留的预测样本进行比较,保留N个信标节点数最多的样本,然后进入下一次循环。     通过结合MDS-RC与MCL方法对移动节点进行定位,可以避免单一方法中偶然出现的较大误差。     另外,MDS-MCL算法与MCL算法另一点不同的是,在每一次滤波中保留N个最符合要求的预测样本,而不是严格删除所有不符合要求样本。通过这一点修改,可以保证算法在规定次数的循环内得到足够数量的预测样本,从而将算法的计算时间控制在一定范围内。 1.2 参数与算法表现的关系     在MDS-MCL算法中,有两个初始参数:循环次数和预测样本数。为了使算法的性能达到最优,下面通过仿真实验考察这两个参数对定位误差和计算时间的影响。          在移动节点的定位中,必须要考虑实时性因素,图4给出了在循环次数、样本数不同时定位时间的变化。由仿真结果看出,当循环次数为3和5时,算法的计算时间较短,且随样本数的增长变化较为平缓,当循环次数为10时,计算时间略长,且随样本数变化的较为剧烈。     综上所述,为了兼顾定位精度和计算时间两方面的考虑,在参数的选择中,可将样本数选为50,循环次数选为5。 2 算法仿真实验及结果     在本文中,通过MATLAB7.0软件进行仿真实验,节点被随机部署在范围为100×100网络中,信标节点的位置固定,均匀分布在整个网络中。节点的通信半径设为20。在仿真试验中,通过改变部署的节点总数来改变节点连通度(平均每个节点具有的邻居节点数)。     本文中,移动节点定位误差定义如下        为了说明MDS-MCL算法的性能,将其与MCL定位算法进行比较。     图5为移动速度不同时,各连通度下两种算法的定位误差。     由图中可以看到,MDS-MCL算法相对普通的MCL定位算法,具有更好的定位精度。且在各连通度下,节点的定位误差基本稳定,基本保持在10%左右,比MCL算法有了2%左右的提高。     图6(a)和图6(b)给出了在最大移动速度为连通度为15时,MCL算法和MDS-MCL算法的定位效果图。可以看出,经过改进后的定位算法对移动节点的运动轨迹拟合更好。     在基于MCL方法的基础上,本文结合MDS-RC方法对移动节点定位算法进行了改进。通过仿真可以验证,即使在不需测距的情况下,移动节点也可以得到较好的定位效果。通过将MCL算法和MDS-MCL算法进行比较,可以验证改进算法的定位误差大体均在15%以下,且相对前者有2%左右的降低。另外,通过对算法计算时间的考察,可以验证改进算法的计算时间较短,可以满足实际应用的要求。 参考文献 [1] Liu Yongmin, Wu Shuci, Nian Xiaohong. The architecture and characteristics of wireless sensor network[A]. In: Proc. of the 2009 Computer Technology and Development (ICCTD’09) Conf. Vol.1[C]. Kota Kinabalu, 2009:561-565. [2] Wu Zhengzhong, Liu Zilin, Liu Jun, et al. Wireless sensor  networks for living environment monitoring[A]. In: Proc. of the 2009 Software Engineering(WCSE’09) Conf. Vol.3[C]. Xiamen, 2009:22-25. [3] Hu Lingxuan, DAVID E. Localization for mobile sensor networks[C]. In: Proc. Of the 10th Annual International Conference on Mobile Computing and Networking(MobiCom-2004), 2004:45-47. [4] SHANG Y, RuML W, ZHANG Y. Localization from mere connectivity in sensor networks[C]. In:Proc. of the 4th ACM  Int’l Symp on Mobile Ad Hoc networking ^computing, New  York: ACM Press, 2003:201-212. [5] Chen Bingjie, Huang Xiaoping, Wang Yan. A localization algorithm in wireless sensor networks based on MDS with RSSI Classified[C]. In: Proc of the 5th Hefei International  Conference on Computer Science & Education(ICCSE’10), 2010:1465-1469.

    时间:2011-07-21 关键词: 方法 mcl 定位算法 mds

  • 基于WiFi的电子标签定位算法

    摘要:设计了一套以WiFi技术和RFID定位技术为基础的定位系统,简单介绍无线WiFi网络的优势及系统的硬件部分。在算法方面详细描述了LANDMARC算法和三边定位算法,对两种算法的优缺点进行分析,并结合两种算法提出一种新的算法。并在某公司楼道中进行实验,结果表明该定位算法取得了在2 m范围内的准确定位。 关键词:WiFi;室内定位;RFID;LANDMARC算法;三边定位算法 引言     随着无线通信的快速发展,由此引起的关于室内定位的无线网络和RFID技术的结合也越来越受关注。人们对物品、人员位置的需求也越来越强烈。在室外的定位,如熟知的GPS定位已经做到让很多人都满意的程度,但是一旦进入到室内,由于建筑物的阻挡以及多径效应,GPS在室内的定位的效果大打折扣,所以室内定位的研究成为定位后续的研究重点。住公司中需要对人员和物品进行定位的时候范围很大。传统的标签定位的距离有缺陷,限制了其广泛的应用。所以义提出了RFID技术和无线网络结合,扩大其定位的范围。     无线WiFi在一个免费的2.4GHz频段,有很高的数据传输速度。所以选择基于WiFi网络通信的定位标签。WiFi网络有如下优势:WiFi的工作频段在2.4GHz,而且处于免费频段,对用户来说不需要额外的费用;WiFi的传输距离可以达到100m,可以覆盖整个大楼;WiFi的传输速率很高,可达到54 Mbps。     影响定位的精确度不仅仅是关于定位技术的选择,同时定位算法的选择也会影响其定位精度。常见的室内定位的算法主要分为两类:基于测距技术的定位算法和距离无关的算法。基于测距技术的算法一般是通过节点之间的距离或者角度来计算出未知节点的位置,实际运用中常见的有:基于接收信号强度指示算法(RSSI)、到达角度算法(AOA)、到达时间算法(TOA)等。距离无关的算法有:质心法、APIT算法、凸规划算法等。这些算法都是利用节点之间的邻近关系实现定位的。     一般来说,基于测距技术的算法比无需测距的精度要高。本文采用基于无线网络的RFID技术,并在此基础上提出一种算法,实现误差范围小的定位系统。 1 系统的硬件结构     射频识别(Radio Frequency Identification,RFID)俗称电子标签。RFID是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无需人工干预,可工作于各种恶劣环境。RFID技术可识别高速运动物体并可同时识别多个标签,操作快捷方便。RFID是一种简单的无线系统,只有两个基本器件,该系统用于控制、检测和跟踪物体。系统由一个询问器(或阅读器)和很多应答器(或标签)组成。     定位系统的硬件包括:阅读器、电子标签和无线WiFi模块。     阅读器是用于读取/写入标签信息的设备。     电子标签分为有源和无源两类。有源技术电子标签内部有电池,它的寿命一般比无源的长。在电池更换前一直通过设定频段向外发送信息。本文所采用的有源技术电子标签具有长时间的寿命。     无线WiFi模块主要是用于电子标签、阅读器以及AP(用于接收标签的发射信号)之间的通信。     RFID定位可用于仓库管理、公司人员、物品以及医院病人的准确定位。但是由于距离限制了其发展,所以把无线WiFi技术和RFID技术结合起来,进一步地提高定位的范围和精度。系统硬件结构如图1所示。 2 系统软件及定位算法 2.1 基于信号强度算法     传统的信号传播容易受到折射、反射、绕射、衍射等影响,接收到的信号强度是各种途径传播来的信号的叠加。所以有时候信号强度增大,有时候又减小。经过大量的实践,发现接收信号强度服从log-normal分布。通过信号在传播中的衰减来估计节点之间的距离,根据信道模型求解接收到待定位置的信号场强:         式中:n为路径损耗指数,与周围的环境有关;Xσ是标准差为σ的正态随机变量;d0是参考距离,在室内环境中通常取1 m;PL(d0)为参考位置的信号强度。     假设有n个AP,m个参考标签,则AP点接收到的待定标签的强度量P=(AP1,AP2,…,APn),采集到的第t个参考标签的强度矢量为St=(St1,St2,…,Stn),则待定标签和参考标签St之间的欧氏距离为:         基于信号强度算法代表是LANDMARC算法。该算法主要通过比较不同Et来寻找与待定标签位置最近的参考标签。当由K个邻近的参考标签来确定一个待测标签的时候,我们称之为“K-最邻近算法”,待定标签坐标是(x,y):         其中的Wi和(xi,yi)分别是第i个邻居参考标签的权重因子和坐标位置。根据经验:         权重越大的,E值越小。     LANDMARC箅法虽然能够处理比较复杂的环境,但是在一些封闭的环境中可能会出现多径效应,导致定位精度不高。又有研究者对LANDM ARC算法提出了改进:把不同的阅读器中收获到的标签的RSSI值加入到一个集合,然后求出集合中频率最高的标签作为最近距离的标签,然后再使用经验公式求出待测标签的坐标位置。这样可以获得更准确的精度。 2.2 三边定位算法     三边定位法:分别以已知位置的3个AP为圆心,以各个到待测标签的距离最近参考标签的距离为半径作圆。所得的3个圆的交点为D。三角形算法示意图如图2所示。     设位置节点D(x,y),已知A、B、C三点的坐标为(x1,y1),(x2,y2),(x3,y3)。它们到D的距离分别是d1、d2、d3。则D的位置可以通过下列方程中的任意两个进行求解。         但是在实际应用中,由于测量误差的存在,三个圆交于一点的情况很难存在。而这是经常的事情,这会导致方程无解,无法定位出待测目标的位置。 2.3 本文采用的算法     本方案中,我们采用的定位算法是基于接收信号强度的算法(即LANDMARC算法),并在LANDMARC算法的后面利用三边定位算法,使其更准确。     实验前在某公司大楼的走道和三间房内各安置每隔3 m固定一个电子标签(参考标签),在该层楼的东南两北角各放置一个AP。做好上位机与下位机的无线通信(软件程序的服务器和客户端的连接)。     实验进行时,当待测标签进入到AP(4个)的范围内,开始接收到待测标签发出的信号场强,并传入上位机。同时也接收各个参考标签在各个AP的信号场强,并传入上位机。     定位算法则把待测标签在4个AP(AP1,AP2,AP3,AP4)上的场强建立成一个场强矢量,同时参考标签也建立成场强矢量。通过LANDMARC算法即通过比较待测标签场强矢量与参考标签场强矢量的欧氏距离,找出 3个欧氏距离最小的参考标签,并得知3个参考标签的具体位置(在实验前期,参考标签放置时已经有记录)。对于3个参考点,不用再根据信号的强度来决定其半径,而是3个以参考点为圆心,以最近参考标签之间的距离(以确定每隔几米放置一个参考标签)的3/4长度为半径做3个圆,这样3个圆两两相交的可能性会增加。     由于3个圆很难在同一个点相交,所以对于3个圆之间的关系有3种:     ◆3个圆两两相交,并且3个圆有公共区域;     ◆3个网两两相交,但没有公共区域;     ◆3个圆不相交。     具体关系如下:     ①当3个圆有公共区域时,则公共区域必然有3个交点,以3个交点作三角形,则待测标签的坐标即是三角形内心坐标。     ②当两两相交无公共区域时,必然有两两公共区域。取两圆相交区域的两个交点的连线的中点,然后以这3个中点做三角形,其内心就是待测标签内心坐标。     ③3个圆不相交时舍弃,接受下一组最近3个参考标签,若3次还没有找到相交情况,即用3个参考标签做的位置做三角形,其内心就是待测标签的位置。     本算法的优势为在原来LANDMARC算法的定位精度上,再进行三角定位,进一步提高定位精度。同时,以参考标签之间的距离来进行进一步的三角定位,可以减少额外的计算,并且可以减少由于参考标签场强的变化带来的 重复测量。 结语     本文主要讨论了基于信号强度算法和基于非测距的三边算法,同时对LANDMARC算法进行了进一步的改进。由相关实验结果得出:该算法可以达到定位精度在1.5 m左右的误差,该方案适合广泛运用。

    时间:2012-07-18 关键词: Wi-Fi 电子标签 定位算法

  • 基于RSSI的无线传感器网络三角形质心定位算法

    摘 要:节点定位是无线传感器网络中的关键技术之一。基于RSSI的定位技术是现阶段研究的热点,为解决RSSI测量方法定位误差较大的问题,提出一种将RSSI测量方法与三角形质心算法相结合的新型定位算法,该算法用三角形质心算法减小RSSI的测量误差。仿真表明该算法比基于RSSI的三边测量法定位算法的定位精度有较大提高。关键词:无线传感器网络;定位算法;RSSI;质心;三角形质心定位算法0 引 言    无线传感器网络是面向事件的监测网络,对于大多数应用,不知道传感器位置而感知的数据是没有意义的。实时地确定事件发生的位置或获取消息的节点位置是传感器网络最基本的功能之一,也是提供监测事件位置信息的前提,所以定位技术对传感器网络应用的有效性起着关键的作用。    在无线传感器网络中,按节点位置估测机制,根据定位过程中是否测量节点间的实际距离或角度,可分为基于距离(Range—based)的定位算法和距离无关(Range—free)的定位算法。前者需要测量节点间的实际距离;后者是利用节点间的估计距离来计算末知节点的位置。在基于距离的定位算法中,测量节点间距离或方位时采用的方法有TOA(Time of Arrival),TDOA(Time Difference of Arrival),RSSI(ReceivedSignal Strength Indication)和AOA(Angle of Arri—val)。距离无关的算法主要有质心算法、DV—hop算法等。相比之下,基于距离的定位算法测量精度较高,距离无关的定位算法对硬件要求较低。    比较各种基于距离的测距算法,TOA需要精确的时钟同步,TDOA需要节点配备超声波收发装置,AOA需要有天线阵列或麦克风阵列,这三种算法对硬件要求较高。RSSI技术主要是用RF信号,而节点本身就具有无线通信能力,故其是一种低功耗、廉价的测距技术。    接收信号强度指示RSSI的定位方法,是在已知发射节点的发射信号强度,根据接收节点收到的信号强度,计算出信号的传播损耗,再利用理论和经验模型将传输损耗转化为距离,最后计算节点的位置。因为理论和经验模型的估测性质,故而RSSI具有较大定位误差。    基于RSSI技术,提出一种将RSSI测量方法与三角形质心算法相结合的新型定位算法,该算法用三角形质心算法减小RSSI的测量误差。仿真表明,该算法基于RSSI的三边测量法定位算法相比,极大提高了定位精度。1 国内外相关研究    当无线信号在大气环境中传播时,由于多种因素影响,信号强度会随着其传播距离的增加而衰减。这表明,信号强度变化与传播距离间存在着某种函数关系,且通常情况下传感节点均可很容易配置测定接收信号强度的模块。所以,近年来研究人员开始将RSSI技术用于传感器节点定位中。    目前,对RSSI的研究主要有两个方面。一是,提高改良传输损耗模型,建立更符合实际环境的数学模型;二是,结合各种测量算法,减小传输损耗模型带来的误差。这里研究重点在第二个方面。    最早的研究人员使用RSSI加三边测量法的定位技术,如文献中的RADAR室内定位系统。    文献的作者提出采用交叠环定位的方式,利用包含未知节点的相互交叠的环形区域来定位未知节点。该方法只是比较相应RSSI的大小,并未利用它测距。文献提出一种加权质心定位算法,它提出信标节点影响力的概念,节点到信号源的距离越近,由RSSI值的偏差产生的绝对距离误差越小,影响力越大。影响力越大的信标节点对节点位置有更大的决定权。其采用优选信标节点的方式,根据信标节点对未知节点的不同影响力确定加权因子,以此来提高定位精度。    文献提出综合RSSI算法和切圆圆心法的RCM算法,提高了定位精度,仿真表明,在RSSI测距误差散布达到50%时,定位误差可降到10%以内。2 基于RSSI的三角形质心算法模型    与文献一样,该算法针对大规模随机散布野外应用环境,这类应用大都不需要节点进行精确定位,只需要知道节点的大概区域就可满足需求,同时要求硬件成本低、定位过程通信开销小、节能。2.1 基于RSSI的定位    RSSI测量,一般利用信号传播的经验模型与理论模型。    对于经验模型,在实际定位前,先选取若干测试点,记录在这些点各基站收到的信号强度,建立各个点上的位置和信号强度关系的离线数据库(x,y,ss1,ss2,ss3)。在实际定位时,根据测得的信号强度(ss1′,ss2′,ss3′)和数据库中记录的信号强度进行比较,信号强度均方差最小的那个点的坐标作为节点的坐标。    对于理论模型,常采用无线电传播路径损耗模型进行分析。常用的传播路径损耗模型有:自由空间传播模型、对数距离路径损耗模型、哈它模型、对数一常态分布模型等。自由空间无线电传播路径损耗模型为:    式中,d为距信源的距离,单位为km;f为频率,单位为MHz;k为路径衰减因子。其他的模型模拟现实环境,但与现实环境还是有一定的差距。比如对数一常态分布模型,其路径损耗的计算公式为:    式中,Xσ是平均值为O的高斯分布随机变数,其标准差范围为4~10;k的范围在2~5之间。取d=1,代入式(1)可得,LOSS,即PL(d0)的值。此时各未知节点接收锚节点信号时的信号强度为:    RSSI=发射功率+天线增益一路径损耗(PL(d))2.2 基于RSSI的三角形质心定位算法的数学模型    不论哪种模型,计算出的接收信号强度总与实际情况下有误差,因为实际环境的复杂性,换算出的锚节点到未知节点的距离d总是大于实际两节点间的距离。如图1所示,锚节点A,B,C,未知节点D,根据RSSI模型计算出的节点A和D的距离为rA;节点B和D的距离为rB;节点C和D的距离为rC。分别以A,B,C为圆心;rA,rB,rC为半径画圆,可得交叠区域。这里的三角形质心定位算法的基本思想是:计算三圆交叠区域的3个特征点的坐标,以这三个点为三角形的顶点,未知点即为三角形质心,如图2所示,特征点为E,F,G,特征点E点的计算方法为:    同理,可计算出F,G,此时未知点的坐标为由仿真得,在图2中,实际点为D;三角形质心算法出的估计点为M;三边测量法算出的估计点为N。可知,三角形质心算法的准确度更高。3 基于RSSI的三角形质心算法过程3.1 步骤    (1)锚节点周期性向周围广播信息,信息中包括自身节点ID及坐标。普通节点收到该信息后,对同一锚节点的RSSI取均值。    (2)当普通节点收集到一定数量的锚节点信息时,不再接收新信息。普通节点根据RSSI从强到弱对锚节点排序,并建立RSSI值与节点到锚节点距离的映射。建立3个集合。    锚节点集合:        (3)选取RSSI值大的前几个锚节点进行自身定位计算。    在B_set:中优先选择RSSI值大的信标节点组合成下面的锚节点集合,这是提高定位精度的关键。        对锚节点集合,依次根据(3)式算出3个交点的坐标,最后由质心算法,得出未知节点坐标。    (4)对求出的未知节点坐标集合取平均,得未知节点坐标。3.2 误差定义    定义定位误差为ER,假设得到的未知节点的坐标为(xm,ym),其真实位置为(x,y),则定位误差ER为:    4 仿 真    利用Matlab仿真工具模拟三角形质心算法,考察该算法的性能。假设在100 m×100 m的正方形区域内,36个锚节点均匀分布,未知节点70个,分别用三边测量法和三角形质心定位算法进行仿真,仿真结果如图3所示。由图3可知,三角形质心算法比三边测量法,定位精度更高,当测距误差变大时,用三角形质心算法得出的平均定位误差比用三边测量法得出的小得多。5 结 语    在此提出了将RSSI方法和三角形质心定位算法相结合的方法,通过仿真实验,将该算法和三边测量算法相比较,证明了该算法的优越性。下一步将研究在锚节点数量不同时的平均定位误差。

    时间:2009-04-28 关键词: 无线传感器网络 三角形 定位算法 rssi

  • 基于RSSI的无线传感器网络距离修正定位算法

      摘 要:节点自身定位是无线传感器网络目标定位的基础。无线传感器网络节点定位算法包括基于距离和距离无关两类。其中基于RSSI 的定位算法由于实现简单而被广泛使用,但RSSI 方法的测距误差较大,从而影响了节点定位精度。提出了一种基于RSSI 的无线传感器网络距离修正定位算法。该算法通过RSSI 测距,计算近似质心的位置,以此为参考点进行距离修正,然后确定节点的位置。仿真结果表明该算法可以提高节点定位精度。   0 引言   对于大多数无线传感器网络应用来说,没有位置信息的数据是毫无意义的。无线传感器网络目标定位跟踪的前提是节点自身定位。无线传感器网络节点定位算法可分为基于距离和距离无关两大类,基于距离的定位算法主要有RSSI、TOA、TDOA、AOA 等,距离无关的定位算法主要有质心算法、DV-hop 算法、凸规划、MDS-MAP 等。   RSSI 测距无需额外硬件,实现简单,具备低功耗、低成本等特点,应用十分广泛。RSSI 的技术原理是已知锚节点发射信号的强度,根据未知节点接收到的信号强度,利用信号传播模型计算两点的距离。由于存在多径、干扰、遮挡等因素,RSSI 测距的精度较低,必须采用各种算法来减小测距误差对定位精度的影响,因而提出了一种基于RSSI 测距的无线传感器网络距离修正定位算法,可有效减小RSSI 测距误差对节点定位精度的影响。   1 算法模型   1.1 无线信号传播模型   RSSI 测距使用的无线信号传播模型包括经验模型和理论模型,理论模型是在大量经验模型数据的基础上总结提炼而成的。   对于经验模型,首先要按照一定的密度选取参考点,建立信号强度与到某个信标点距离的映射矩阵,在实际定位时根据测得的信号强度与映射矩阵进行对比,并采用数学拟合方式确定待测节点到锚节点的距离。   无线信号传播理论模型主要有自由空间传播模型、对数距离路径损耗模型、对数-常态分布模型等,其中对数-常态分布模型的使用最为广泛。   对数-常态分布模型如式(1)所示:     其中n 是路径损耗指数,表明路径损耗随距离增长的速率,范围在2~6 之间。d0 为近地参考距离,由测试决定。式(1)能够预测出当距离为d 时接收到的平均能量。由于相同距离d 的情况下,不同位置的周围环境差距非常大因而引入了Xσ,Xσ 是一个平均值为0 的高斯分布变量。   为了更好地描述距离修正定位算法,这里提出两个合理的假设条件:   ①由于各种障碍物的影响,绝大多数实际情况中,式(1)预测出的PL(d)[dB]比实际信号能量偏大;②当距离d 增大时,PL(d)[dB]与实际损耗能量的相对偏差也会增大。   1.2 确定相交区域质心的数学模型   已知三个节点A、B、C 的坐标为(xa, ya)、(xb, yb)和(xc,yc),节点O到他们的距离为ra、rb 和rc,假设节点O的坐标(xo, yo),则(xo, yo)的数值可通过式(2)得出,也就是说以A、B 和C 三点为圆心,以ra、rb 和rc 为半径作圆,则三圆将相交与点O,如图1(a)所示。   图1 三圆相交情况。   但在实际情况中,由于RSSI 测距存在误差,并且由于实际的路径损耗比理论模型的数值偏大,也就是说测量出来的未知点到锚节点的距离d 总是大于实际距离r。以A、B和C 三点为圆心,以da1、db1 和dc1 为半径作圆,三圆将不再相交于点O,而是存在一个相交区域,如图1(b)所示。   三圆相交区域的边界有三个交点,三点质心为点D。其中点D 的坐标可以通过式(3)求解。     但是二次方程,求解过程计算量较大,因而文中采用如图1(b)所示的点D1 的坐标近似质心D 的坐标。三圆两两相交,则三条交线将相交于点D1。将式(2)中的方程式两两相减,则分别得到每条交线的直线方程,D1 的坐标则可以通过这些直线方程求解,如式(4)。     1.3 距离修正   在某些文章中,以D1 的坐标作为点O 的近似值,其准确度虽然比三边定位等方法要高,但是还是可能存在较大的误差,尤其是当da1、db1、dc1 与ra、rb 和rc 的相对误差各不相同时尤其明显,因而需要对RSSI 方法测出的距离da1、db1和dc1 进行修正,然后再重复地求出新的三线交点D2 的坐标,则可以用点D2 的坐标作为点O 的近似坐标。   设点A、B 和C 到D1 的距离la1、la2 和la3,则总体修正系数如式(5)所示。     根据1.1 节中假设②,距离越远测距相对误差越大,则其修正程度越大,则da1 的修正系统如式(6)所示,db1 和dc的修正系数类似。     修正后的距离da2 通过式(7)得出,db2 和dc2 类似。     2 算法流程   算法流程如下:   ①各锚节点以相同功率周期性地向周围广播定位信息,信息中包括节点ID 和坐标。普通节点收到定位信息后,计算同一锚节点的RSSI 平均值;   ②当普通节点收集到一定数量的锚节点信息时,不再接收新信息。各普通节点根据RSSI 从强到弱对锚节点排序,由式(1)求出节点到锚节点的距离;   ③选取距离最近的3 个锚节点;   ④通过式(4)计算三线交点D1 坐标;   ⑤分别计算3 个锚节点与交点的距离;   ⑥通过式(5)计算总体修正系数;   ⑦通过式(6)分别计算各自的修正系数,然后通过式(7)计算修正后的距离;   ⑧再次通过式(4)计算修正后的三线交点D2 的坐标,D2的坐标即为点O 的近似值。   3 仿真分析   用MATLAB 进行算法仿真,基本初始条件是无线传感器网络位于100 m×100 m 的区域内,该区域左下角为(0,0),右上角为(100,100)。区域内均匀部署4、9、16、25个锚节点,其中部署16 个锚节点的位置如表1 所示。   未知节点随机分布在区域内,路径损耗系数设为2.4,每次仿真实验进行500 次,仿真结果取500 次的平均值,各次仿真实验结果如表2 所示。 表1 16 个锚节点位置坐标   表2 仿真结果     从仿真结果可以看出,当锚节点数目较少时,增加锚节点数量可以显着提高定位精度。路径损耗系统对定位精度也有影响,路径损耗系统越大,定位精度越高。从表2 可以看出,距离修正次数增多对定位精度没有显着的影响,也就是说一般情况下只需要进行一次距离修正即可,采用距离修正与不采用距离修正相比,定位精度明显提高。   4 结语   无线传感器网络基于RSSI 测距的定位算法由于实现简单,应用十分广泛。但由于RSSI 测距的精度不高,降低了节点定位精度。基于RSSI 的无线传感器网络距离修正定位算法利用RSSI测距,通过确定相交区域近似质心,以此为参考点对距离进行修正,然后确定未知节点位置。仿真结果表明,该算法对测距误差具有较高的容忍程度,并且具备很高的定位精度。如图2 所示,三圆相交还存在无3 个交点的情况,下一步工作将详细研究图2所示各种情况对该算法的影响,从而对算法进行改进完善。   图2 三圆相交区域无3 个交点的情况  

    时间:2011-03-25 关键词: 无线传感器网络 定位算法 rssi

  • 无线传感器网络用于监测系统中的定位算法

    摘要:从硬件设计入手,介绍了自主设计的以片上系统(SOC)STM32W108为核心的WSN节点,在此基础上采用了一种基于RSSI的加权质心定位算法实现了节点的自定位。该算法将RSSI测距和质心定位算法相结合,用测得的RSSI值作为质心定位的加权因子,合理体现了不同锚节点对定位未知节点的约束力。通过测试证明,该定位方法在较少的通信开销情况下具有较高的定位精度,且易于实现。 关键词:无线传感器网络;接收信号强度指示;节点定位;加权质心定位     无线传感器网络主要用于监测系统,大多数情况下,监测到的数据必须结合实际的位置信息才有价值,这些位置信息主要包括事件发生的位置和WSN节点的位置,节点的位置是定位事件发生位置的基础。获取节点位置信息最直接的方法是采用人工部署或GPS定位,但是对于大规模的无线传感器网络,由于成本的制约和应用条件的限制,以上两种方法实现起来都不理想。因此有必要采取相应的定位算法措施来解决目前大多数应用场合对位置信息的需求。     依据是否需要通过测量节点的距离信息把定位方法分为两类:基于测距(rang—based)和不基于测距(rang—free)。前者是利用测量得到的距离或角度信息来进行位置计算,主要有TOA、TDOA、AOA和RSSI;后者是利用节点的连通性和多跳路由信息交换等方法来估计节点间的距离或角度,并完成位置估计,主要有DV—Hop、质心算法等。两类定位算法各有优点,相比之下,基于距离的定位算法测量精度较高但是需要额外的硬件,不基于距离的定位算法对硬件要求较低但是定位误差较大。本设计在自主设计的节点硬件基础上,采用了将RSSI测距和质心定位方法结合起来,实现了节点的自定位,避免了使用单一定位方法的不足,提高了定位精度。 1 WSN节点硬件设计 1.1 节点设计方案的确定     WSN节点设汁有两种方式:一种是NCP(network eoprocessor)——核心处理器和Zigbee网络处理器分开,另一种是SOC(system on chip) ——使用包含无线射频功能的核心处理器。传统的设计大部分采用了NCP的方式,这种方式的优势在于应用程序和Zigbee协议间可以分开设计,核心处理器的选择很灵活,可以是8位的单片机,也可以是运行嵌入式操作系统的高级ARM,但是由于需要两个处理器,就意味着增加了成本,且增加了节点的功耗,对于电池供电的无线传感器网络来说,增大了功耗就使得整的网络的寿命减少。而SOC的方式,大大减小了功耗和成本,且随着芯片工艺的进步,SOC内部的资源已经不再是限制其使用的瓶颈。故本设计采用了SOC的方式,选用了意法半导体最新推出的射频SOC—STM32W108。 1.2 STM32W108简介     STM32W108是意法半导体推出的一款WSN专SOC。该芯片采用32位ARM Cortex—M3内核,具有较强的处理能力,内部集成了符合IEEE80 2.15.4标准的2.4 GHz射频收发器,且芯片内部带有功率放大器,最大输出功率可达7 dB,芯片内部同化了Zigbee 2007 Pro协议栈,用户根据ST官网提供的API函数就可实现Zigbee网络节点间数据的收发。 1.3 节点硬件设计     实际设计中,选用了由上海沁科公司基于STM32W108生产的Zigbee模块——EMZ3018A,该模块采用了类似邮票孔的焊盘,可以很方便的焊接在PCB板上。围绕着该模块实现了外围电路的设计,主要包括:电源模块、SD卡存储模块、蓝牙模块、接口扩展模块,下面分别进行详细介绍:     (1)电源模块     由于STM32W108的工作电压要求是2.1~3.6 V,而SD卡和蓝牙模块要求是33 V供电,故选择了3.3 V输出的低压差线性稳压芯片SP620 1-3.3,它的输出电流能达到200 mA,满足节点正常工作的需要,而且仅需要300 mV的压差,3.6 V的锂电池即可满足要求。电源电路如图1所示。     (2)存储模块     考虑到节点在后期的实际监测中需要存储大量的数据,一般的存储芯片容量较小且价格较高,故本设计选用了大容量的存储设备SD卡,而且SD卡支持FAT32文件系统,存储的数据可以直接在PC上渎取,实际应用中方便人工现场取数。同时SD卡支持SPI接口,操作方便。电路如图2所示。     (3)蓝牙模块     蓝牙模块只在中心节点上安装,主要是为网关与中心节点通信服务的。本设计选用的是BMX蓝牙模块,其操作很方便,通过串口和STM32 W108连接,网关通过蓝牙配对成功后即可实现和中心节点的数据透传。蓝牙模块电路如图3所示。     (4)接口扩展模块     考虑到节点的体积和实际应用中的不同需求因而选用不同的传感器,故将I2C接口、SPI接口、和STM32W108的内部12位AD的6路接口引出来,做成插针封装。使用时,在PCB上焊接双排插针母座,然后根据需要单独做出传感器板插接到节点上,即可实现大部分传感器的采集。 2 基于RSSI测距的加权质心定位原理     在无线传感器网络中,根据节点的位置是否己知,将节点分为未知节点和信标节点。未知节点表示节点在无线传感器网络的位置需要定位,而信标节点也称为锚节点,表示其位置已经确定。信标节点是通过人工事先放置好或者在节点上增加GPS模块得到自身位置。信标节点是未知节点定位时的参考点,但是由于功耗和成本的限制,信标节点不能太多。 2.1 RSSI测距原理     RSSI (received signal strength indicator)测距原理:利用节点接收信号强度与节点距离成反比的关系,通过测量接收到的信号强度和已知的信道衰落模型,估算出节点之间的距离。无线信号的发射功率和接收功率之间的关系可以用式(1)表示         PR是无线信号的接收功率,PT是无线信号的发送功率,d是收发单元之间的距离,n是传播因子,数值大小取决于无线信号传播的环境。给上式两边取对数得     10lgPR=10lgPT-10n·lgd     (2)     当距离d=1 m时,PR=Pr,令10 lg RT=10 lg R=A,即是距离发射节点1 m远处的信号接收强度,将(2)式化简为     PR(dBm)=A-10*nlgd       (3)     可以看出常数A和n决定了接收信号强度和传输距离的关系。A值为无线收发节点相距1 m时接收节点接收到的无线信号强度值,n值是无线信号的传播因子,这两个值都是经验值,和具体使用的硬件节点和无线信号传播的环境密切相关,所以测距前必须在应用环境中把两个经验值标定好,然后根据(3)式就可以求出距离d。 2.2 质心定位原理     质心定位的原理是:未知节点以所有在其通信范围内锚节点组成的几何形状的质心作为自己的估计位置。质心坐标就是多边形各顶点坐标的平均值。     具体实现过程为:锚节点周期性的向邻居节点广播一个信标信号,信号中包含有锚节点自身的ID和位置信息,未知节点接收到信标信号以后将其存储起来。当未知节点在一段侦听时间内接收到来自某个锚节点的信标信号数量超过预设的门限后,就认为该锚节点与自身连通,最终该未知节点将自身位置确定为所有与之连通的锚节点所组成的多边形的质心。假设网络中的n个固定锚节点坐标为(Xi,Yi),其中1≤i ≤n,未知节点M的估测位置坐标为(Xm,Ym),那么质心定位计算未知节点的坐标公式如下:     2.3 基于RSSI的加权质心定位     传统的质心定位算法忽略了不同距离的锚节点对质心定位精度的影响,针对传统质心定位算法的缺陷,将RSSI信息引入可以起到辅助信息的作用。其基本思想是:在确定了未知节点所在的多边形以后,首先根据未知节点和锚节点通信时获取到的RSSI值计算出未知节点和各个锚节点之间的距离d,然后以wi=1/di作为加权质心定位算法中的权值,计算未知节点的坐标。     假设网络中的n个同定锚节点坐标为(Xi,Yi),其中1≤i≤n,未知节点M的估测位置坐标为(Xm,Ym),那么加权质心计算公式5如下:         这样选择加权因子能够体现出与未知节点距离不同的锚节点对未知节点定位的决定权的大小,其约束力符合加权质心算法的要求。 3 节点定位的实现 3.1 定位系统的工作原理     节点的定位计算主要是在网关上完成的。本定位系统中采用了Android平板电脑做网关,网关通过监牙通信和中心节点上的蓝牙模块建立连接,蓝牙配对成功后,中心节点将未知节点上传的与之通信锚节点的RSSI值和对应锚节点ID信息通过蓝牙模块无线透传给网关,在网关上进行计算。定位系统原理如图4所示。 3.2 定位实现的步骤     (1) RSSI值的获取     在成功组建Zigbee网络后,锚节点周期性的向周同广播一个包含自身ID的信标信号,在通信范围内的未知节点接收到信标信号以后,通过调用API函数获取与自己通信锚节点的RSSI值和对应的锚节点ID号,使用的API函数主要包括:emberIneoming MessageHandler主要是处理节点接收到的信息,在这个函数里面再调用API函数emberGetSender,获取发送节点编号(node ID):调用API函数emberGetLastHopRssi,获取目前接收信息的信号强度;调用API函数emberSendUnicast将接收到的数据发送给中心节点,最终在中心节点调用API函数emberSerialPri ntf将数据通过串口发送给网关。获取RSSI值的部分代码如下:             在PC机上测试获取到的RSSI值和ID节点信息,如图5所示。     (2)定位的计算     在Android平板上提取出来与未知节点通信超过所设阈值的锚节点ID号和RSSI值,并对RSSI值求平均值,根据事先标定出的A值和当前环境传播因子n,通过式计算出未知节点和每个锚节点之间的距离di,最后通过式(5)计算出未知节点的坐标。 4 定位的测试     基于RSSI测距时需要标定出(3)式中的常数A和传播因子n。标定这个两个因素可通过星型Zigbee网络来实现,成功组网后将中心节点通过USB转串口线和PC机相连,通过串口调试器观察中心节点获取的RSSI值和对应子节点ID号。 4.1 A值的标定     A值即距离发射节点1m远处接收到的信号强度,为了减小误差,同时测量了距离中心节点1 m远的三个不同方向上中心节点和子节点通信的RSSI值,如图6所示。     共测试了9组数据,测试结果如表1所示。     经过计算,中心节点在1 m远处接收到终端节点的RSSI平均值是-73.1052632,故取A=-73dBm。 4.2 n值的标定     基于已标定的A,来标定n值,,选择测量直线相距发射节点5 m远处接收到的信号强度,共测量20组数据,如表2所示。     经过计算得n的平均值为2.5037,故选择n=3。 4. 3 定位的测试     定位测试在一片空旷的场地上进行的,选择了6个无线传感器网络节点组建Zigbee网络,1个中心节点、1个未知节点和4个锚节点,节点的发射功率设置为0 dBm。4个锚节点提前人工布置于一块8 mx8 m的正方形地面四角,未知节点位于正方形中心,中心节点布置在正方形外围,整个节点布局如图7所示。     测试中发现一个锚节点没有入网,未知节点与3个锚节点通信,接收到RSSI值如下表3所示:     已知与未知节点通信的三个锚节点的相对坐标为: (0,0)(0,8)(8,8),A=-73,n=3,经过计算得:未知节点和与之通信的3个锚节点通信的RSSI均值分别为-92.6、-93.2、-92.1,未知节点和锚节点之间的距离分别为:d1=4.501;d2=4.713;d3=4.332;未知节点的坐标为: (x,y)=(3.391,3.535)。 4.4 误差分析     实际情况下,未知节点的相对坐标应该是(4,4),实际箅出来的坐标是(3.391,3.535),所以实际测量是存在误差的。误差计算如下式:     5 结束语     本文基于无线传感器网络节点的自主设计,采用基于RSSI的加权质心算法实现了WSN节点的自定位。通过实际测试证明,相对于单一的质心定位算法,该算法利用得到的RSSI作为权值来修正质心定位的结果,提高了定位精度,且易于实现,能够满足大多数的实际应用中定位的需求。另一方面,在实际测试中发现,RSSI值易受到多径、障碍物等环境因素的影响,故存RSSI测距中引进了较多的误差,基于RSSI测距的精度还有待进一步的提高。

    时间:2013-03-20 关键词: 监测系统 无线传感器网络 定位算法

发布文章

技术子站

更多

项目外包

更多

推荐博客