著录项信息
专利名称 | 基于ZigBee无线传感器网络的节点定位方法 |
申请号 | CN201210279633.1 | 申请日期 | 2012-08-07 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-01-16 | 公开/公告号 | CN102883428A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04W64/00 | IPC分类号 | H;0;4;W;6;4;/;0;0;;;H;0;4;W;8;4;/;1;8查看分类表>
|
申请人 | 广州星博信息技术有限公司 | 申请人地址 | 广东省广州市天河区中山大道89号B2层东侧01房
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 广州星博信息技术有限公司 | 当前权利人 | 广州星博信息技术有限公司 |
发明人 | 刘凯;苏奇志;陈明波;王俊;熊剑刚;张志丹 |
代理机构 | 广州三环专利代理有限公司 | 代理人 | 郝传鑫 |
摘要
本发明公开了一种基于ZigBee无线传感器网络的节点定位方法,包括以下步骤:A1,所述待测节点定时按照指定功率向整个ZigBee无线传感器网络广播定位信标信号;A2,每个锚节点接收所述定位信标信号后,分别计算出每个定位信标信号的功率值,并将计算出的功率值和对应的锚节点网络ID打包成定位数据包,发送给对应的待测节点;A3,所述待测节点将接收到的定位数据包整合后发送给网关节点;A4,所述网关节点将接收到的定位数据包传输给PC机进行处理,所述PC机根据定位数据包中的功率值计算出所述待测节点和每个锚节点之间的距离;以及A5,所述PC机根据计算出的待测节点和每个锚节点之间的距离计算出所述待测节点的位置坐标。
1.一种基于ZigBee无线传感器网络的节点定位方法,所述ZigBee无线传感器网络包括位置已知的多个锚节点、位置未知的待测节点及网关节点,其特征在于,所述节点定位方法包括步骤:
A1,所述待测节点定时按照指定功率向整个ZigBee无线传感器网络广播定位信标信号;
A2,每个锚节点接收所述定位信标信号后,分别计算出每个定位信标信号的功率值,并将计算出的功率值和对应的锚节点网络ID打包成定位数据包,发送给对应的待测节点;
A3,所述待测节点将接收到的定位数据包整合后发送给网关节点;
A4,所述网关节点将接收到的定位数据包传输给PC机进行处理,所述PC机根据定位数据包中的功率值计算出所述待测节点和每个锚节点之间的距离;
A5,所述PC机根据计算出的待测节点和每个锚节点之间的距离计算出所述待测节点的位置坐标;
任意定位区域中至少设置有三个所述锚节点,在所述步骤A3中,所述待测节点将接收到的定位数据包中的功率值进行阀值处理后再发送给网关节点:
设定阀值为Rrssi,而所述待测节点接收到M个锚节点的功率值为RSSIi,i=0,1,…,M;
x为RSSIi≥Rrssi的个数;那么
当x≥3时,所述待测节点则整合x个功率值以及对应的锚节点网络ID后发送给网关节点;
当x<3时,所述待测节点则将M个功率值以递减方式排列,整合前 个RSSI值(为向上取整)以及对应锚节点网络地址ID后发送给网关节点。
2.如权利要求1所述的基于ZigBee无线传感器网络的节点定位方法,其特征在于,在所述A4步骤中,所述PC机根据定位数据包中的功率值通过RSSI信号强度测距建模计算出待测节点和每个锚节点之间的距离:
RSSI=-(10nlog10L+A)
其中,RSSI为每个锚节点接收定位信标信号后得到的功率值,n为信号传播常数,A为距离发送的待测节点1米时的信号强度,n和A的实际值可以通过均值滤波算法实时得到;
而L表示待测节点和每个锚节点之间的距离。
3.如权利要求1所述的基于ZigBee无线传感器网络的节点定位方法,其特征在于,在所述步骤A5中,所述PC机根据计算出的待测节点和每个锚节点之间的距离,通过极大似然估计法获得待测节点的位置坐标:用(x1,y1),(x2,y2),...,(xn,yn)表示n个锚节点的位置坐标,用(H1,H2,...,Hn)表示n个锚节点的高度,用h表示待测节点的高度,用(L1,L2,...,Ln)表示通过RSSI信号强度测距模型计算出的待测节点和每个锚节点之间的距离,用(d1,d2,...,dn)表示每个锚节点到待测节点之间映射到定位区域坐标轴上的距离,用(xD,yD)表示待测节点的位置坐标,则有:
且
从而得到
其中,令
由于合理的线性模型为A(xD,yD)+N=b,其中N为n-1维随机误差向量,得到待测节点的位置坐标为:
T -1 T
(xD,yD)=(AA) Ab。
4.如权利要求1所述的基于ZigBee无线传感器网络的节点定位方法,其特征在于,在所述步骤A2中,每个所述锚节点接收所述定位信标信号并分别得到每个定位信标信号的功率值后,首先利用高斯滤波模型进行滤波,经过滤波后,功率值的取值范围为:
[0.5σ+μ,3.09σ+u]
其中,
其中,W表示每个锚节点接收到待测节点发送的定位信标信号的次数,RSSIi表示每个锚节点第i(1≤i≤W)次接收到定位信标信号后计算得到的功率值;
然后将所述取值范围内的功率值取平均值,得到最终的功率值,并将最终的功率值和对应的锚节点网络ID打包成定位数据包,发送给对应的待测节点。
基于ZigBee无线传感器网络的节点定位方法\n技术领域\n[0001] 本发明涉及无线传感器网络的位置定位,更具体地涉及一种基于ZigBee无线传感器网络的节点定位方法。\n背景技术\n[0002] 无线传感器网络(Wireless Sensor Network,WSN)是近几年出现的比较热门的一个课题.随着现代科技的发展,Internet方便了人们的生活,并成为人们不可或缺的部分,而通过部署大量传感器节点至目标区域,WSN将改变我们与客观世界的交互方式.无线传感器网络的出现是微机电系统、无线通信和数字电子技术快速发展的结果,而大量廉价微型传感器节点的出现,更加速发展了无线传感器的大量应用.传感器网络属于自组织的系统,是一个协同工作的具有感知、采集、处理对象信息能力的系统.但如果不知道传感器节点位置而获得的对象信息是没有任何意义的,无线传感器网络节点必须明确知道自身位置才能够实现目标的定位、跟踪以及网络的路由和管理.因此必须通过相关的算法和机制来首先实现传感器网络自身节点的定位.为实现自身定位,可将传感器网络中的节点分为锚节点和未知节点.锚节点是已知位置的节点,未知节点是需要定位的节点。\n[0003] 中国专利申请CN101464510公开了一种无线传感器网络多点准确定位与跟踪方法,其虽然能够实现一定条件下的无线传感器网络自身定位,但是其技术存在以下不足:第一,系统布置有局限性,布置不便利。由于定位方法要求锚节点布置在规则四边形顶点处,对施工精确度要求很高,同时对场地的要求也高,为部署带来不小的麻烦要求;第二,定位方法引入了固有误差。由于规则四边形只有4个顶点,参考节点数量固定,而且相对比较少,定位精度大打折扣,而且没有太多的方法消除误差。\n发明内容\n[0004] 本发明的目的在于提供一种基于ZigBee无线传感器网络的节点定位方法,主要是解决现有技术布置难和定位精度不高的问题。\n[0005] 为了实现上述目的,本发明提供了一种基于ZigBee无线传感器网络的节点定位方法,所述ZigBee无线传感器网络包括位置已知的多个锚节点、位置未知的待测节点及网关节点,其特征在于,所述节点定位方法包括步骤:\n[0006] A1,所述待测节点定时按照指定功率向整个ZigBee无线传感器网络广播定位信标信号;\n[0007] A2,每个锚节点接收所述定位信标信号后,分别计算出每个定位信标信号的功率值,并将计算出的功率值和对应的锚节点网络ID打包成定位数据包,发送给对应的待测节点;\n[0008] A3,所述待测节点将接收到的定位数据包整合后发送给网关节点;\n[0009] A4,所述网关节点将接收到的定位数据包传输给PC机进行处理,所述PC机根据定位数据包中的功率值计算出所述待测节点和每个锚节点之间的距离;\n[0010] A5,所述PC机根据计算出的待测节点和每个锚节点之间的距离计算出所述待测节点的位置坐标。\n[0011] 较佳地,在所述A4步骤中,所述PC机根据定位数据包中的功率值通过RSSI信号强度测距模型计算出待测节点和每个锚节点之间的距离:\n[0012] RSSI=-(10nlog10L+A)\n[0013] 其中,RSSI为每个定位信标信号的功率值,n为信号传播常数,A为距离发送的待测节点1米时的信号强度,n和A的实际值可以通过均值滤波算法实时得到;而L表示待测节点和每个锚节点之间的距离。\n[0014] 较佳地,在所述步骤A5中,所述PC机根据计算出的待测节点和每个锚节点之间的距离,通过极大似然估计法获得待测节点的位置:用(x1,y1),(x2,y2),...,(xn,yn)表示n个锚节点的位置坐标,用(H1,H2,...,Hn)表示n个锚节点的高度,用h表示待测节点的高度,用(L1,L2,...,Ln)表示通过RSSI信号强度测距模型计算出的待测节点和每个锚节点之间的距离,用(d1,d2,...,dn)表示每个锚节点到待测节点之间映射到定位区域坐标轴上的距离,用(xD,yD)表示待测节点的位置坐标,则有:\n[0015] \n[0016] 且\n[0017] \n[0018] 从而得到\n[0019] \n[0020] 其中,令\n[0021] \n[0022] 由于合理的线性模型为A(xD,yD)+N=b,其中N为n-1维随机误差向量,得到待测节点的位置坐标为:\nT -1 T\n[0023] (xD,yD)=(AA) Ab。\n[0024] 较佳地,在所述步骤A2中,每个所述锚节点接收所述定位信标信号并分别得到每个定位信标信号的功率值后,利用高斯滤波模型进行滤波,经过滤波后,功率值的取值范围为:\n[0025] [0.5σ+μ,3.09σ+u]\n[0026] 其中,\n[0027] \n[0028] \n[0029] 其中,W表示每个锚节点接收到待测节点发送的定位信标信号的次数,RSSIi表示每个锚节点第i(1≤i≤W)次接收到定位信标信号后得到的功率值;\n[0030] 然后将所述取值范围内的功率值取平均值,得到最终的功率值,并将最终的功率值和对应的锚节点网络ID打包成定位数据包,发送给对应的待测节点。\n[0031] 较佳地,任意定位区域中至少设置有三个所述锚节点,在所述步骤A3中,所述待测节点将接收到的定位数据包中的功率值进行阀值处理后再发送给网关节点:\n[0032] 设定阀值为Rrssi,而所述待测节点接收到M个锚节点的功率值为RSSIi,i=\n0,1,…,M;x为RSSIi≥Rrssi的个数;那么\n[0033] 当x≥3时,所述待测节点则整合x个功率值以及对应的锚节点网络ID后发送给网关节点;\n[0034] 当x<3时,所述待测节点则将M个功率值以递减方式排列,整合前 个RSSI值( 为向上取整)以及对应锚节点网络地址ID后发送给网关节点。\n[0035] 与现有技术相比,本发明提供一种基于ZigBee无线传感器网络的节点定位方法,其优点表现在:\n[0036] (1)定位精度高;与现有技术相比,本发明的中的定位算法对锚节点的数量没有限制,采用的最大似然估计算法,锚节点越多定位精度越高。\n[0037] (2)与现有技术相比本发明对锚节点的位置没有特殊要求,部署方便,简单。\n[0038] 通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明的实施例。\n附图说明\n[0039] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0040] 图1为本发明基于ZigBee无线传感器网络的节点定位方法的流程图。\n[0041] 图2为本发明基于ZigBee无线传感器网络的节点定位方法的网络节点结构示意图。\n[0042] 图3为图2所示无线传感器网络节点结构的坐标位置计算示意图。\n具体实施方式\n[0043] 下面将结合本实用新型实施例中的附图,对实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型一部分实施例,而不是全部的实施例。现在参考附图描述本实用新型的实施例,附图中类似的元件标号代表类似的元件。\n[0044] 参考图1,本发明实施例提供了一种基于ZigBee无线传感器网络的节点定位方法,本实施例的ZigBee无线传感器网络的结构如图2所示,主要由多个锚节点(P1、P2、P3、P4、P5)、待测节点(A、B、C、D)和网关节点P组成。锚节点(P1、P2、P3、P4、P5)是已知固定位置的节点,负责定位数据包发送、传输、路由;待测节点(A、B、C、D)负责传感数据采集、发送、传输、路由等工作。而网关节点P通过以太网和计算机(PC机)连接,它负责接收网络中各节点传输过来的数据,传给计算机后,由计算机处理。\n[0045] 具体的,锚节点(P1、P2、P3、P4、P5)是已知固定坐标位置的节点,且每个锚节点都经过初始化后获得网络ID,并顺序编号。待测节点(A、B、C、D)是未知坐标位置的无线节点,系统工作时,未知节点采集传感器数据,通过Zigbee网络将传感器数据发送到网关节点,提供给计算机处理。网关节点P主要接收未知节点传输过来的传感数据和定位数据,把这些数据都传输给计算机进行处理并定位出待测节点(A、B、C、D)。\n[0046] 在本发明实施例中,通过采用RSSI信号强度测距建模实现测距和采用最大似然估计算法的定位算法获得待测节点的位置坐标,有效的避免了信号漂移和发射带来的误差。\n[0047] RSSI信号强度测距模型及其实现的方式如下:接收无线信号强度RSSI是传输功率和传输距离(发送节点与接收节点之间的距离)的函数。RSSI值会随着距离的增加按如式(1-1)递减:\n[0048] RSSI=-(10nlog10L+A)(1-1)\n[0049] 其中n为信号传播常数,与信号的传输环境有关;L为接收节点与发送节点(在本实施例中为每个锚节点与待测节点D之间的距离);A为距离发送节点(在本实施例中为待测节点D)1米时的信号强度。\n[0050] A和n的取值不同,对测量的误差影响会很大,为了尽可能提高基于RSSI信号强度测距模型测距定位的精度,参数A和n的取值必须根据环境的不同自动测算。理论上A的值在各个方向上应该是一致的,但由于发射节点和接收节点天线的各向性,使它的值并不一定相同,因此需要进行多次测量并取平均值。因为n与信号传播环境有关,它的值是不断变化的,在定位区域通过测量得到一组n值,采用均值滤波算法计算实际n值。\n[0051] 例如本发明实施例的zigbee传感器网络中,假设包含有已知并且固定坐标的待测节点C1,而且在布放锚节点时,按距离待测节点C1距离分别为1米,2米的位置上放置M1、M2两个锚节点。在系统运行时,锚节点M1实时接收到未知节点C1发送过来的N个定位信标,计算得到信号功率值RSSI_C1M1i,根据式(1-1),会得到一组A的观测值,采用均值滤波算法可以计算A的实际值,如式(1-2)所示。\n[0052] \n[0053] 锚节点M2实时接收到待测节点C1发送到N个位信标,计算得到信号功率值RSSI_C1M2i,根据式(1-1),得到一组关于n和A的观测值,采用均值滤波算法和式(1-2)得到的A,可以计算n的实际值。如是(1-3)所示。\n[0054] \n[0055] 系统运行时,A和n的值在实时测算,会根据随环境的变化实时更新,减小了系统误差。\n[0056] 下面,结合图1,详细描述本发明实施例的基于ZigBee无线传感器网络的节点定位方法,在本实施例中,主要是描述如何定位出图2中的待测节点D,可理解的,其他待测节点(A、B、C)的方法与本实施例是一致的,在此不重复描述。本实施例的基于ZigBee无线传感器网络的节点定位方法包括步骤:\n[0057] S101,所述待测节点定时按照指定功率向整个ZigBee无线传感器网络广播定位信标信号;\n[0058] S102,每个锚节点接收所述定位信标信号后,分别计算出每个定位信标信号的功率值,并将计算出的功率值和对应的锚节点网络ID打包成定位数据包,发送给对应的待测节点;\n[0059] 在该步骤中,由于每个锚节点接收到W次(本实施例中设置可将W值为50)待测节点发送的带功率值的信息包后,由于受到视距和多径等外界环境因素影响,每个锚节点得到的功率值会具有比较大的波动性,因而先进行滤波处理,得到一个比较准确的值再进行计算。\n[0060] 由于在自然现象和社会现象中,大量随机变量服从或近似服从正态分布,如材料性能、化学成分和测量误差等,因此本方案采用高斯滤波模型进行功率值滤波。每个所述锚节点接收所述定位信标信号并分别得到每个定位信标信号的功率值后,首先利用高斯滤波模型进行滤波,高概率发生区,选择概率大于0.6的范围(一般工程中的经验值为0.6)。经过高斯滤波后,功率值的取值范围为:\n[0061] [0.5σ+μ,3.09σ+u](1-4)\n[0062] 其中,\n[0063] \n[0064] 其中,W表示每个锚节点接收到待测节点发送的定位信标信号的次数,RSSIi表示每个锚节点第i(1≤i≤W)次接收到定位信标信号后计算得到的功率值;\n[0065] 然后将所述取值范围内的功率值取平均值,得到最终的功率值,并将最终的功率值和对应的锚节点网络ID打包成定位数据包,发送给对应的待测节点。\n[0066] S103,所述待测节点将接收到的定位数据包整合后发送给网关节点;\n[0067] 在该步骤中,由于待测节点广播定位信标后,会接收一定范围内锚节点发回的最终RSSI值和对应的锚节点网络编号,本实施例中网络布局的宗旨为:任意一小块定位区域,至少有三个锚节点,并且与三个锚节点都保持可视性。满足可视性的锚节点所得到的RSSI值是最准确的,利用这些RSSI值测得的未知节点坐标的精度也是最高的,但如果这个范围内还有一些不满足可视性的锚节点,由于障碍物的影响,这些锚节点得到的RSSI值会比那些满足可视性锚节点得到的RSSI值小,最终会降低待测节点的定位精度。本实施例采用一个阀值处理过程来滤除那些一跳范围内受障碍物影响很大的锚节点所发送的RSSI值。\n[0068] 设阀值为Rrssi,Rrssi的取值可由上述式(1-1)中取L=20米计算得到,其中n和A的值,采用式(1-2),式(1-3)计算值。\n[0069] 假设待测节点接收到M个锚节点的功率值为RSSIi,,i=0,1,…,M;x为RSSIi≥Rrssi的个数。那么,当x≥3时,所述待测节点则整合x个功率值以及对应的锚节点网络ID后发送给网关节点;当x<3时,所述待测节点则将M个功率值以递减方式排列,整合前 个RSSI值( 为向上取整)以及对应锚节点网络地址ID后发送给网关节点。\n[0070] S104,所述网关节点将接收到的定位数据包传输给PC机进行处理,所述PC机根据定位数据包中的功率值,并通过RSSI信号强度测距建模计算出所述待测节点和每个锚节点之间的距离;\n[0071] 在该步骤中,计算机接收到网管节点发送上来的定位数据包后,获得其中的RSSI值后,根据式上式(1-1)分别得到待测节点和每个锚节点之间的距离。\n[0072] S105,所述PC机根据计算出的待测节点和每个锚节点之间的距离,通过极大似然估计法计算出所述待测节点的位置坐标。\n[0073] 在该步骤中,计算机接收到网管节点发送上来的定位数据包后,获得其中的RSSI值后,根据式上式(1-1)分别得到待测节点和每个锚节点之间的距离后,进行待测节点坐标的计算。本发明实施例采用极大似然估计法来计算待测节点的坐标。如图\n3所示,已知n个锚节点(P1,P2,...,Pn)的高度分别为(H1,H2,...,Hn),坐标分别为(x1,y1),(x2,y2),...,(xn,yn),待测节点D的高度为h,通过RSSI信号强度测距模型计算出的待测节点D和每个锚节点之间的距离的距离为(L1,L2,...,Ln),设每个锚节点到待测节点D之间映射到定位区域坐标轴上的距离(d1,d2,...,dn),那么,根据图3所示,可知:\n[0074] \n[0075] 设待测节点的位置坐标为(xD,yD),则有:\n[0076] \n[0077] 对上式(1-7),从第一个方程开始,分别减去最后一个方程,得到:\n[0078] \n[0079] 其中,令\n[0080] \n[0081] 由于存在测距误差,合理的线性模型为A(xD,yD)+N=b,其中N为n-1维随机误差向量,得到待测节点的位置坐标为:\n[0082] (xD,yD)=(ATA)-1ATb (1-8)。\n[0083] 综上所述,本发明提供一种基于ZigBee无线传感器网络的节点定位方法,由于采用了RSSI信号强度测距建模实现测距和采用最大似然估计算法的定位算法获得待测节点的位置坐标,有效的避免了信号漂移和发射带来的误差。与现有技术相比,本发明的中的定位算法对锚节点的数量没有限制,采用的最大似然估计算法,锚节点越多定位精度越高。比现有技术先进;且本发明对锚节点的位置没有特殊要求,部署方便,简单。\n[0084] 以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。
法律信息
- 2015-08-19
- 2013-02-27
实质审查的生效
IPC(主分类): H04W 64/00
专利申请号: 201210279633.1
申请日: 2012.08.07
- 2013-01-16
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-09-29
|
2009-03-25
| | |
2
| |
2008-06-04
|
2007-12-11
| | |
3
| |
2011-10-05
|
2011-05-18
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |