基于Wi-Fi指纹匹配的室内定位方法(附代码)

news2024/11/24 8:58:40

引言

室内定位技术已广泛应用于商场导航智能家居人员搜救等领域,具有不可估量的商业价值和非常广阔的应用前景。全球导航卫星系统(GNSS)可以为室外定位提供良好的定位精度,然而在室内环境下卫星信号的衰减使得室内的位置信息获取困难,从而难以满足室内定位的需求。因此,如何实现室内环境下满足需求的定位服务成为了国内外研究的热点。在本文中,将介绍主流的室内定位技术——Wi-Fi指纹匹配定位

Wi-Fi技术概述

Wi Fi即无线保真技术(Wireless Fidelity),其遵循IEEE 802.11系列通信协议。Wi-Fi技术通过提供无线局域网接口解决了移动终端和有线网络的连接,可以极大方便人们的生活。Wi-Fi技术具有覆盖范围广,实现成本低,信息传输快等优点,通过搜索室内环
境中的无线网络节点来进行人员定位、目标监控及跟踪等功能。

在无线局域网络中,部署好的AP能够以固定发射功率发送信号,接收设备可以通过周期性扫描得到射频信号携带的数据信息,数据信息主要包括AP节点的名字,硬件的MAC地址以及信号对应的RSSI(接收信号强度指标,Received Signal Strength Indicator)数据,可以用扫描采集到的这些信息来进行室内定位。

Wi-Fi指纹定位原理

Wi-Fi指纹定位是通过建立空间中Wi-Fi信号的特征与物理位置的映射关系来实现定位。在室内环境下,Wi-Fi信号传播过程经过直射、反射以及折射后形成与环境有关的信号特征,在室内不同的位置信号强度各不相同,如下图所示。每个位置都能接收到来自不同AP的信号RSSI。
在这里插入图片描述

因此,根据Wi-Fi信号强度数值不同的分布情况,通过采集各个位置坐标的信号,经过相应处理并进行特征提取,然后对特征数据进行训练并与其位置坐标之间形成映射以此来构建指纹数据库,在进行位置定位时只需要将实时采集数据和指纹数据库中的指纹特征进行匹配,即可估计出待测点的位置。如下图所示,Wi-Fi指纹定位算法流程包括离线信号采集和在线位置定位两个阶段。
指纹定位原理
(1)离线(Offline)信号采集阶段:首先在定位区域内选取一些固定位置参考点,然后采集固定位置参考点能采集到AP的MAC地址对应的RSSI数据,预处理RSSI数据后,最后利用固定位置参考点的坐标,采集到AP的BSSID以及对应的RSSI数据构建指纹数据库。
(2)在线(Online)位置定位阶段:在相同的室内环境中采集待测点的RSSI数据,形成在线位置指纹,并将该指纹和指纹数据库中的指纹进行对比,通过选择的匹配算法从而得到待测点的位置坐标。

Wi-Fi定位方法

传统的在线匹配算法包括确定性的方法(deterministic)概率性的方法(probabilistic)

(1)确定性的算法使用相似性指标来区分在线信号测量和指纹数据,然后将目标定位在信号空间中最接近的指纹位,。欧氏距离、余弦相似度等指标已被用于信号比较。常用的方法包括:KNN(K近邻)、WKNN(加权K近邻)、SVM(支持向量机)、RF(随机森林)等。
(2)概率算法是基于目标信号测量和存储的指纹之间的统计推理,使用一个训练集,这些算法以最大的可能性找到目标的位置。常用的方法包括:贝叶斯网络、期望最大化、高斯过程等。

(上述方法较多,本文就不在赘述)

定位性能评价指标

