大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
一、概述
最近在做一个基于蓝牙的室内定位的项目,做了一个三角定位算法,由于室内的环境比较复杂,信号反射折射比较多,很多时候信号的大小(RSSI)跟距离并不是完全一一对应的,可能远的地方信号反而更强,三角质心定位算法就有点不合适了,因此想试用指纹定位算法,看一下指纹定位算法的效果。在此总结一下指纹定位算法。
二、指纹定位算法介绍
指纹定位算法是基于室内环境复杂,信号反射折射所形成的在不同位置形成的不同的信号强度信息而提出的一套算法,指纹算法能很好的利用了反射折射所形成的信号信息,离线先生成指纹信号强度数据库,在线定位中再通过实际测量的一组RSSI值来计算位置距离。
三、指纹算法的关键技术
1、数据库技术
通过一定的数据组织保存数据,数据记录包括不同点位置的不同信标的rssi值,位置(x,y),让后续空间匹配算法更加高效。
2、匹配算法
匹配算法是通过实际采集的数据与数组库中保存的位置指纹进行匹配,算出距离,比较常用的算法有k阶类聚算法,加权k阶类聚算法,神经网络算法。
3、信号滤波算法
因采集到的信号还是会收到各种干扰,人的走动,环境信号噪声等,需要对此采集到的信号进行滤波,离线数据采集是可以采集比较多的点采用平均滤波,高斯滤波等。在线实时定位时不可能采集很多点再滤波,只能采用输入输出为1:1的滤波算法,滑动加权滤波,卡尔曼滤波比较常用。
4、融合其他传感器进行定位
可以融合手机的加速度传感器,陀螺仪,方向传感器等实现惯性导航定位。
以上很多技术具体还没有实现,之前也没有接触过,需要在工作的过程中不断学习,只是列了一个大纲,后续会不断的补充。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/198612.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...