基于ZigBee的定位算法MATLAB仿真及结果分析汇总

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.4 TDOA算法仿真

我们取节点总数为100个,已知节点为20个,通信半径为60米,边界长宽均为100米,已知节点坐标和未知节点坐标均随机产生,定位结果如下:

绝对误差3.3225e-13米,相对误差 5.5376e-13%,均接近于0(盲节点的定位误差视为0),所有节点均可被定位且它们的定位误差几乎为0。因为将盲节点的定位误差视为0,则此TDOA定位算法的误差来源于计算过程中的小数位数的取舍,这样的误差是十分小的与接近于0的运算结果相符。

注:≈0表示接近于0(远小于1)。

绝对误差:定位出的未知节点的坐标与实际坐标相差的距离值

平均绝对误差:N次运算绝对误差的均值

相对误差:绝对误差与节点通信半径的比

平均绝对误差:N次运算相对误差的均值

平均盲节点比例:盲节点总数占总未知节点数的比例

将不能被定位的节点的估计位置全置为(0,0)

图XX.基于TDOA算法的定位仿真结果

图XX.基于TDOA算法的定位仿真定位出来的每个未知节点的对误差同样的因为已知节点和未知节点坐标均为随机产生,所以定位结果的误差也具有随机性,因此保持上述条件不变做多次运算求定位误差的平均值则可以表示在上

1次10次20次40次50次100

次200

300

500

800

平均

绝对

误差

(米)

≈0 ≈0 ≈0 ≈0 ≈0 ≈0 ≈0 ≈0 ≈0 ≈0

平均

相对

误差

(%)

≈0 ≈0 ≈0 ≈0 ≈0 ≈0 ≈0 ≈0 ≈0 ≈0

平均盲节比例(%)0 0 0.062

50

0.031

25

0.050

00

0.037

50

0.068

75

0.087

50

0.077

50

0.130

00

表XX.多次运算后的平均绝对误差、平均相对误差、平均盲节比例

从上表中我们可以看出,随着定位次数的增加平均绝对误差和平均相对误差一直是远小于1的,而平均盲节比例处于不稳定状态,因此我们选择做100次定位运算作为定位运算的代表值。由于定位算法的原理导致了在已知节点通信半径外的未知节点间不能通信,所以会出现无法定位的盲节点,盲节点的出现还与网络的拓扑结构有关。

下面我们来计算不同通信半径100次定位的平均相对误差和平均绝对误差

表XX.不同通信半径100次定位的平均相对误差和平均绝对误差以及平均盲

节点比例

由上表仿真数据我们可以看到,在已知节点比例、节点总数和定位范围一定时随着节点通信半径的增大平均盲节点的比例逐渐下降(平均绝对误差和平均相对误差一直都远小于1),当通信半径达到一个临界值时(本次仿真此临界值为70米,临界值与已知节点比例、节点总数和定位范围等因素有关)可以消除盲节点。

下面我们研究在通信半径一定(60米)总节点数一定(100个)时不同已知节点比例的情况(已知节点比例不同时100次定位的平均相对误差和绝对误差),因为已知平均绝对误差与平均相对误差不受上述因素影响,因此只研究平均盲节

表XX.在通信半径一定、总节点数一定时不同已知节点比例的情况下平均盲节点比例

由上述表分析可知,TDOA定位算法的精度较高,但会存在盲节点,为了消除盲节点就要用增加已知节点比例、优化网络拓扑结构、增大节点通信距离等多种方法,这增加了组网的难度和组网的费用,而且在复杂环境下TDOA定位的使用会受到很大影响。

在这里提出两种改进算法:1、多次定位(本论文只研究二次定位):首先,我们对能够定位的未知节点进行定位并记录不能定位的节点,然后我们将前一次定位得到的未知节点作为已知节点,与开始时的已知节点一起为剩下的未知节点的定位提供服务,这样在下一次定位时未知节点的比例就降低了,已知节点的覆盖范围也会增大,因此有可能把此前无法定位的未知节点定位出来。上述步骤可以重复多次,以降低无法定位的未知节点数。2、人工布置已知节点位置:通过人工对已知节点进行均匀化(因为仿真时未知节点是随机分布的,因此对已知节点进行均匀布置)或者根据实际定位需求对某些区域进行优化,这样可以降低定

位误差。

多次定位(本文研究的是二次定位)仿真:定位范围为100米×100米,总节点数为100个,已知节点数为40个,通信半径为20米,定位次数为2次。

图XX.一次定位结果

图XX.二次定位结果注:指向原点的为不能定位的未知节点。

图XX.二次定位未知节点误差

仿真结果如下:1、一次定位平均绝对误差≈0,一次定位平均相对误差≈0,一次定位出的未知节点数为52个,为定位出的节点数为8个。2、二次定位平均绝对误差为3.0821米,二次定位平均相对误差15.41%,二次定位出的未知节点数为4个,为定位出的节点数为4个。

由仿真结果可以确定,多次定位算法可以降低无线传感器定位网络中的盲节点数。

3.5 DV-hop算法仿真

仿真算法实现:系统随机产生100个横纵坐标值均在100内的点存于矩阵中,前20个点作为已知节点后80个点作为未知节点,将已知节点和未知节点显示到

图Figure 1中。计算任意两两节点间的距离存于矩阵中,计算已知节点间的最小跳数存于矩阵中,利用已知的已知节点间的距离和最小跳数信息计算各已知节点的校正值,未知节点从最近的已知节点获得校正值并计算得到三个距离此未知节点最近的已知节点的估计距离,而与距离相对应的已知节点的坐标值是已知的,使用最小二乘法求解未知节点的估计坐标,并将此估计位置显示在实际位置图Figure 1中(对无法被定位的未知节点数目进行计数,并将其估计位置设置为(0,0))。计算相应估计位置与实际位置的相对误差,显示在图Figure 2中。计算平均绝对误差以及平均相对误差。

我们取节点总数为100个,已知节点为20个,通信半径为60米,定位边界长宽均为100米,已知节点坐标和未知节点坐标均随机产生,定位结果如下:

此时的定位绝对误差为16.1876米,相对误差为26.98%

图XX.DV-Hop定位算法仿真结果

相关文档
最新文档