本发明涉及室内定位领域,尤其涉及一种基于RSSI测距的室内定位方法。

背景技术:

室内无线定位,是指利用无线网络和定位终端提供待测节点位置、速度和方向等相关信息的服务。对于一个定位算法而言,评价其性能标准包括定位精度,节点密度,容错性和自适应性、功耗、成本等。目前,无线网络定位方法种类多,其中基于距离的定位技术大致有四种:基于信号传输时间(TOA),基于信号传输时间差(TDOA),基于信号到达角度(AOA)以及基于接收信号强度指示(RSSI)。

目前,基于RSSI的定位方法相比于其他三种定位技术有着节点无需增加额外的硬件设备,功耗低,成本低等优点,但实际的室内环境较为复杂,存在诸多干扰因素,而且标签节点可能处于移动状态,使得测距结果准确度较低,从而降低定位精确度。

技术实现要素:

为了解决上述问题,本发明提供一种基于RSSI测距的室内定位方法,采用多种优化形式的配合对计算的距离进行多重优化,确保测量距离的准确度,提升定位精确度。

为达到上述目的,本发明的技术方案是:一种基于RSSI测距的室内定位方法,包括如下步骤:

a、在定位区域内设置一个基站节点,多个子站节点及标签节点,将标签节点与待定位物体绑定,多个子站节点以正方形拓扑结构分布在定位区域内,并在服务器中配置子站节点的实际坐标值;

b、基站节点进行ZigBee网络组网,将子站节点和标签节点加入网络实现相互通讯;

c、标签节点进行数据广播,发送标签数据包,通过子站节点解析,再组成子站数据包后发送给基站节点;

d、基站节点对子站数据包进行解析校验,提取对应RSSI值,根据公式P(d)=P0-10*n*(lgd-lgd0)计算出标签节点与子站节点之间的距离d;其中P(d)代表距离d处的信号强度;P0为参考距离d0处测得的信号强度值,d0=1m;n为路径损耗因子,是一个常量;

e、利用卡尔曼滤波对步骤d计算的距离进行优化,降低误差波动引起的误差峰值;

f、利用迭代法对步骤e优化后的距离进行再次优化,获得精确的距离值上传给服务器;

g、服务器根据接收的距离值以及预存的子站节点坐标值,结合RSSI定位算法计算出待测节点的坐标值,实现定位。

优选的,所述步骤a中多个子站节点的分布方法包括:将定位区域分割成多个20*20m的正方形标准区域,以及多个尺寸小于20*20m的非标准区域,每个标准区域和非标准区域的的四个顶点均放置子站节点。

优选的,所述步骤c中标签数据包内容包括两个字节标识符,两个字节标签序号,一个字节当前数据包序号及一个字节校验位。

优选的,所述步骤c中子站数据包内容包括两个字节标识符,两个字节子站序号,两个字节标签序号,一个字节标签包序号,一个字节RSSI值及一个字节校验位。

优选的,所述步骤f中迭代法优化距离的步骤包括:

f1、记本次距离为dis_now,上次距离为dis_last,上上次距离为dis_last_last;

f2、判断上次数据是否出现过突变,如果出现则分别比较dis_now与dis_last和dis_last_last之间的差值,根据差值大小判断需上传的数据值,如果dis_now与dis_last差值的绝对值小于dis_now与dis_last_last差值的绝对值,则上传dis_now,否则上传dis_last_last;

f3、如果上次数据位未发生数据突变,则比较dis_now与dis_last之间的差值,如果差值在设定阈值范围内,则认为是正常抖动,上传dis_now,否则认为本次数据出现突变,上传dis_last;

f4、更新dis_last_last,dis_last的值,将dis_last的值赋给dis_last_last,dis_now的值赋给dis_last;

f5、循环执行步骤f1-f4。

有益效果,本发明揭示的一种基于RSSI测距的室内定位方法,具有如下有益效果:

子站节点在分布时采用正方形拓扑结构,控制节点距离小于20m,从而确保RSSI信号值的精度,确保后期RSSI算法的精确度;