评价室内定位算法性能时,常用的指标包括包括定位误差、平均定位误差、累计分布函数(Cumulative Distribution Function CDF)等等。
(1)定位误差
定位误差表示的是待测点实际位置和定位算法预测位置之间的欧式距离,在指纹位置定位中欧式距离公式如下:
在这里插入图片描述
(2)平均定位误差
平均定位误差是对𝑛次定位误差结果求取算术平均值,能够表征定位过程中的准确性。平均定位误差的计算公式如下:
在这里插入图片描述
(3)累积分布函数(CDF)
累积分布函数能够刻画出定位误差分布在某一个范围内的概率大小,公式如下:
在这里插入图片描述
累计分布函数曲线中横坐标代表定位误差,纵坐标表示当前定位误差下定位的准确率。由定义可知当曲线收敛的速度越快,定位算法的性能就越好,同时定位误差也相对较小。

实验代码

附上基于Wi-Fi指纹匹配的室内定位代码,里面已经包含了数据和相关算法,朋友们可以自行尝试哦~
Wi-Fi定位代码

参考文献
[1] S. He and S. . -H. G. Chan, “Wi-Fi Fingerprint-Based Indoor Positioning: Recent Advances and Comparisons,” in IEEE Communications Surveys & Tutorials, vol. 18, no. 1, pp. 466-490, Firstquarter 2016, doi: 10.1109/COMST.2015.2464084.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/596852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day43|动态规划6-完全背包及其应用-零钱兑换II-组合总和IV

完全背包 前情提要: 0-1背包指的是给定背包重量,将物品放入背包中,使得背包中的物品达到最大的价值。(每个物品只能往其中放一次) 在0-1背包问题中,第二层for循环需要是倒序遍历才可以保证每个物品只使用一…

Pandas使用技巧

Pandas 是一个强大的数据分析 Python 库,提供了一系列用于数据清洗、转换、分析和可视化的 API。在使用 Pandas 进行数据处理时,常见的指令包括: 数据读取和解析 read_csv():用于读取 CSV、Excel等格式的数据文件,并将…

大数据:HDFS存储原理,fsck命令查看文件副本状态,namenode元数据,edits流水账,fsimage合并,hdfs读取数据

大数据:HDFS存储原理,fsck命令查看文件副本状态,namenode元数据,edits流水账,fsimage合并,hdfs读取数据 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人&#xff0…

django业务流程配置

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

【MySQL】如何速通MySQL(2)

📌前言:本篇博客介绍如何速通MySQL的第二篇,主要介绍Mysql中主要的基础的入门,学习MySQL之前要先安装好MySQL,如果还没有安装的小伙伴可以看看博主前面的博客,里面有详细的安装教程。或者看一下下面这个链接…

结构方程模型(SEM)以及用R语言实现

目录 结构方程模型概述 结构方程模型匹配 1.协方差SEM 2.分段SEM 在R语言中实现sem进行结构方程建模和路径图可视化 – 拓端tecdat 结构方程模型是一个线性模型框架,它对潜变量同时进行回归方程建模。 ​​​​​​​在R语言中实现SEM进行结构方程建模和路径图…

VPP 编译记录

目录 虚拟机安装 VPP编译 下载一些工具 下载vpp源码 编译 首次构建 非首次直接编译 虚拟机安装 由于使用的统信系统作为宿主机器,在上面貌似只有VM virtualBox软件,先在应用商店安装此应用。 下载ubuntu 64位镜像 一开始没注意下载了32位的系统…

基于springboot_vue的学生在线选课java教学质量评价系统

对教师教学质量进行客观公正的评价,是一项十分严肃和重要的工作。是引导教师进行教学方法改进,提高教学质量的重要手段。它以教师的教学活动为主要评价对象,通过教学评价,发现存在的问题,了解学生的实际学习状况,明确教学改进的努力方向。但是…

【算法系列之二叉树II】leetcode112. 路径总和

