节点定位方法、装置、无线传感网络及存储介质

未命名 07-19 阅读:79 评论:0


1.本发明涉及通信技术领域,尤其涉及到一种节点定位方法、装置、无线传感网络及存储介质。


背景技术:

2.现场作业是电气设备运维检修的重要形式。通过研制现场作业人员可穿戴式安全预警装置,可以有效为现场监控人员、吊车操作人员等提供实时预警信息和环境监测信息。采用无线传感的多跳自组网络技术可以为现场作业过程中的环境监测和感知提供可行性的方案,而了解现场作业人员的位置信息对环境感知的应用十分重要,节点定位技术也成为无线传感网络研究的关键技术之一。
3.其中无需测距的dv-hop定位算法由于其具有实现简单,成本较低以及适用性高等特点而受到广泛应用。传统的dv-hop算法作为非测距算法的主要代表,在定位误差上存在单一锚节点估算的平均跳值具有较大差异性,从而导致距离误差进一步累积等问题。因此,如何降低误差累计带来的定位精度影响,是一个亟需解决的技术问题。
4.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

5.本发明的主要目的在于提供一种节点定位方法、装置、无线传感网络及存储介质,旨在解决传统的dv-hop算法,在定位误差上存在单一锚节点估算的平均跳值具有较大差异性,从而导致距离误差进一步累积的技术问题。
6.为实现上述目的,本发明提供一种节点定位方法,用于无线传感网络,所述无线传感网络包括若干个锚节点、若干个信标节点和未知节点,包括以下步骤:
7.锚节点向无线传感网络广播信标数据;其中,所述信标数据包括跳数值;
8.当信标节点接收到信标数据时,对接收的具有最小跳数值的信标数据进行跳数值更新,并将更新后的信标数据向无线传感网络内广播;
9.当未知节点接收到信标数据时,根据修正系数对接收的具有最小跳数值的信标数据进行跳数值修正;
10.基于若干个信标节点和未知节点中的跳数值,确定每个锚节点对应的第一平均跳距值,并根据所述第一平均跳距值,获得未知节点对应的第二平均跳距值;
11.根据所述第二平均跳距值,获得未知节点与锚节点之间的估计距离,并利用极大似然估计法,获得位置节点的坐标。
12.可选的,所述跳数值的初始值为零;所述对接收的具有最小跳数值的信标数据进行跳数值更新处理步骤,具体包括:对接收的具有最小跳数值的信标数据对应的跳数值加一并存储,对接收的其余信标数据舍弃。
13.可选的,所述当未知节点接收到信标数据时,根据修正系数对接收的具有最小跳
数值的信标数据进行跳数值修正步骤,具体包括:
14.当未知节点接收到信标数据时,获取未知节点与锚节点之间的差值修正系数ω
ij
和跳数修正系数θ
ij

15.根据所述差值修正系数ω
ij
和所述跳数修正系数θ
ij
,对接收的具有最小跳数值的信标数据进行跳数值修正。
16.可选的,所述差值修正系数的表达式,具体为:
17.ω
ij
=1-σ
ijn
18.σ
ij
=(h
ij-h
ij
)/h
ij
19.h
ij
=d
ij
/r
20.其中,ω
ij
为未知节点j到锚节点i之间的差值修正系数;σ
ij
为未知节点j到锚节点i之间的偏差系数;h
ij
为未知节点j接收到锚节点i的信标数据中的估算跳数,即最小跳数值;h
ij
为未知节点j到锚节点i之间的最佳跳数;d
ij
为未知节点j到锚节点i之间的真实距离;r为通信半径;
21.所述跳数修正系数的表达式,具体为:
[0022][0023]
其中,l为播撒区域的边长,ρ为锚节点占比,r为通信半径。
[0024]
可选的,所述对接收的具有最小跳数值的信标数据进行跳数值修正的表达式,具体为:
[0025][0026]
其中,h
ij
为未知节点j接收到锚节点i的信标数据中的估算跳数,即最小跳数值;h’ij
为未知节点j接收到锚节点i的信标数据中修正后的跳数值。
[0027]
可选的,所述获得未知节点对应的第二平均跳距值的表达式,具体为:
[0028][0029][0030]
[0031][0032]
其中,hopesizem为未知节点对应的第二平均跳距值;ωi为权值;εi为锚节点的平均每跳距离的误差;hopsizei为锚节点对应的第一平均跳距值;n为锚节点的数量,hop
ij
为修正后的跳数值h’ij