针对初步计算得到的距离值进行卡尔曼滤波,消除突然出现的误差峰值,从而确保距离值的准确度,针对移动的标签情况或者干扰导致的标签漂移情况,采用迭代法对距离值进行对比修正,进一步确保上传至服务器的距离值的精确度,提升定位的精准度;

此外,针对RSSI测距模型易受外部环境干扰的问题提供一套加权质心算法,引入一个权值ω防止信息淹没现象,提高定位精度

附图说明:

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1是本发明实施例中涉及的定位系统的空间布置原理框图;

图2为本发明实施例中涉及的卡尔曼滤波算法流程图;

图3为本发明实施例中涉及的迭代法优化流程图。

具体实施方式:

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。

本发明所揭示的一种基于RSSI测距的室内定位方法,包括如下步骤:

a、在定位区域内设置一个基站节点,多个子站节点及标签节点(如图1所示),将标签节点与待定位物体绑定,多个子站节点以正方形拓扑结构分布在定位区域内,并在服务器中配置子站节点的实际坐标值;

子站节点具体的分布方法包括:将定位区域分割成多个20*20m的正方形标准区域,以及多个尺寸小于20*20m的非标准区域,每个标准区域和非标准区域的的四个顶点均放置子站节点;

b、基站节点进行ZigBee网络组网,将子站节点和标签节点加入网络实现相互通讯;

c、标签节点进行数据广播,向各个子站节点发送标签数据包,该标签数据包内容包括两个字节标识符,两个字节标签序号,一个字节当前数据包序号及一个字节校验位;

子站节点对标签数据包进行解析校验吗,然后加入子站信息后再组包形成子站数据包发送给基站节点,所述子站数据包内容包括两个字节标识符,两个字节子站序号,两个字节标签序号,一个字节标签包序号,一个字节RSSI值及一个字节校验位;

d、基站节点对子站数据包进行解析校验,提取对应RSSI值,根据统计模式公式P(d)=P0-10*n*(lgd-lgd0)计算出标签节点与子站节点之间的距离d;其中P(d)代表距离d处的信号强度;P0为参考距离d0处测得的信号强度值,d0=1m;n为路径损耗因子,是一个常量,一般在2~4之间;

e、步骤d在距离计算时,由于会受到外界环境干扰,这种外界干扰使得计算结果中出现误差波动范围比较集中,并且有时会有误差峰值,故而利用卡尔曼滤波降低忽然出现的误差峰值,并且对前一次数据进行统计,从而估算出现在的数据发展趋势,进而实现距离数据的优化,如图2所示,具体包括:

e1、创建信号能量测距状态模型:X(k)=AX(k-1)+BU(k-1)+W(k-1),其中X(k)是k时刻的系统状态,A为转改转移矩阵,属于系统参数,X(k-1)是预估k-1时刻的系统状态值,B是系统参数,U(k-1)是预估的k-1时刻系统状态控制量,W(k-1)为预估的k-1时刻的滤波噪声;

e2、采用自由空间模型对测距状态模型分析,建立观察模型方程:Z(k)=HX(k)+V(k),其中Z(k)是k时刻的测量值,H为测量系统参数,V(k)是k时刻测量噪声值;

e3、利用滤波进行预测和修正,其中:

预测过程为X(k|k-1)=AX(k-1|k-1)+BU(k),式中X(k|k-1)为用上一状态预测的结果;X(k-1|k-1)为上一状态最优的结果;U(k)为现在状态的控制量,系统结果更新后会更新对应的协方差P(k|k-1)=AP(k-1|k-1)AT+Q,式中P(k|k-1)是X(k|k-1)对应的协方差,P(k-1|k-1)是X(k-1|k-1)对应的协方差,AT表示A的转置矩阵;Q是W(k)的斜方差,现在有了当前状态的预测结果,那么再收集现在状态的测量值,结合预测值与测量值,就可以对当前测量值做一个最优估计值X(k|k);

修正过程为的到态下最优的估计值X(k|k),式中HT表示H的转置矩阵,R是V(k)的斜方差;

e4、最后更新k状态下X(k|k)的协方差P(k|k)=[I-K(k)H]P(k|k-1),其中I为1的矩阵,对于单模型但测量I=1。

f、利用迭代法对步骤e优化后的距离进行再次优化,获得精确的距离值上传给服务器,如图3所示,具体的步骤包括:

