当前位置: 首页 > news >正文

物联网定位技术实验报告|实验一 Wi-Fi指纹定位

1 实验目标

        通过实现一个基于Wi-Fi指纹的室内定位系统,掌握指纹定位的原理实现方式,并进行测试,对所实现的指纹定位系统的误差性能进行评价。

实验背景

        WIFI位置指纹定位技术是基于接收信号传播特性而进行定位的,与传统定位技术相比,其无需额外添加设备来进行角度测量与时间同步,且充分利用了己有WIFI无线网络,降低其使用成本。

        其次,WIFI位置指纹定位技术与传统室内定位技术(如:视频信号与红外定位)相比,其扩展性更强、应用范围更广。由于WIFI信号传输时受非视距、多径衰落等因素影响较小,故基于WIFI网络的指纹定位系统稳定性较强,而基于红外或视频信号定位技术在使用时较易受限,比如:在阳光直射或突光照射下基于红外技术定位的精度将大大降低,而基于视频信号的定位技术使用前提是移动终端必须在可视条件下。

        WIFI位置指纹定位技术可通过WIFI网络中的AP进行定位,避免了对无线基站网络的依赖,从而实现了地下或室内环境的准确高效定位,其在地下室内商场、停车场、物流等行业均具有潜在应用价值。

3 实验原理

3.1wifi基础知识

    WIFI网络的组成结构如下图2-1所示,主要包括了接入点(Access Point,AP)、站点(Station,STA)、无线传输介质(Wirless Medium,WM)与分布式系统(DistributionSystem,DS)。

图2-1 WIFI无线网络工作原理框图

3.2室内定位方法建模

   

传播模型定位法是根据信号传播距离与衰减的关系进行建模,并通过建立的传播模型将RSS转换成信号的传播距离,从而完成对移动终端的定位。传播模型法在定位时无需额外的硬件设备,故其定位成本很低,且其在定位时不会影响到现有网络数据的传输。

    虽然传播模型定位法有以上优点,但由于其定位精度不高导致其应用范围不是很广,目前播模型定位法只应用于粗略定位与测距中,其定位步骤如下:①在己知室内环境下,利用接收信号强度估计此环境下的传播模型与参数值;②利用①中的传播模型,通过获取未知终端节点的RSS来完成对其定位。位置指纹定位法是通过移动终端的RSS与指纹库中的指纹数据进行匹配,然后再通过某种算法来计算其位置。

 3.3指纹定位算法

无线信号依赖传播环境,在不同位置上,其信道的多径特征也均不相同。无线信号在传播过程中经反射、折射、散射后,生成与传播环境相关且独特的信号,我们称此多径特征为“位置指纹”。信号的多径特征包括信号强度、脉冲响应时间、信噪比等,本文主要釆用接收AP信号的强度值(即RSS)作为信号指纹特征。位置指纹法在定位过程中分`离线/训练'与`在线/定位'两个阶段,其定位流程如下图所示。

①离线/训练阶段

指纹定位在离线阶段主要采集定位场所中各参考点位置上的信号多径特征(信号强度),从而建立位置指纹数据库。

②在线/定位阶段在实际定位过程中,移动终端首先会接收到周围AP接入点发出的信号特征记为Rss,然后则可遍历指纹数据库对此RSS矢量进行匹配,最后再采取某种指纹定位算法计算出移动终端的位置。常用的指纹定位算法有:最近邻法CNN)、K近邻法(KNN)、K加权近邻法(WKNN)、贝叶斯概率算法、BP神经网络算法等.

假设在定位区域中共有L个位置指纹参考点,记为{F1,F2,....Fl},其与一组位置坐标{L1,L2,....L7}一一映射即指纹Fi在定位区域中对应的位置坐标为Li=(Xi,Yi)。在“在线/定位”阶段时,移动终端会接收到周围n个AP热点发送的信号强度矢量,记为S,其中S=(S1,S2,..Sn)。

  • 通过贝叶斯公式计算后验概率:

      P(Li |S)*P(Li)=P(S)P(S| Li)*P(Li)

假设选取参考点是随机的,均匀分布,即P(Li)=1/L。

由于在某一位置指纹处,来自每个接入点AP的RSS(接收信号强度)互不相关,所以可以得到:P(S Li)= P(S1 Li) P(S2 Li).... P(Sn Li)

  • 观察数据发现某一位置指纹处的接收信号强度服从高斯正态分布,所以可以进行近似模拟。

  • 最后以概率值P(Li S)作为定位区域中指纹参考点的权重,并估计出移动终端的位置。

4 关键代码

/**

 * 计算距离,并且找出最小距离的点和值。

 * @return

 */

private Point calculate() {

minDistance = Double.MAX_VALUE;

mini = -1;

double tempDistance;

distance = new double[totalPoints.size() - 1];

Point endPoint = totalPoints.get(totalPoints.size() - 1);

for (int i = 0; i < totalPoints.size() - 1; i++) {

tempDistance = calculate_Distance(endPoint totalPoints.get(i));

distance[i] = tempDistance;

if (tempDistance < minDistance) {

minDistance = tempDistance;

mini = i;}

}

return totalPoints.get(mini);

}