[0033]
可选的,未知节点与锚节点之间的估计距离的表达式,具体为:
[0034]dpj
=h’pj
×
hopsize
p
[0035]
其中,d
pj
为未知节点p与锚节点j之间的估计距离,hopesize
p
为未知节点p的平均跳距值,即第二平均跳距值,h'
pj
为未知节点p与锚节点j之间的最小跳数值。
[0036]
此外,为了实现上述目的,本发明还提供了一种节点定位装置,所述节点定位装置包括:
[0037]
广播模块,用于锚节点向无线传感网络广播信标数据;;其中,所述信标数据包括跳数值;
[0038]
更新模块,用于当信标节点接收到信标数据时,对接收的具有最小跳数值的信标数据进行跳数值更新,并将更新后的信标数据向无线传感网络内广播;
[0039]
修正模块,用于当未知节点接收到信标数据时,根据修正系数对接收的具有最小跳数值的信标数据进行跳数值修正;
[0040]
确定模块,用于基于若干个信标节点和未知节点中的跳数值,确定每个锚节点对应的第一平均跳距值,并根据所述第一平均跳距值,获得未知节点对应的第二平均跳距值;
[0041]
定位模块,用于根据所述第二平均跳距值,获得未知节点与锚节点之间的估计距离,并利用极大似然估计法,获得位置节点的坐标。
[0042]
此外,为了实现上述目的,本发明还提供了一种无线传感网络,所述无线传感网络包括:若干个锚节点、若干个信标节点和未知节点;其中,所述锚节点、所述信标节点和所述未知节点实现如上所述的节点定位方法的步骤。
[0043]
此外,为了实现上述目的,本发明还提供了一种存储介质,所述存储介质上存储有节点定位方法程序,所述节点定位方法程序被处理器执行时实现上述的节点定位方法的步骤。
[0044]
本发明实施例提出的一种节点定位方法、装置、无线传感网络及存储介质,该方法包括锚节点向无线传感网络广播信标数据,信标节点接收到信标数据时,进行跳数值更新,并继续广播信标数据,未知节点接收到信标数据时,进行跳数值修正,基于若干个信标节点和未知节点中的跳数值,确定每个锚节点对应的第一平均跳距值以及未知节点对应的第二平均跳距值,最后利用极大似然估计法,获得位置节点的坐标。本发明通过引入平均偏差系数对跳数值进行修正,减少跳数值的误差,将优化后的跳数值投入到节点平均跳距的计算中,结合跳数以及平均每跳距离进行加权计算,最后计算得出未知节点与锚节点之间的距离,定位出未知节点的坐标,避免误差积累,提升了定位的精度。
附图说明
[0045]
图1为本发明实施例中一种节点定位设备的结构示意图;
[0046]
图2为本发明实施例中一种节点定位方法的流程示意图;
[0047]
图3为本发明实施例中通信范围内单跳误差的示意图;
[0048]
图4为本发明实施例中不同锚节点比例下的定位平均误差值的示意图;
[0049]
图5为本发明实施例中不同通信半径下的定位平均误差值的示意图;
[0050]
图6为本发明实施例中不同节点总数下的定位平均误差值的示意图;
[0051]
图7为本发明实施例中一种节点定位装置的结构框图。
[0052]
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0053]
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0054]
目前,在相关技术领域中,传统的dv-hop算法,在定位误差上存在单一锚节点估算的平均跳值具有较大差异性,从而导致距离误差进一步累积。
[0055]
为了解决这一问题,提出本发明的节点定位方法的各个实施例。本发明提供的节点定位方法通过引入平均偏差系数对跳数值进行修正,减少跳数值的误差,将优化后的跳数值投入到节点平均跳距的计算中,结合跳数以及平均每跳距离进行加权计算,最后计算得出未知节点与锚节点之间的距离,定位出未知节点的坐标,避免误差积累,提升了定位的精度。
[0056]
在本实施例中,提供一种无线传感网络,所述无线传感网络包括:若干个锚节点、若干个信标节点和未知节点。
[0057]
需要说明的是,若干个锚节点用于向无线传感网络广播信标数据;其中,所述信标数据包括跳数值。若干个信标节点在接收到信标数据时,对接收的具有最小跳数值的信标数据进行跳数值更新,并将更新后的信标数据向无线传感网络内广播。未知节点在接收到信标数据时,根据修正系数对接收的具有最小跳数值的信标数据进行跳数值修正。
[0058]
在优选的实施例中,在无线传感网络中还设有节点定位设备,用于基于若干个信标节点和未知节点中的跳数值,确定每个锚节点对应的第一平均跳距值,并根据所述第一平均跳距值,获得未知节点对应的第二平均跳距值;根据所述第二平均跳距值,获得未知节点与锚节点之间的估计距离,并利用极大似然估计法,获得位置节点的坐标。
[0059]
参照图1,图1为本发明实施例方案涉及的节点定位设备的结构示意图。
[0060]
设备可以是移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(pda)、平板电脑(pad)等用户设备(user equipment,ue)、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(mobile station,ms)等。设备可能被称为用户终端、便携式终端、台式终端等。
[0061]
通常,设备包括:至少一个处理器301、存储器302以及存储在所述存储器上并可在所述处理器上运行的节点定位方法程序,所述节点定位方法程序配置为实现如前所述的节点定位方法的步骤。
[0062]
处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用dsp(digital signal processing,数字信号处理)、fpga(field-
programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。处理器301还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关节点定位方法操作,使得节点定位方法模型可以自主训练学习,提高效率和准确度。
[0063]
存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器301所执行以实现本技术中方法实施例提供的节点定位方法。
[0064]
在一些实施例中,终端还可选包括有:通信接口303和至少一个外围设备。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口303相连。具体地,外围设备包括:射频电路304、显示屏305和电源306中的至少一种。
[0065]
通信接口303可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器301和存储器302。通信接口303通过外围设备用于接收用户上传的多个移动终端的移动轨迹以及其他数据。在一些实施例中,处理器301、存储器302和通信接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和通信接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0066]
射频电路304用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信,从而可获取多个移动终端的移动轨迹以及其他数据。射频电路304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路304包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路304还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0067]
显示屏305用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏305是触摸显示屏时,显示屏305还具有采集在显示屏305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器301进行处理。此时,显示屏305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏305可以为一个,电子设备的前面板;在另一些实施例中,显示屏305可以为至少两个,分别设置在电子设备的不同表面或呈折叠设计;在再一些实施例中,显示屏305可以是柔性显示屏,设置在电子设备的弯曲表面上或折叠面上。甚至,显示屏305还可以设置成非矩形的不规则图形,也即异形屏。显示屏305可以采用lcd
(liquidcrystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0068]
电源306用于为电子设备中的各个组件进行供电。电源306可以是交流电、直流电、一次性电池或可充电电池。当电源306包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
[0069]
本领域技术人员可以理解,图1中示出的结构并不构成对节点定位设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0070]
本发明实施例提供了一种节点定位方法,参照图2,图2为本发明节点定位方法的实施例的流程示意图。
[0071]
本实施例中,所述节点定位方法包括以下步骤:
[0072]
步骤s100,锚节点向无线传感网络广播信标数据;其中,所述信标数据包括跳数值。
[0073]
在优选的实施例中,信标数据还包括锚节点的标识号和坐标,以便信标节点和未知节点根据接收的信标数据区分对应的锚节点数据,同时,根据锚节点的坐标,还可为后续未知节点的坐标计算提供数据。
[0074]
步骤s200,当信标节点接收到信标数据时,对接收的具有最小跳数值的信标数据进行跳数值更新,并将更新后的信标数据向无线传感网络内广播。
[0075]
具体而言,跳数值的初始值为零。
[0076]
在此基础上,对接收的具有最小跳数值的信标数据进行跳数值更新处理步骤,具体包括:对接收的具有最小跳数值的信标数据对应的跳数值加一并存储,对接收的其余信标数据舍弃。
[0077]
步骤s300,当未知节点接收到信标数据时,根据修正系数对接收的具有最小跳数值的信标数据进行跳数值修正。
[0078]
具体而言,当未知节点接收到信标数据时,根据修正系数对接收的具有最小跳数值的信标数据进行跳数值修正步骤,具体包括:当未知节点接收到信标数据时,获取未知节点与锚节点之间的差值修正系数ω
ij
和跳数修正系数θ
ij
;根据所述差值修正系数ω
ij
和所述跳数修正系数θ
ij
,对接收的具有最小跳数值的信标数据进行跳数值修正。
[0079]
在优选的实施例中,差值修正系数的表达式,具体为:
[0080]
ω
ij
=1-σ
ijn
[0081]
σ
ij
=(h
ij-h
ij
)/h
ij
[0082]hij
=d
ij
/r
[0083]
其中,ω
ij
为未知节点j到锚节点i之间的差值修正系数;σ
ij
为未知节点j到锚节点i之间的偏差系数;h
ij
为未知节点j接收到锚节点i的信标数据中的估算跳数,即最小跳数值;h
ij
为未知节点j到锚节点i之间的最佳跳数;d
ij
为未知节点j到锚节点i之间的真实距离;r为通信半径。
[0084]
在优选的实施例中,跳数修正系数的表达式,具体为:
[0085]
[0086]
其中,l为播撒区域的边长,ρ为锚节点占比,r为通信半径。
[0087]
由此,对接收的具有最小跳数值的信标数据进行跳数值修正的表达式,具体为:
[0088][0089]
其中,h
ij
为未知节点j接收到锚节点i的信标数据中的估算跳数,即最小跳数值;h’ij
为未知节点j接收到锚节点i的信标数据中修正后的跳数值。
[0090]
步骤s400,基于若干个信标节点和未知节点中的跳数值,确定每个锚节点对应的第一平均跳距值,并根据所述第一平均跳距值,获得未知节点对应的第二平均跳距值。
[0091]
具体而言,确定每个锚节点对应的第一平均跳距值,具体为:
[0092][0093]
具体而言,获得未知节点对应的第二平均跳距值,具体为:
[0094][0095][0096][0097]
在上述表达式中,hopesizem为未知节点对应的第二平均跳距值;ωi为权值;εi为锚节点的平均每跳距离的误差;hopsizei为锚节点对应的第一平均跳距值;n为锚节点的数量,hop
ij
为修正后的跳数值h’ij