257. 二叉树的所有路径 力扣题目链接 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 输入:root [1,2,3,null,5] 输出:["1->2->5","…

解决spark程序 Permission denied: user=<username>, access=WRITE...等常见hive权限报错

Permission Denied Permission Denied: 这是最常见的错误消息之一&#xff0c;表示当前用户没有足够的权限执行写入操作。报错信息可能类似于&#xff1a; org.apache.hadoop.security.AccessControlException: Permission denied: user<username>, accessWRITE, inode&…

Linux教程——操作系统是什么,操作系统概述

Linux 也是众多操作系统之一&#xff0c;要想知道 Linux 是什么&#xff0c;首先得说一说什么是操作系统。 计算机是一台机器&#xff0c;它按照用户的要求接收信息、存储数据、处理数据&#xff0c;然后再将处理结果输出&#xff08;文字、图片、音频、视频等&#xff09;。计…

Linux高级---k8s安全认证

文章目录 一、访问控制概述1、客户端2、认证、授权与准入控制 二、认证管理1、认证方式2、HTTPS认证大体分为3个过程 三、授权管理1、授权策略2、RBAC3、Role、ClusterRole4、RoleBinding、ClusterRoleBinding5、RoleBinding引用ClusterRole进行授权6、实战&#xff1a;创建一个…

Java线程池总结

背景 Java线程池的写法和参数是面试中出现频率很高的基础题。越是基础的东西&#xff0c;特别是对高阶职位的面试者&#xff0c;需要回答的符合自己面试的职位等级。 这里也不能说是一个多么好的答案&#xff0c;只是说如果是我&#xff0c;我怎么回答&#xff0c;仅供参考。…

Java --- springboot3依赖管理和自动配置机制

目录 一、依赖管理机制 二、自动配置机制 一、依赖管理机制 &#x1f695;、为什么导入starter-web所有相关依赖都导入进来&#xff1f; ①、开发什么场景&#xff0c;导入什么场景启动器。 ②、maven依赖传递原则。A-B-C&#xff1a; A就拥有B和C ③、导入 场景启动器。 场…

JavaScript 发展的前世今生

专栏介绍 本专栏主要用作于开放性知识点分享学习&#xff0c;其主要知识点范围是 以围绕 原生 JavaScript 语法 从基础知识到高阶语法阶段的学习分享。 导语&#xff1a; 既然博主&#xff0c;计划将此专栏打造为 JavaScript 的知识点学习分享集结地。所以&#xff0c;本章节就…

奥威BI,适合中国电商的大数据分析平台

电商数据分析做得好不好&#xff0c;除了分析思维这类主要因素外&#xff0c;大数据分析平台的选择也尤为重要。从电商数据分析实际体验来看&#xff0c;电商行业需要大数据分析平台需满足海量数据秒分析、数据直观易懂、操作简单易上手这三大基础要求&#xff0c;如能提供系统…

Tomcat下载安装以及配置

目录 tomcat的下载安装 修改控制台乱码 idea配置tomcat tomcat的下载安装 到tomcat的官网https://tomcat.apache.org/下载所需版本&#xff0c;我们下载的tomcat必须要和我们的jdk相匹配否则会导致tomcat运行和部署的时候出错&#xff0c;挑选tomcat的版本的时候参考下图 …

阿里系cookie之acw_sc__v2 逆向分析

文章目录 声明案例地址目标参数加密流程与逆向分析js代码python调用测试声明 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请私信我立即删除! cookie中使用acw_sc__v2的网站有很多,比如前程无忧、诸葛找房、…

2023年6月跟资深软考辅导专家学习备考软考(中/高级)到这家

软考是全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;简称软考&#xff09;项目&#xff0c;是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试&#xff0c;既属于国家职业资格考试&#xff0c;又是职称资格考试。 系统集成…

收集关键词的方法有哪些?(如何查找精准的行业流量关键词)

关键词的收集通常可以通过以下几种方法: 关键词收集方法 1.根据市场价值、搜索词竞争性和企业实际产品特征进行筛选&#xff1a;确定您的关键词列表之前&#xff0c;建议先进行市场分析&#xff0c;了解您的竞争对手、行业状况和目标受众等信息&#xff0c;以更好地了解所需的特…