System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及室内定位和无线传感网络领域,具体涉及一种基于rssi数值的三维定位方法及其系统实现方法。
技术介绍
1、无线定位在自动化控制、导航等方面的运用普遍,如典型的gps等卫星定位技术发展的已经十分成熟,不过在小规模或室内的无线定位应用上还存在需要完善的地方,比如定位的精度、成本、功耗等在实际的运用上还没有达到人们的期望值。近来,新型zigbee蜂群技术拥有低能耗、低投资以及高延伸性的优点,解决了无线定位的一些工程问题。室内定位技术的应用背景十分广泛。在工业仓库中,定位系统可以帮助传统工厂实现数字化管理,可实时查看员工位置、在岗时间、离岗时间、移动轨迹,提高岗位巡查效率。在养老院中,通过给老人佩戴智能手环或胸牌,不仅能够实时查看老人位置,还能够通过设置电子围栏来圈定安全活动范围。诸如此类的应用场景还有很多,比如司法监狱、展览馆、隧道、机场等。所以室内定位技术的需求是十分庞大的。
2、目前国内外针对定位的研究方法,大多采用质心定位算法和三边定位算法,然而上述的计算方法误差大、成本高,且缺少高度信息的反馈。在实际应用当中,高度信息对于定位来说也是极其重要的,所以本专利技术在降低误差和成本的同时,提出一种基于rssi数值的三维定位方法及其系统实现方法,该检测方法复杂度低,实时性好,稳定性高,并且将fpga与zigbee相结合,大大提高了定位算法的算数能力。
技术实现思路
1、为了解决上述技术问题,本专利技术的技术方案是:一种基于rssi数值的三维定位方法及其系统实现方法
2、优选的,所述的基于rssi数值进行卡尔曼滤波算法是针对zigbee传输的数据包中的rssi数据进行处理,采集100个数据取均值,再利用卡尔曼滤波对数据进行处理,针对卡尔曼滤波算法系统,参数a取1,b取0;响应倍数h取1,进而获得平稳的rssi数值;
3、优选的,所述的rssi数值转换成距离的测算公式是将rssi转换成距离其公式,是利用无线电信号随距离增大而有规律地衰减的原理来测量节点间的距离,接受信号强度rssi与传输距离d的关系为:d=10exp((abs(rssi)-a)/10n),其中a为设备之间相距一米时rssi的绝对值,取48,n为环境衰减因子,根据环境不同通过测试矫正,取3.75;
4、优选的,所述的三维定位算法是对转换后的距离信息进行处理,在由四个锚点zigbee构成的三维空间内,已知这四个锚点在三维空间内的坐标信息,以及盲点到这四个锚点的距离,即可计算出盲点在三维空间内的坐标;
5、优选的,所述的指数加权移动平均算法是通过当前的实际值和前一段时期的预测值来平滑优化当前的值,取前一时刻坐标预测值的权值为0.2;当前位置坐标测量值的权值为0.8,使坐标信息平稳顺滑,具有一定的稳定性和实时性;
6、优选的,所述的zigbee数据包指的是zigbee发送的无线数据包中的afincomingmsgpacket_t数据包,该数据包内包含了组id、簇id等信息,同时也包含了rssi数据,代表了信号的接受强度,通过nrssi=pkt->rssi指令读取出来,pkt是一个afincomingmsgpacket_t类型的指针;
7、优选的,所述的卡尔曼滤波是指以最小均方误差为估计的最佳准则,来寻求一套递推估计的算法,基本模型为:x(k)=ax(k-1)+bu(k)+w(k),z(k)=hx(k)+v(k),a取1,b取0,h取1,w(k)为预测噪声,v(k)为测量噪声;
8、优选的,所述的由四个锚点zigbee构成的三维空间,是先在同一平面放置三个zigbee形成xy平面,分别作为原点、x轴方向、y轴方向,再在原点的上方放置一个zigbee定义为z轴方向,即可利用四个锚点zigbee构建一个三维立体空间;
9、优选的,所述的根据盲点到锚点的距离是指在四个锚点zigbee构建的三维空间内,四个锚点的空间坐标已知,盲点zigbee在这个三维空间内移动,四个锚点向盲点发送rssi数据,通过距离转换公式,可以得到四条盲点到锚点的距离;
10、优选的,所述的指数加权移动平均算法是指加权移动平均的改进,是一种序列处理方式,通过当前的实际测量到的值和前一段时间的预测值来计算出当前的预测值,其函数形式为:vt=βvt-1+(1-β)θt,vt为预测值,vt-1为前一时刻的预测值,θt为当前实际值,β取0.2;
11、优选的,所述的数据处理与流向是指整个系统的数据处理方式和流向,当盲点zigbee获得到锚点的rssi数据时,先在盲点zigbee内完成卡尔曼滤波和距离转换的算法,将转换后的距离通过uart串口发送给fpga,fpga接收到距离数据后,在fpga内完成坐标的计算和数据优化后,再通过uart串口传输给盲点zigbee,盲点zigbee通过无线网络传输给控制台显示;
12、优选的,所述的在盲点zigbee内进行卡尔曼滤波和距离转换是指zigbee盲点获取到rssi数据后,马上就对数据进行滤波,并转成距离数据,这种模块化的思想能够最大程度的保证rssi转换成距离信息的实时性,对最后的的位置信息也会更准确;
13、经软件平台验证对算法的测试通过后,分别进行c语言移植和verilog语音移植,采用模块化设计思路,通过packet sniffer软件对zigbee无线数据包的收发过程分析,并通过testbench验证verilog语言移植到fpga硬件电路的准确性和时序问题,完成对算法的硬件验证;
14、本专利技术具有积极的效果:(1)本专利技术提出了一种基于rssi数值的三维定位方法及其系统实现方法,针对rssi数据处理计算出盲点在三维空间内的坐标,自适应能力强,算法实时性更高;(2)本专利技术的一种基于rssi数值的三维定位方法及其系统实现方法针对定位数据进行指数加权移动平均算法的处理,对噪声抑制能力强,使坐标数据更加精准;(3)本专利技术的一种基于rssi数值的三维定位方法及其系统实现方法将算法分成两部分,采用模块化的设计思想,分别在zigbee和fpga内运行,大大的提高了算法的计算能力和定位精度;
本文档来自技高网...【技术保护点】
1.基于RSSI数值的三维定位方法及其系统实现方法,其特点在于:包括基于RSSI数值的卡尔曼滤波算法、RSSI数值转换成距离的测算公式、三维定位算法、指数加权移动平均算法及数据处理与流向。
2.根据权利要求1所描述的基于RSSI数值的卡尔曼滤波算法,其特征在于:针对ZigBee锚点发送的RSSI数值,先采集100个数据并取均值,再利用卡尔曼滤波法对数据进行去噪声操作,针对卡尔曼滤波算法系统,参数A取1,B取0;响应倍数H取1,进而获得最佳的RSSI数值。
3.根据权利要求1所述的RSSI数值转换成距离的测算公式,其特征在于:将RSSI数值转换成距离的公式为:d=10exp((abs(RSSI)-A)/10n),其中A为设备距离一米时RSSI的绝对值,取48;n为环境衰减因子,根据环境不同通过测试矫正,取3.75,通过计算,得到转换后的距离数据。
4.根据权利要求1所述的三维定位算法,其特征在于:在三维空间内,放置四个锚点ZigBee,构成一个封闭的三维立体空间,四个锚点ZigBee不断向盲点ZigBee发送RSSI数据,在RSSI数值被转换成距
5.根据权利要求1所述的指数加权移动平均算法,其特征在于:通过当前测得的实际值和前一段时期的预测值来平滑优化当前的值,取前一时刻坐标预测值的权值为0.2;当前位置坐标测量值的权值为0.8,对坐标信息进行优化,使输出的位置信息兼容稳定性和时效性。
6.根据权利要求1所述的数据处理与流向,其特征在于:四个锚点通过无线网络向盲点发送RSSI数据,盲点ZigBee向FPGA通过UART串口进行数据传输,当FPGA计算出位置信息并加以优化后,通过UART串口再发给盲点,盲点通过无线网络传输给控制台。
...【技术特征摘要】
1.基于rssi数值的三维定位方法及其系统实现方法,其特点在于:包括基于rssi数值的卡尔曼滤波算法、rssi数值转换成距离的测算公式、三维定位算法、指数加权移动平均算法及数据处理与流向。
2.根据权利要求1所描述的基于rssi数值的卡尔曼滤波算法,其特征在于:针对zigbee锚点发送的rssi数值,先采集100个数据并取均值,再利用卡尔曼滤波法对数据进行去噪声操作,针对卡尔曼滤波算法系统,参数a取1,b取0;响应倍数h取1,进而获得最佳的rssi数值。
3.根据权利要求1所述的rssi数值转换成距离的测算公式,其特征在于:将rssi数值转换成距离的公式为:d=10exp((abs(rssi)-a)/10n),其中a为设备距离一米时rssi的绝对值,取48;n为环境衰减因子,根据环境不同通过测试矫正,取3.75,通过计算,得到转换后的距离数据。
4.根据权利要求...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。