[0098]
步骤s500,根据所述第二平均跳距值,获得未知节点与锚节点之间的估计距离,并利用极大似然估计法,获得位置节点的坐标。
[0099]
具体而言,未知节点与锚节点之间的估计距离的表达式,具体为:
[0100]dpj
=h’pj
×
hopsize
p
[0101]
其中,d
pj
为未知节点p与锚节点j之间的估计距离,hopesize
p
为未知节点p的平均跳距值,即第二平均跳距值,h’pj
为未知节点p与锚节点j之间的最小跳数值。
[0102]
在本实施例中,提供一种节点定位方法,通过引入平均偏差系数对跳数值进行修正,减少跳数值的误差,将优化后的跳数值投入到节点平均跳距的计算中,结合跳数以及平均每跳距离进行加权计算,最后计算得出未知节点与锚节点之间的距离,定位出未知节点的坐标,避免误差积累,提升了定位的精度。
[0103]
为了更清楚的解释本技术,下面提供一种节点定位方法的具体实例。
[0104]
1.针对传统的dv-hop算法,无线传感网络通过若干个节点形成自组网,在对网络中的信息进行初始化设置后,锚节点i在网络进行广播,将自身所携带的数据包信息传递给其它节点,获取得到最小跳数值hop,设置hop的初始值为0,然后加1,并将数据包信息转发给邻居节点,锚节点附近的其它节点选择最小hop值来对数据包进行筛选并接收。具体步骤为:
[0105]
网络经过初始化后,其中所有的锚节点将自身所携带的数据包{id,(x,y),hop}信息广播发送给相邻的节点,id代表该锚节点的标识号,(x,y)代表锚节点的坐标,hop表示最小跳数值,信息每转发一次,hop值默认加1。
[0106]
网络中的锚节点仅对来自同一个锚节点的最小hop值所对应的数据包进行接收,并对其进行记录,剩余的其它数据包则舍弃不予接收。
[0107]
这些节点在接收到数据包后,采用同样的方式进行转发,重复上述过程,最终可以得出最小跳数值。
[0108]
dv-hop算法在估算节点跳数时,通信区域内的所有邻居节点都被视作1跳。如图3所示,b,c,d,e和f都是a的单跳节点,但对应的实际距离都各不相同,如果此类节点都按照传统的dv-hop算法去处理,则会导致节点单跳估算距离和实际距离之间存在较大的偏差,因而产生较大的定位误差,定位精度下降,为此,在步骤2中采用偏差系数方法来修正并获取最佳跳数.
[0109]
2.网络中的未知节点和其它锚节点接收数据包,接收数据包后,自动更新hop值,在这个跳数更新过程中,采用偏差系数法来修正并得出最佳跳数,具体步骤如下:
[0110]
2.1通过定义节点i,j之间的真实距离d
ij
与通信半径r之比为最佳跳数hij,如公式(1)所示。
[0111]hij
=d
ij
/r
ꢀꢀꢀ
(1)
[0112]
2.2根据2.1步骤中计算得出的估算跳数和最佳跳数,将其进行差值对比,引入偏差系数计算公示如式(2)所示。
[0113]
σ
ij
=(h
ij-h
ij
)/h
ij
ꢀꢀꢀ
(2)
[0114]
在通信半径不变的情况下,如果估算跳数将大于或等于相对最佳跳数,则采用式(3)来进行差值修正,优化跳数信息减少误差累积。
[0115]
ω
ij
=1-σ
ijn
ꢀꢀꢀ
(3)
[0116]
其中ω
ij
表示差值修正系数,n表示修正参数取值。
[0117]
2.3此外,由于跳数数值还受到网络中多个参数影响,主要包括有锚节点占比、播撒区域面积和通信半径等。因此,根据网络自身特性,为了使得相对最佳跳数的误差更小,定义跳数修正系数θ
ij
如式(4)。
[0118][0119]
其中l为正方形播撒区域的边长,ρ为锚节点占比。
[0120]
利用θ
ij
对跳数进行修正,可以使网络连通性达到较好的状态,主要体现在当锚节点占比较高时,θ
ij
值将会减小,降低对跳数的影响;当锚节点占比较小时,对跳数可以进行修正,降低单跳节点对整体跳距的计算。避免了多跳情况下的误差累积。
[0121]
2.4根据步骤2.2和2.3中得出的差值修正系数w
ij
和跳数修正系数θ
ij
对节点跳数进行修正,修正关系为:
[0122][0123]
利用差值修正系数w
ij
来修正跳数,当n取值为2时,ω
ijhij-h
ij
可以展开为由于h
ij
》h
ij
且h
ij
必定大于1,可得出即h’ij-h
ij
《h
ij-h
ij
,表明修正后的跳数更接近于相对最佳跳数,将该最小跳数值保存在节点路由向量表中,以便后续计算步骤3平均跳距使用,从而可以获得更加精确的平均跳距值。
[0124]
3.根据步骤2中的跳数更新过程,向网络中的节点继续转发数据包信息来更新跳数,最终获得网络中的所有节点和锚节点i的最小跳数信息。传统的dv-hop算法在计算锚节点平均跳距时,现有的方式有采用平方误差函数求解平均跳距值,如下式所示:
[0125][0126]
其中,d
ij
为锚节点i与其它节点之间的真实距离,n为锚节点个数,hop
ij
为步骤2中所得最佳相对跳数h’ij

