物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

基于ZigBee的物联网故障定位系统设计

作者:李世光,李志文,王晓慧,韩旭
来源:《物联网世界》
日期:2013-12-19 10:42:22
摘要:传统的无线定位算法受到非视距、多径干扰、信道噪声等因素的影响,无线定位精度往往不高。本文提出一种基于面积的定位算法。该算法以基站之间实际面积不变为基础,测量移动终端与各基站间的距离,通过误差处理,实现对移动终端的精确定位。仿真试验证明,该算法定位精度较高。

  传统的无线定位算法受到非视距、多径干扰、信道噪声等因素的影响,无线定位精度往往不高。本文提出一种基于面积的定位算法。该算法以基站之间实际面积不变为基础,测量移动终端与各基站间的距离,通过误差处理,实现对移动终端的精确定位。仿真试验证明,该算法定位精度较高。

  无线通信、微处理器技术的不断进步推动了无线定位技术的发展。近年来,无线定位技术在军事、智能交通、医疗管理、智能家居等多个方面得到了广泛的应用。对人们的生活带来了不可替代的作用。

  1 概述

  在无线定位算法中,场强定位算法最简单,但定位精度较差;AOA定位虽有一定精度,但接收设备较复杂;TOA定位精度较高,但对时间同步有较高要求;TDOA能消除对时间基准的依赖,可降低成本并保持一定的定位精度。但以上算法均不能降低不同信道上不同干扰。

  基于面积的定位算法能够计算出实际面积与测量求得的面积误差,对误差进行处理后,能够降低各信道上的干扰。

  2 基于面积的无线定位算法

  为便于理解,将基站数量定位4个,分别位于边长为30m的正方形4个端点A、B、C、D处。移动终端P位于正方形内。平面分布图如图1所示。

基于ZigBee的物联网故障定位系统设计

图1 平面分布图

Fig.1 The plane distribution map

  通过采集基站的数据可以得到移动终端到基站A、B、C、D的距离,假设分别为Ra、Rb、

基于ZigBee的物联网故障定位系统设计

  式中,

基于ZigBee的物联网故障定位系统设计

  由于传输过程受到非视距、多径干扰、信道噪声等因素的影响,数据Ra、Rb、Rc、Rd中掺杂了各种噪声干扰,求得的△APB、△BPC、△CPD、△DPA的面积之和S不等于实际的正方形面积900,则可求出误差:

基于ZigBee的物联网故障定位系统设计

  因为e是总面积的误差,将e等分为4份,则△DPA、△APB的面积误差约为e/4。再利用△DPA、△APB的边AD和AB均为30,可求出移动节点到正方形边AD、AB的距离为;

基于ZigBee的物联网故障定位系统设计

  则(x y)就是经过误差修正后的点P的坐标。

  为了进一步降低误差e对定位精度的影响,单位时间内增加采集次数,将求得的点P坐标取平均值。

  3 实验仿真

  根据以上原理进行MATLAB仿真,为方便观察,以y=5作为输入运动路径。在移动终端和4个基站的各信道上添加4个不同的随机噪声。仿真程序如下:

  X=0:0.01:30;

  n1=randn(size(X));

  n2=randn(size(X));

  n3=randn(size(X));

  n4=randn(size(X));

  Y=5;

  Ra=sqrt(Y.^2+X.^2)+n1;

  Rb=sqrt((30-X).^2+Y.^2)+n2;

  Rc=sqrt((30-X).^2+(30-Y).^2)+n3;

  Rd=sqrt(X.^2+(30-Y).^2)+n4;

  R1=(Ra+Rd+30)/2;

  R2=(Ra+Rb+30)/2;

  R3=(Rb+Rc+30)/2;

  R4=(Rc+Rd+30)/2;

  S1=sqrt(abs(R1.*(R1-Ra).*(R1-Rd).*(R1-30)));

  S2=sqrt(abs(R2.*(R2-Ra).*(R2-Rb).*(R2-30)));

  S3=sqrt(abs(R3.*(R3-Rb).*(R3-Rc).*(R3-30)));

  S4=sqrt(abs(R4.*(R4-Rc).*(R4-Rd).*(R4-30)));

  e=S1+S2+S3+S4-900;

  x=(S1-e/4)./15;

  y=(S2-e/4)./15;

  for i = 1:2950 %对每50个数据均值

  sum = 0;

  for j = i : i+49;

  sum = sum + x(j);

  end

  x(i) = sum /50;

  end

  for i = 1:2950

  sum = 0;

  for j = i : i+49;

  sum = sum + y(j);

  end

  y(i) = sum /50;

  end

  plot(x,y,'*');

  进行误差处理的MATLAB运动轨迹仿真图和未进行误差处理的MATLAB运行轨迹仿真图如图2和图3所示。

基于ZigBee的物联网故障定位系统设计

图2 误差处理后的MATLAB运动轨迹仿真图

Fig.2 MATLAB trajectory simulation map error after treatment

基于ZigBee的物联网故障定位系统设计

图3 未进行误差处理的MATLAB运动轨迹仿真图

Fig.3 No MATLAB trajectory simulation map error processing

  由图2和图 3可以看到,求得的点P坐标进行误差处理后能有效地减弱各信道上的噪声干扰,提高系统的定位精度。

  由图2可以看出,当x值较小或较大时,由于无法充分对求得的坐标求均值,坐标数值浮动较大。由此可知单位时间内对数据的采集次数越多,求均值的坐标组数越多,数据的浮动越小,定位越准确。

  4 结束语

  本文提出了一种基于面积的无线定位算法,并利用Matlab仿真软件进行了仿真。实验结果表明,该算法能在各信道中存在不同干扰的情况下,得到测量的总面积与实际总面积的误差,对误差进行处理后能有效的降低干扰对定位系统的影响,提高定位的精度。

  基金项目:山东科技大学2012-2013年度研究生科技创新基金项目。