news 2026/5/25 11:20:58

毕设 基于wifi的室内定位算法设计与实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
毕设 基于wifi的室内定位算法设计与实现

文章目录

  • 0 前言
  • 简介
    • wifi定位背景和意义
    • 基本原理
      • 什么是wifi指纹
      • wifi指纹由什么组成
    • wifi指纹定位实现方法
          • 不基于RSSI
          • 基于RSSI
          • 定位算法
          • 基于无线信号的三边(三角定位)
        • 地图绘制
          • 数据采集点位置
          • AP点位置
        • 测试结果
  • 算法实现效果
  • 最后

0 前言

🔥今天学长向大家分享一个毕业设计项目

🚩毕业设计 wifi室内定位系统

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:4分

项目运行效果:

毕业设计 wifi室内定位算法实现

🧿 项目分享:见文末!

简介

今天来介绍一下室内定位相关的原理以及实现方法;

WIFI全称WirelessFidelity,在中文里又称作“行动热点”,是Wi-Fi联盟制造商的商标做为产品的品牌认证,是一个创建于IEEE 802.11标准的无线局域网技术。基于两套系统的密切相关,也常有人把Wi-Fi当做IEEE 802.11标准的同义术语。“Wi-Fi”常被写成“WiFi”或“Wifi”,但是它们并没有被Wi-Fi联盟认可。它的最大优点就是传输速度较高,可以达到11Mbps,另外它的有效距离也很长,同时也与已有的各种802.11 DSSS设备兼容。

wifi定位的本质实际上是基站式定位, 是依靠wifi AP以自身为中心, 向外辐射逐渐衰弱的指纹来进行定位的.

wifi定位背景和意义

GPS难以解决室内环境下的一些定位问题,大部分室内环境下都存在WiFi,因此利用WiFi进行定位无需额外部署硬件设备,是一个非常节省成本的方法。然而WiFi并不是专门为定位而设计的,传统的基于时间和角度的定位方法并不适用于WiFi。近十年来,在室内WiFi场景下的定位中,位置指纹法被广泛研究和采用。本文对WiFi位置指纹法进行综述,提出了这个领域面临的挑战,介绍最新的研究,以及提供一些实际的指导。

基本原理

什么是wifi指纹

“位置指纹”把实际环境中的位置和某种“指纹”联系起来,一个位置对应一个独特的指纹。这个指纹可以是单维或多维的,比如待定位设备在接收或者发送信息,那么指纹可以是这个信息或信号的一个特征或多个特征(最常见的是信号强度)。如果待定位设备是在发送信号,由一些固定的接收设备感知待定位设备的信号或信息然后给它定位,这种方式常常叫做远程定位或者网络定位。如果是待定位设备接收一些固定的发送设备的信号或信息,然后根据这些检测到的特征来估计自身的位置,这种方式可称为自身定位。待定位移动设备也许会把它检测到的特征传达给网络中的服务器节点,服务器可以利用它所能获得的所有信息来估计移动设备的位置(翻译存疑…),这种方式可称为混合定位。在所有的这些方式中,都需要把感知到的信号特征拿去匹配一个数据库中的信号特征,这个过程可以看作一个模式识别的问题。

wifi指纹由什么组成

位置指纹可以是多种类型的,任何“位置独特”的(对区分位置有帮助的)特征都能被用来做为一个位置指纹。比如某个位置上通信信号的多径结构、某个位置上是否能检测到接入点或基站、某个位置上检测到的来自基站信号的RSS(接收信号强度)、某个位置上通信时信号的往返时间或延迟,这些都能作为一个位置指纹,或者也可以将其组合起来作为位置指纹。

wifi指纹定位实现方法

wifi定位方法基本上可以分为两大类:

不基于RSSI
  • TOA(time ofarrival)
  • TDOA(time difference of arrival)
  • AOA(angle of arrival)
基于RSSI

在智能手机上,可以通过系统SDK获取到周围各个AP(Access Point)发送的信号强度RSSI及AP地址,利用RSSI来定位目前看来是最可行的方法,因此下面着重介绍,基于RSSI定位主要有两个算法:三角定位算法,指纹算法。

定位算法
  • 随机方法
    将测试点(Test Point, TP)的预测位置设为任一参考点(Reference Point,RP)的位置。

  • KNN方法
    KNN方法的主要思路是:找出与TP的WiFi指纹相似度最高的K个RP,然后平均这K个RP对应的位置,最终得到TP的位置。

  • Prob方法
    Prob方法的主要思路是:通过贝叶斯公式,计算TP出现在每个RP上的后验概率,取k个概率最大的RP,然后平均这K个RP对应的位置,最终得到TP的位置。

  • Stg方法
    Stg方法是KNN方法的一种改进方法,它通过TP的k个信号最强的信号接入点来筛选RP,然后再应用KNN方法。

  • Gk方法
    GK方法的主要思路是通过高斯核密度估计器(Gaussian Kernel Density Estimator,GKDE)计算每个指纹位置的相对过饱和度的可能性,并通过平均与最高似然值对应的位置来确定TP的位置。