[0127]
使f1对hopsizei求偏导数,并令其值为0:
[0128][0129]
可以解得锚节点i的平均跳值为:
[0130][0131]
然而,在上述对平均跳距的计算中,此适应度函数也并未考虑平均每跳距离的误差存在,为此,引入平均跳距误差和最佳跳数值相结合的加权处理方法来对式(8)进行修正改进。具体改进步骤如下:
[0132]
锚节点的平均每跳距离的误差为:
[0133][0134]
未知节点接收附近n个锚节点平均每跳距离hopsizei,,并且对其进行加权处理,权值ωi的计算公式为:
[0135][0136]
结合修正后的最佳跳数h’ij
,由上式可以看出,跳数值越大,平均每跳的误差值越小,对应的权值越大,对未知节点的平均每跳距离的计算影响越大。
[0137]
4.根据步骤3,可以计算得出未知节点自身平均每跳的距离hopesizem,计算公式为:
[0138][0139]
锚节点根据步骤2中得出的相对最佳跳数h’ij
和上述式(11)计算各锚节点之间的估计距离,并对其进行求解,以计算锚节点i和锚节点j之间的估计距离为例且i≠j,计算方式如下:
[0140]dpj
=h’pj
×
hopsize
p
ꢀꢀꢀ
(12)
[0141]
其中,h’pj
为通过步骤2获得的未知节点p与锚节点j之间的最小跳数值,hopesize
p
为公式(11)计算得出的未知节点p的平均跳距值,d
pj
为未知节点p与锚节点之间的估计距离。
[0142]
5.根据步骤4中式(12)的d
pj
和极大似然估计方法来求解得出未知坐标节点坐标(x’p
,y’p
),极大似然估计方法求解方程为:
[0143][0144]
其中,d
p1
,d
p2
,