/**

 * 计算两点之间的距离

 * @param point1 

 * @param point2

 * @return

 */

private double calculate_Distance(Point point1 Point point2) {

float result = 0.0f;

String str;

Map<String Integer> tempMap1 = new HashMap<String Integer>();

Map<String Integer> tempMap2 = new HashMap<String Integer>();

int i j;

for (j = 0; j < point2.aps.size(); j++) {

tempMap2.put(point2.aps.get(j).SSID point2.aps.get(j).level);

}

for (i = 0; i < point1.aps.size(); i++) {

tempMap1.put(point1.aps.get(i).SSID point1.aps.get(i).level);

}

Iterator<String> iterator = totalAPs.iterator();

while (iterator.hasNext()) {

str = iterator.next();

if (tempMap1.containsKey(str) && tempMap2.containsKey(str)) {

result += (tempMap1.get(str) - tempMap2.get(str))

* (tempMap1.get(str) - tempMap2.get(str));

}

if (tempMap1.containsKey(str) && !tempMap2.containsKey(str)) {

result += (tempMap1.get(str) - minLevel.get(str))

* (tempMap1.get(str) - minLevel.get(str));

}

if (!tempMap1.containsKey(str) && tempMap2.containsKey(str)) {

result += (tempMap2.get(str) - minLevel.get(str))

* (tempMap2.get(str) - minLevel.get(str));

}

}

return Math.sqrt(result);

}

5 室内定位误差分析

由于室内环境比较复杂,信号在室内传播时会受到不同程度的影响,而造成此影响的因素主要有以下三种:非视距传播、多径传播、阴影效应。

5.1非视距传播

    由于在信号的发射端与接收端之间的直射路径上存在障碍物,导致无线电波不能在收发两端进行直射传播,而只能通过反射、折射进行传播,由此在接收端测得的信号特征,如信号到达时间、信号强度、入射角、到达时间差等,将无法准确的反映出收发两端之间的真实距离,我们称这种现象为信号的非视距传播。

5.2多径传播

    由于信号接收端所处环境复杂,使得发射的电磁波在向外扩散过程中遇到各种障碍物,使得信号在传播过程中受到反射、散射、绕射等影响,导致接收到的信号为多条路径上信号的矢量和。由于每条路径上信号的强度、到达时间、到达载波相位都不相同,则产生多径干扰,这种现象即为多径传播。

5.3阴影效应

    阴影效应是指移动终端在移动过程中,有一些大型障碍物阻挡了其无线电波的直射路径,从而导致信号接收区域中存在半盲区,在电磁场中形成了阴影,致使信号接收点场强在终端移动过程中起伏变化,我们称此现象为阴影效应。除以上三种环境客观因素外,指纹定位选取的信号传播模型、定位场景中AP与位置指纹参考点的配置以及选取的定位算法均会影响定位精度。

    除此之外,定位温度、方向、移动终端运动状态也均会影响定位精度。

http://www.dtcms.com/a/613396.html

相关文章:

  • 标签的ref属性
  • 网站站内的seo怎么做拍卖网站建设需求
  • 微服务即时通讯系统(服务端)——消息转发微服务设计与实现详解(5)
  • 抽象工厂模式在智慧蔬菜大棚物联网系统中的应用
  • 新建站点的步骤网站建设工具的公司
  • 【微服务】【Nacos 3】 ① 深度解析:架构演进、核心组件与源码剖析
  • Rust赋能Android蓝牙协议栈:从C++到安全高效的重构之路
  • 网站 建设 原则wordpress入门教程8
  • Wordpress如何选择适合外贸的模板主题?
  • 整体设计 全面梳理复盘 之38 3+1 工具套件(思维工具为根)设计共识暨 DevOps 融合落地路径
  • Goer-Docker系列-1-管理工具
  • 阿里云CentOS环境下Docker Compose详细使用教程
  • Windows 下 Docker Desktop 快速入门与镜像管理
  • 破解跨境数据传输瓶颈:中国德国高速跨境组网专线与本地化 IP 的协同策略
  • SpringCloud:Eureka和负载均衡
  • GSV6127D#ACP#高性能 Type-C/DisplayPort 1.4 中继器与双向 MIPI/LVDS 混合转换器
  • jquery做网站浏览量做竞价的网站做优化有效果吗
  • 交互式网站app商务网站建设期末考试
  • IoTSharp前端VUE采用npm run build编译提示require() of ES Module 出错
  • 高级IO-poll
  • 在JavaScript中,JavaScript 对象和 JSON 字符串互相转换
  • css之弹性盒子属性2
  • [LivePortrait] docs | Gradio用户界面
  • 基于C#+avalonia ui实现的跨平台点胶机灌胶监控控制上位机软件
  • 【三维编辑】DREAMCATALYST:平衡可编辑性和ID的快速高效3D编辑
  • SemanticVLA:面向高效机器人操作的语义对齐剪枝与增强方法
  • 晋城市住建设局网站茂名公司网站设计
  • 太原做响应式网站软件开发公司厂家有哪些
  • 40_FastMCP 2.x 中文文档之FastMCP客户端认证:OAuth 身份验证详解
  • 二、Rabbit MQ 高级