基于无线信号的三边(三角定位)

这个方法来自于传统的定位方法,类似GPS,假如我们能够获得我们待定位点相对于其它基站的距离或者角度,通过交会列多元方程组求解的方法可以求出我们所在的位置,当然了,实际情况中往往不是求解刚好够定位的方程组,而是用多余的观测值然后利用最小二乘估计方法来估计位置。以下图为例,对于三个基站,我们如果能够获得信号发射和接受的时间差,那么就可以通过时间差和光速传播来求取距离从而获得定位。

但是,对于普通的WiFi,蓝牙信号,要想求出从信号发射到信号接收之间的时间差,基本是不可能的。因为你要保持两边的时间同步,才能通过发射时间和接收时间来求取时间差,考虑到c光速的巨大,时间差一点点距离就能差非常远。所以基本不可能通过时间差的方法来进行定位。

那么室内定位里面的三边定位是怎么实现的呢?

我们知道,只要求取当前目标和各个基站的距离,就能求解目标位置。而这个距离既然不能通过时间和光速之积来获得,我们可以通过另一个方法来获得,那就是信号衰减模型,如下图所示,我们知道在离线状态下,无线信号强度在空间中传播随着距离衰减! 而这个无线信号强度对于手机上的接收器来说是可测的!那么根据测试到的信号强度,是不是可以根据下图的衰减模型(公式)来反推出距离呢,那么这样不就又可以用三边定位了。

地图绘制
数据采集点位置

AP点位置

测试结果

算法实现效果


详细设计论文

最后

项目运行效果:

毕业设计 wifi室内定位算法实现

🧿 项目分享:见文末!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 3:10:32

如何快速掌握U-Mamba:3D医学影像分割的终极指南

如何快速掌握U-Mamba:3D医学影像分割的终极指南 【免费下载链接】U-Mamba 项目地址: https://gitcode.com/gh_mirrors/um/U-Mamba U-Mamba作为新一代3D医学影像分割的开源解决方案,通过创新的稀疏状态记忆架构重新定义了医学图像分析的工作流程。…

作者头像 李华
网站建设 2026/5/25 5:39:22

2、Red Hat Enterprise Linux 8 安装与双系统配置全攻略

Red Hat Enterprise Linux 8 安装与双系统配置全攻略 1. 准备安装介质 在 macOS 系统上,我们可以通过以下步骤将 ISO 镜像写入 USB 驱动器: 1. 运行 diskutil list 命令,查看当前检测到的设备: /dev/disk0 (internal, physical):#: TYPE NAME SIZE IDENTIFIER0: GUI…

作者头像 李华
网站建设 2026/5/25 16:46:41

5、Linux Shell 与用户组管理全解析

Linux Shell 与用户组管理全解析 在 Linux 系统中,熟练掌握 shell 操作以及用户和组的管理是非常重要的技能。下面将详细介绍 Linux shell 的各种操作技巧以及 RHEL 8 系统中用户和组的管理方法。 1. 获取命令信息 在 Linux shell 中,许多命令一开始可能让人感到困惑。若想…

作者头像 李华
网站建设 2026/5/25 19:05:02

这款微光学天线让机器人拥有“超灵敏多感官”,重量仅0.1克

在自然界中,蝴蝶的触角能感知气流、蜜蜂的触角能捕捉声波与气味,昆虫经过亿万年进化的天线系统,堪称自然界最精密的 “多感官传感器”。如今,浙江大学团队从昆虫触角中汲取灵感,研发出一款微光学天线(MOA&a…

作者头像 李华
网站建设 2026/5/26 4:03:32

Windows 7用户的Python救星:Python 3.8.6 64位完整安装指南

Windows 7用户的Python救星:Python 3.8.6 64位完整安装指南 【免费下载链接】WIN7支持的最高版本Python3.8.6X64安装包 此项目为 Windows 7 用户提供了最后一个官方支持的 Python 版本——Python 3.8.6 64位安装包。由于 Python 3.9 及以上版本不再兼容 Windows 7&a…

作者头像 李华
网站建设 2026/5/26 1:04:46

如何快速上手Ivy Wallet:面向新手的完整财务管理指南

Ivy Wallet是一款完全免费的开源财务管理Android应用,采用100% Kotlin和Jetpack Compose技术构建。这个开源项目旨在帮助用户轻松管理个人财务,用简单直观的方式替代传统的电子表格记账。 【免费下载链接】ivy-wallet Ivy Wallet is an open-source mone…

作者头像 李华