,d
pm
为未知节点p距离各锚节点的估计距离,(x1,y1),(x2,y2),

,(xm,ym)分别为m个锚节点的真实坐标,上式其矩阵表述为:ax=d,其中:
[0145][0146][0147]
最后采用最小二乘法x=(a
t
a)-1at
d,可以解得未知节点p的估计坐标(x’p
,y’p
)。
[0148]
6.对采用改进后的dv-hop算法步骤5中得出的未知节点p的坐标,使用平均定位误差值进行评价:
[0149][0150]
其中,(x
p
,y
p
)为未知节点p的真实坐标,(x’p
,y’p
)式未知节点p的估算坐标,n为网络中未知节点的个数,r为节点通信半径,avg_error表示平均定位误差值。
[0151]
7.进一步地,为验证经过改进后的dv-hop定位算法相较于改进前的dv-hop算法更优,通过对比两种算法未知节点的平均定位误差值在不同参数条件下的变化趋势,从而得出结论。
[0152]
如图4所示,实验采用的通信半径均设置为50m,投放节点总数为200时,观察当锚节点比例变化时,对传统dv-hop定位算法和本发明改进的dv-hop定位算法未知节点平均定
位误差的影响,每次实验结果对其取一百次的均值,并绘制变化趋势图可得:
[0153]
从图4中可以看出,两种算法均随着锚节点比例的增加而下降,且本发明改进的dv
‑□
hop定位算法不论在何种锚节点情况下,相对于传统dv-hop定位算法均能大致将未知节点平均定位误差降低23%左右,具有较强的稳定性,同时也使得定位精度大大提升。
[0154]
如图5所示,实验采用的锚节点比例均设置为0.2,投放节点总数为200时,观察当通信半径变化时,两种算法的变化趋势,其中通信半径分别为30,35,40,45,50,55,60,65,70,每次实验结果对其取一百次的均值,并绘制变化趋势图可得:
[0155]
从图5中可以看出,未知节点的平均定位误差下降趋势可以达到15%~25%,本发明改进的dv-hop定位算法对节点通信半径容错性较强,在较短通信半径的情况下依然可以保持较好的定位准确度,这也在一定程度上节省了传感器的通信能量开销。
[0156]
如图6所示,设置锚节点比例恒定为0.2,参与实验节点通信半径均设置成50m,观察当节点总数变化时,对两种算法未知节点平均定位误差的影响。每次实验结果对其取一百次的均值,并绘制变化趋势图可得:
[0157]
从图6中可以看出,本发明改进的dv-hop定位算法随着节点数增加误差有所下降,且不论节点数的多少,误差始终能保持在10%以内,表明网络中定位方法具有较高的精度。
[0158]
本实施例中,利用偏差系数方法来修正跳数值,结合了网络内多个影响因素作为修正时的参考依据,包括锚节点数量占比,通信半径等,使得整个网络具有一定的自适应性,有效减少了误差的积累。在计算未知节点与锚节点之间的平均每跳距离时,通过引入跳数加权计算的方式,将估算出的相对最佳跳数与平均每跳距离的误差结合在一起,最终得出权值,从平均每跳距离和跳数值两个角度来减少误差,为提高算法定位精度实现了双重保障机制,具有一定的优势。
[0159]
参照图7,图7为本发明节点定位装置实施例的结构框图。
[0160]
如图7所示,本发明实施例提出的节点定位装置包括:
[0161]
广播模块10,用于锚节点向无线传感网络广播信标数据;其中,所述信标数据包括跳数值;
[0162]
更新模块20,用于当信标节点接收到信标数据时,对接收的具有最小跳数值的信标数据进行跳数值更新,并将更新后的信标数据向无线传感网络内广播;
[0163]
修正模块30,用于当未知节点接收到信标数据时,根据修正系数对接收的具有最小跳数值的信标数据进行跳数值修正;
[0164]
确定模块40,用于基于若干个信标节点和未知节点中的跳数值,确定每个锚节点对应的第一平均跳距值,并根据所述第一平均跳距值,获得未知节点对应的第二平均跳距值;
[0165]
定位模块50,用于根据所述第二平均跳距值,获得未知节点与锚节点之间的估计距离,并利用极大似然估计法,获得位置节点的坐标。
[0166]
本发明节点定位装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
[0167]
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有节点定位方法程序,所述节点定位方法程序被处理器执行时实现如上文所述的节点定位方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本
申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。确定为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0168]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0169]
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0170]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