f1、记本次距离为dis_now,上次距离为dis_last,上上次距离为dis_last_last;

f2、判断上次数据是否出现过突变,如果出现则分别比较dis_now与dis_last和dis_last_last之间的差值,根据差值大小判断需上传的数据值,如果dis_now与dis_last差值的绝对值小于dis_now与dis_last_last差值的绝对值,则上传dis_now,否则上传dis_last_last;

f3、如果上次数据位未发生数据突变,则比较dis_now与dis_last之间的差值,如果差值在设定阈值范围内,则认为是正常抖动,上传dis_now,否则认为本次数据出现突变,上传dis_last;

f4、更新dis_last_last,dis_last的值,将dis_last的值赋给dis_last_last,dis_now的值赋给dis_last;

f5、循环执行步骤f1-f4;

g、服务器根据接收的距离值以及预存的子站节点坐标值,结合RSSI定位算法计算出待测节点的坐标值,实现定位。

所述步骤g的定位算法具体步骤包括:

g1、将标签节点与各个子站节点的距离值d1、d2…dn按照由小到大的顺序进行排序形成距离组;

g2、从排序后的距离组中提取前三个距离值d1、d2、d3,这三个距离值表示标签节点距三个最近子站节点的距离,通过这三个子站节点的坐标值O1(X1,Y1),O2(X2,Y2),O3(X3,Y3)计算三个子站节点相互之间的子站间距L12、L13、L23;

g3、依次将步骤g2计算的子站间距L12、L13、L23分别与预设阈值m对比,若某一子站间距超过预设阈值则剔除对应子站,从距离组提取第四个距离值d4,重复步骤g2,若都未超过预设阈值,则输出三个子站节点的坐标值O1(X1,Y1),O2(X2,Y2),O3(X3,Y3)以及标签节点到这三个子站的距离值d1、d2、d3;

g4、以三个子站节点坐标O1(X1,Y1),O2(X2,Y2),O3(X3,Y3)为原点,对应的距离值d1、d2、d3为半径画圆,建立加权质心模型,三个圆两两相交形成交点,其中子站节点O2与子站节点O3在子站节点O1内的交点为A,其坐标值为A(XA,YA),子站节点O1与子站节点O3在子站节点O2内的交点为B,其坐标值为B(XB,YB),子站节点O1与子站节点O2在子站节点O3内的交点为C,其坐标值为C(XC,YC),利用三个子站节点的坐标值以及半径值计算三个交点的坐标值,该计算可以参考现有计算方法;

g5、利用三个交点的坐标结合加权质心算法得到标签节点的坐标(X,Y),其中:

式中:ωA为交点A的加权值,且ωB为交点B的加权值,且ωC为交点C的加权值,且

本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