技术特征:
1.一种节点定位方法,其特征在于,用于无线传感网络,所述无线传感网络包括若干个锚节点、若干个信标节点和未知节点,包括以下步骤:锚节点向无线传感网络广播信标数据;其中,所述信标数据包括跳数值;当信标节点接收到信标数据时,对接收的具有最小跳数值的信标数据进行跳数值更新,并将更新后的信标数据向无线传感网络内广播;当未知节点接收到信标数据时,根据修正系数对接收的具有最小跳数值的信标数据进行跳数值修正;基于若干个信标节点和未知节点中的跳数值,确定每个锚节点对应的第一平均跳距值,并根据所述第一平均跳距值,获得未知节点对应的第二平均跳距值;根据所述第二平均跳距值,获得未知节点与锚节点之间的估计距离,并利用极大似然估计法,获得位置节点的坐标。2.如权利要求1所述的节点定位方法,其特征在于,所述跳数值的初始值为零;所述对接收的具有最小跳数值的信标数据进行跳数值更新处理步骤,具体包括:对接收的具有最小跳数值的信标数据对应的跳数值加一并存储,对接收的其余信标数据舍弃。3.如权利要求1所述的节点定位方法,其特征在于,所述当未知节点接收到信标数据时,根据修正系数对接收的具有最小跳数值的信标数据进行跳数值修正步骤,具体包括:当未知节点接收到信标数据时,获取未知节点与锚节点之间的差值修正系数ω
ij
和跳数修正系数θ
ij
;根据所述差值修正系数ω
ij
和所述跳数修正系数θ
ij
,对接收的具有最小跳数值的信标数据进行跳数值修正。4.如权利要求3所述的节点定位方法,其特征在于,所述差值修正系数的表达式,具体为:ω
ij
=1-σ
ijn
σ
ij
=(h
ij-h
ij
)/h
ij
h
ij
=d
ij
/r其中,ω
ij
为未知节点j到锚节点i之间的差值修正系数;σ
ij
为未知节点j到锚节点i之间的偏差系数;h
ij
为未知节点j接收到锚节点i的信标数据中的估算跳数,即最小跳数值;h
ij
为未知节点j到锚节点i之间的最佳跳数;d
ij
为未知节点j到锚节点i之间的真实距离;r为通信半径;所述跳数修正系数的表达式,具体为:其中,l为播撒区域的边长,ρ为锚节点占比,r为通信半径。5.如权利要求4所述的节点定位方法,其特征在于,所述对接收的具有最小跳数值的信标数据进行跳数值修正的表达式,具体为::
其中,h
ij
为未知节点j接收到锚节点i的信标数据中的估算跳数,即最小跳数值;h

ij
为未知节点j接收到锚节点i的信标数据中修正后的跳数值。6.如权利要求5所述的节点定位方法,其特征在于,所述获得未知节点对应的第二平均跳距值的表达式,具体为:跳距值的表达式,具体为:跳距值的表达式,具体为:跳距值的表达式,具体为:其中,hopesize
m
为未知节点对应的第二平均跳距值;ω
i
为权值;ε
i
为锚节点的平均每跳距离的误差;hopsize
i
为锚节点对应的第一平均跳距值;n为锚节点的数量,hop
ij
为修正后的跳数值h

ij
。7.如权利要求1所述的节点定位方法,其特征在于,未知节点与锚节点之间的估计距离的表达式,具体为:d
pj
=h'
pj
×
hopsize
p
其中,d
pj
为未知节点p与锚节点j之间的估计距离,hopesize
p
为未知节点p的平均跳距值,即第二平均跳距值,h'
pj
为未知节点p与锚节点j之间的最小跳数值。8.一种节点定位装置,其特征在于,所述节点定位装置包括:广播模块,用于锚节点向无线传感网络广播信标数据;其中,所述信标数据包括跳数值;更新模块,用于当信标节点接收到信标数据时,对接收的具有最小跳数值的信标数据进行跳数值更新,并将更新后的信标数据向无线传感网络内广播;修正模块,用于当未知节点接收到信标数据时,根据修正系数对接收的具有最小跳数值的信标数据进行跳数值修正;确定模块,用于基于若干个信标节点和未知节点中的跳数值,确定每个锚节点对应的
第一平均跳距值,并根据所述第一平均跳距值,获得未知节点对应的第二平均跳距值;定位模块,用于根据所述第二平均跳距值,获得未知节点与锚节点之间的估计距离,并利用极大似然估计法,获得位置节点的坐标。9.一种无线传感网络,其特征在于,所述无线传感网络包括:若干个锚节点、若干个信标节点和未知节点;其中,所述锚节点、所述信标节点和所述未知节点实现如上所述的节点定位方法的步骤。10.一种存储介质,其特征在于,所述存储介质上存储有节点定位方法程序,所述节点定位方法程序被处理器执行时实现如权利要求1至7中任一项所述的节点定位方法的步骤。