rssi室内定位算法原理_一种基于RSSI测距的室内定位方法与流程相关推荐

  1. dncnn图像去噪_一种基于DnCNNs改进的图像降噪方法与流程

    本发明涉及图像处理技术领域,具体涉及一种基于dncnns改进的图像降噪方法. 背景技术: 随着科技进步,新的图像技术在逐渐推广,在日常生活中人们对于图像的要求也越来越高,针对阴天或夜晚等弱光条件下拍摄 ...

  2. java 基于类路径搜索_一种基于ClassLoader的自定义类查找方法与流程

    本发明涉及IT技术领域,特别是指一种基于ClassLoader的自定义类查找方法. 背景技术: 随着信息系统的复杂性日益增大,使用反射机制设计的系统越来越多.根据不同的业务需要通过反射去获得相应的处理 ...

  3. 疲劳驾驶监测方案_一种基于手机的疲劳驾驶监测方法与流程

    本发明属于安全驾驶领域,具体涉及一种基于手机的疲劳驾驶监测方法. 背景技术: 疲劳驾驶是指驾驶员在长时间连续行车后,产生生理机能和心理机能的失调,从而在客观上出现的驾驶技能和反应下降的现象.若驾驶员在 ...

  4. fft 估计载波频率程序_一种基于扫描精确估计载波频率的方法与流程

    本发明涉及信号处理技术领域,特别涉及一种基于扫描精确估计载波频率的方法. 背景技术: 信号的载波频率估计是通信.雷达.声纳以及电子对抗等领域信号处理中的一个重要问题.基于参数模型的谱估计.最大熵谱估计 ...

  5. unity 陶瓷质感_一种基于Unity3D的虚拟陶瓷设计方法与流程

    本发明涉及虚拟现实领域,特别涉及一种基于Unity3D的虚拟陶瓷设计方法. 背景技术: 陶艺工艺制作环境要求严格:不仅在拉坯成型需要利用旋转机器,在烧制过程则需要窑炉锻造,如何将陶瓷制作工艺与虚拟现实 ...

  6. 服务器基线加固脚本_一种基于WebLogic的安全基线加固方法与流程

    本发明涉及一种安全基线加固方法,尤其涉及一种基于weblogic的安全基线加固方法. 背景技术: weblogic是一个基于javaee架构的中间件,用于开发.集成.部署和管理大型分布式web应用.网 ...

  7. java 下载加速_一种基于Java的大文件下载加速方法与流程

    本发明涉及java/多线程技术领域,涉及一种加速文件下载装置,具体提供一种基于java的大文件下载加速方法. 背景技术: 现有的常用下载方式是基于浏览器的单线程下载.这种单线程下载的方式,是通过htt ...

  8. 并注册烧写钩子 获取启动介质类型_一种基于USB烧写的数据传输方法与流程

    本发明涉及嵌入式系统固件量产技术领域,特别涉及嵌入式系统基于USB烧写的固件数据的场景. 背景技术: 嵌入式产品已广泛应用于社会的各行各业,在产品生产过程中,需要将嵌入式系统固件量产到产品设备中. 固 ...

  9. qnx 镜像文件_一种基于Hypervisor的QNX操作系统启动方法及装置与流程

    本发明涉及计算机领域,尤其涉及一种基于Hypervisor的QNX操作系统启动方法及装置. 背景技术: 基于Hypervisor的QNX是一种商用的遵从POSIX规范,常用用在汽车及路由器上,QNX是 ...

最新文章

  1. 全国信息化工程师院校IT双证书职业课程认证
  2. 清华物理化学97—13真题,部分是回忆版
  3. mysql myisampack_每天进步一点达——MySQL——myisampack
  4. 前端学习(2945):首页搭建
  5. 高斯拉普拉斯算子(Laplace of Gaussian)
  6. springboot整合Mybatis例子
  7. Data too long for column ‘blobtext‘ at row 1 问题解决
  8. Hinton反思新作:我说反向传播不好,但还是没谁能颠覆它
  9. 【汇编语言与计算机系统结构笔记11】程序格式与伪操作:段定义、堆栈 #简洁笔记形式
  10. SQL常用语句一览(增删改查Easy)
  11. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(济南):签到题CDGM
  12. 学习笔记--数据结构与算法基础(青岛大学-王卓)--第八章排序
  13. 【机器学习系列】EM算法第三讲:由Jensen Inequality推导EM算法
  14. 2022年全球市场巧克力行业发展前景分析及市场需求调研报告
  15. 无数个骂娘的故事告诉你,千万别做技术合伙人
  16. iscript脚本截取字符串
  17. 使用长角牛演示:防止ARP被攻击的原理和配置----------划水也别忘记学着玩
  18. 7、大话设计模式--状态模式 、适配器模式、备忘录模式、组合模式、迭代器模式
  19. java:上传微信临时文件的素材
  20. FPN:feature pyramid networks for object detection

热门文章

  1. 五小时三万字之一篇博文带你学会SQL【期末数据库稳了】
  2. 使用hbuilder x 把网址打包成app
  3. 使用PHP TP5 框架 发送邮箱
  4. 如何在12个小时,搞定日志监控?
  5. asp.net 不可识别的数据库格式,accdb
  6. GWAS分析中SNP解释百分比PVE | 第三篇,MLM模型中如何计算PVE?
  7. GWAS分析中SNP解释百分比PVE | 第四篇,MLM模型中如何手动计算PVE?
  8. 使用NAT技术转化IP地址
  9. error:LNK2005 已经在*.obj中定义的一种情况及解决办法
  10. eclipse java启动参数_eclipse 启动参数