技术总结
本发明公开了一种节点定位方法、装置、无线传感网络及存储介质,该方法包括锚节点向无线传感网络广播信标数据,信标节点接收到信标数据时,进行跳数值更新,并继续广播信标数据,未知节点接收到信标数据时,进行跳数值修正,基于若干个信标节点和未知节点中的跳数值,确定每个锚节点对应的第一平均跳距值以及未知节点对应的第二平均跳距值,最后利用极大似然估计法,获得位置节点的坐标。本发明通过引入平均偏差系数对跳数值进行修正,减少跳数值的误差,将优化后的跳数值投入到节点平均跳距的计算中,结合跳数以及平均每跳距离进行加权计算,最后计算得出未知节点与锚节点之间的距离,定位出未知节点的坐标,避免误差积累,提升了定位的精度。了定位的精度。了定位的精度。


技术研发人员:佘倩豪 李永福 刘佳 龙英凯 王谦 杨财伟 杜茗茗 王有元 邓群 洪欣媛 陈伟根 李明兴 杜林 秦威 李剑 张海兵 黄昊 籍勇亮 宫林 李勇 彭君建
受保护的技术使用者:重庆大学 国网重庆市电力公司 国家电网有限公司
技术研发日:2023.03.24
技术公布日:2023/7/18
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