如何消除误差?室内定位中的关键技术

news2025/1/11 11:05:16

1、互相关干扰消除技术

在室内复杂的定位环境中,接收机很有可能接收到定位源直射的强信号和经过反射、折射的弱信号,强信号和弱信号的功率差可以达到20~30dB。此时在弱信号的相关解算中,强信号产生的互相关峰与弱信号产生的自相关峰幅值处于同一量级,很有可能对弱信号的捕获造成不利影响。因此在定位过程中通常需要通过消除互相关干扰的影响达到捕获弱信号的目的,其中常用的方法有子空间投影法和扣除法。

⑴子空间投影法

子空间投影法是在载波多普勒、载波相位以及码相位构建的信号子空间中生成新码,并将待检测的弱信号在此空间内分解并产生出与强信号完全正交、与弱信号相关性强的新码,以此码进行弱信号的捕获。由于新码的构建需要实时运算,而此运算中需要进行大量的矩阵和向量运算,因此构建新码十分困难。E.P.Glennon提出改变Gold码的均衡性使得本地码与强干扰信号互相关性最小,但该方法同时也会降低一定的自相关性。

⑵扣除法

扣除法比较常见的有两种方法:一是利用已捕获的强干扰信号的多普勒频移、载波相位、码相位、信号幅度等参数在本地接收机内进行强干扰信号的重构,然后将强信号从射频信号中扣除,再进行弱信号的捕获;二是在做完接收信号与本地码的相关运算后从中扣除强干扰信号的互相关值,以此消除强干扰信号对弱信号捕获的影响。根据扣除操作发生的位置是在相关运算前和后可以分为前端消除法和后端消除法。与子空间投影法相比,扣除法占用资源少、易实现,但对强信号的参数依赖程度大,当强信号的参数估计误差较大时,扣除法对互相关干扰的消除作用就会减小甚至不起作用。

2、非视距效应消除技术

非视距效应是由于定位信号源与定位终端之间存在障碍物,导致定位信号无法沿视距传播,只能通过折射、反射等方式传播。由此产生的误差称为非视距(Non-Line of Sight,NLOS)误差。在室内定位中,由于建筑物内的复杂结构和经常性的人员流动导致非视距效应十分显著。影响定位精度的主要误差来源有测量误差和非视距误差,其中非视距误差远远大于测量误差,因此消除非视距效应是提高室内定位精度的主要方式。

⑴极大似然算法

在非视距环境中,可以利用测量噪声、非视距误差统计和 LOS/NLOS距离概率模型构建最大似然问题进行定位解算,消除非视应。Gezici使用最大似然算法最大化联合概率密度函数剔除非视距观测量,Qi采用最大后验概率估计非视距误差统计分布。

⑵最小二乘算法

在视距环境中室内定位最广泛的算法之一是最小二乘法,在得到测量量后建立方程解出定位终端的位置。而在非视距环境下也可以通过最小二乘法进行定位解算。残差加权(RWGH)算法是Chen提出的一种针对非视距环境的定位算法,可以有效减小非视距效应对定位精度的影响。

虽然众多学者对非视距误差的消除进行了大量研究,但由于非视距的复杂性,目前消除模型仍难以有效消除,仍然是影响室内定位精度的关键问题之一。

3、特征聚类技术

在基于指纹信息的定位方法中,通常采用特征聚类技术将离群点剔除,以此减小离群点对定位结果的影响,提高定位精度。

⑴HiWL方法

聚类算法通常需要使用大量数据进行训练,但为指纹库中每个数据点进行位置标记是非常繁琐的,为此HiWL方法使用隐形马尔科夫模型 (HiddenMarkovModel,HMM)对未标记的数据进行位置分类。在训练阶段,该方法需要一定的室内拓扑信息。通过HMM训练,系统可以获得地理坐标和信号分布之间的映射关系,因此HiWL方法可以将未标记的指纹地图与地理坐标联系起来。但HMM 方法需要通过大量的训练数据集  保证学习结果的准确性,提高了系统的计算复杂度。

⑵UMLI方法

为了减少计算量,UMLI方法采用聚类方法对未标记数据进行分类。训练阶段通过聚类分析,将有相似特征的相邻参考点聚集为一类。以此将未标记的数据进行位置标记,减少测量和标记的工作量。UMLI方法首先将未标记的指纹地图映射到对应的房间中,然后在房间中进行精度更高的定位解算。UMLI方法通过采用分层定位的方法提高了房间定位的精度。

4、融合滤波技术

在室内环境下,单一的定位技术无法覆盖全部区域,且定位精度有限。因此需要使用多种传感器、多种定位信号定位。在此过程中就需要融合滤波技术将不同定位源的数据进行融合定位。

通常融合滤波分为三类,数据融合、特征融合和决策融合。表1所示为三类融合方法的一些相关特性。

表1 不同融合方法的相关特性

根据处理结构的不同,也可以将融合滤波分为集中式、分布式和混合式。集中式融合滤波需要一个处理中心收集数据进行处理,而分布式融合滤波中每个传感器、定位信号接收器单独处理自己的数据,并将结果发送到进行全局分析的节点。混合式融合滤波中一部分传感器和定位信号接收器自己进行数据的预处理,而处理中心也会对一些原始数据进行融合并进行最后的决策融合。

如果一个系统中信号源产生的是相同物理测量量,那么就可以进行数据融合;相反若系统中的原始数据是异构的,那么就不能直接进行数据融合,需要提高到特征或决策融合的高度。

结论

本文对目前室内定位技术进行了简单介绍,分别针对不同种类的主流定位手段,进行了详细介绍与分析,并对室内定位中常见的技术问题进行了讨论。通过对比分析,可以得到如下结论:

1)室内定位技术发展迅速,亚米级及厘米级的高精度位置服务需求广泛;

2)室内定位技术种类繁多,不同技术之间各有优缺点,广域与局域定位技术形成一定互补;

3)组合导航与多系统融合定位可有效提高定位精度及定位鲁棒性;4)导航通信一体化技术具有成本低、精度高等优点,并易于与其他定位系统融合,成为未来室内外定位技术的研究热点之一。

随着人们对室内位置服务需求的持续增加,室内定位技术将会得到进一步发展。新一代通信技术的发展,会大幅推动室内定位技术的进步,毫米波及MIMO技术的应用,可有效增加测距精度并提高定位终端的抗多径能力。低成本亚米级甚至厘米级的室内定位技术成为今后的研究趋势与热点。

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

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

相关文章

基于session实现发送短信和验证码登录注册功能

(笔记总结自《黑马点评》项目) 实现短信验证码登录流程: 一、发送短信 Controller层: PostMapping("code")public Result sendCode(RequestParam("phone") String phone, HttpSession session) {// TODO 发…

检测摄像头的fps

需求 项目中经常遇到不是摄像头就是网线的问题,曾经遇到一个项目算法日志一直报 warning,经过好几个小时的远程排查,发现是摄像头的 fps 不稳定,而且出现 fps 逐渐降低的情况,所以算法跑着跑着就挂了。 于是就需要开…

LeetCode每日一题:1123. 最深叶节点的最近公共祖先(2023.9.6 C++)

目录 1123. 最深叶节点的最近公共祖先 题目描述: 实现代码与解析: dfs 原理思路: 1123. 最深叶节点的最近公共祖先 题目描述: 给你一个有根节点 root 的二叉树,返回它 最深的叶节点的最近公共祖先 。 回想一下&…

linux 下 C++ 与三菱PLC 通过MC Qna3E 二进制 协议进行交互

西门子plc 有snap7库 进行交互&#xff0c;并且支持c 而且跨平台。但是三菱系列PLC并没有现成的开源项目&#xff0c;没办法只能自己拼接&#xff0c;我这里实现了MC 协议 Qna3E 帧&#xff0c;并使用二进制进行交互。 #pragma once#include <stdio.h> #include <std…

linux c++ 开发 - 05- 使用CMake创建一个动态库

外层CMakeList.txt中的内容&#xff1a; cmake_minimum_required(VERSION 3.16) PROJECT(HELLO) ADD_SUBDIRECTORY(lib bin)lib中CMakeLists.txt中的内容&#xff1a; SET(LIBHELLO_SRC hello.cpp) ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC})hello.h: hello.cpp: ADD_LIBR…

Liquid Studio 2023.2 Crack

Liquid Studio 提供了用于XML和JSON开发 的高级工具包以及Web 服务测试、数据映射和数据转换工具。 开发环境包含一整套用于设计 XML 和 JSON 数据结构和模式的工具。这些工具提供编辑、验证和高级转换功能。对于新手或专家来说&#xff0c;直观的界面和全面的功能将帮助您节省…

C++回顾录

代码随想录 (programmercarl.com) 数组和内存 数组是存放在连续内存空间上的相同类型数据的集合。 数组可以方便的通过下标索引的方式获取到下标下对应的数据。 举一个字符数组的例子&#xff0c;如图所示&#xff1a; 数组可以方便的通过下标索引的方式获取到下标下对应的…

使用docker搭建owncloud Harbor 构建镜像

1、使用mysql:5.6和 owncloud 镜像&#xff0c;构建一个个人网盘。 2、安装搭建私有仓库 Harbor 3、编写Dockerfile制作Web应用系统nginx镜像&#xff0c;生成镜像nginx:v1.1&#xff0c;并推送其到私有仓库。具体要求如下&#xff1a; &#xff08;1&#xff09;基于centos基础…

Scala面向对象编程(高级部分)

1. 静态属性和静态方法 &#xff08;1&#xff09;回顾Java中的静态概念 public static 返回值类型 方法名(参数列表) {方法体} 静态属性… 说明: Java中静态方法并不是通过对象调用的&#xff0c;而是通过类对象调用的&#xff0c;所以静态操作并不是面向对象的。 &#xff0…

SpringBoot 统一异常处理

1. 统一返回结果集 package com.liming.pojo;import com.liming.exception.AppExceptionCodeMsg; import lombok.Data;/*** 全局统一返回结果类* author 黎明* date 2023/9/6 14:11* version 1.0*/ Data public class Result<T> {private Integer code; // 状态码privat…

C#模拟PLC设备运行

涉及&#xff1a;控件数据绑定&#xff0c;动画效果 using System; using System.Windows.Forms;namespace PLCUI {public partial class MainForm : Form{ public MainForm(){InitializeComponent();}private void MainForm_Load(object sender, EventArgs e){// 方式2&#x…

基于SpringBoot的校园失物招领系统

基于SpringBooVuet的校园失物招领系统&#xff0c;前后端分离 附万字文档 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 角色&#xff1a;管理员、用户 管理员  …

线性空间、子空间、基、基坐标、过渡矩阵

线性空间的定义 满足加法和数乘封闭。也就是该空间的所有向量都满足乘一个常数后或者和其它向量相加后仍然在这个空间里。进一步可以理解为该空间中的所有向量满足加法和数乘的组合封闭。即若 V 是一个线性空间&#xff0c;则首先需满足&#xff1a; 注&#xff1a;线性空间里面…

AR工业远程巡查系统:实时监控设备状态,及时发现潜在问题

随着工业4.0的到来&#xff0c;先进的技术和创新的解决方案正在改变着工业生产的方式。其中&#xff0c;增强现实&#xff08;AR&#xff09;技术带来的工业巡检系统就是一个典型的例子。这种系统通过在现实世界中添加虚拟信息&#xff0c;使得操作人员能够更有效地进行检查和维…

leetcode 1002. 查找共用字符

2023.9.6 个人感觉这题难度不止简单&#xff0c;考察到的东西还是挺多的。 首先理解题意&#xff0c;可以将题意转化为&#xff1a;求字符串数组中 各字符串共同出现的字符的最小值。 分为三步做&#xff1a; 构造一个哈希表hash&#xff0c;初始化第一个字符串的字母出现频率…

2020年12月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C编程&#xff08;1~8级&#xff09;全部真题・点这里 第1题&#xff1a;字符三角形 描述 给定一个字符&#xff0c;用它构造一个底边长5个字符&#xff0c;高3个字符的等腰字符三角形。 输入 输入只有一行&#xff0c; 包含一个字符。 输出 该字符构成的等腰三角形&#xff…

Zookeeper简述

数新网络-让每个人享受数据的价值 官网现已全新升级—欢迎访问&#xff01; 前 言 ZooKeeper是一个开源的、高可用的、分布式的协调服务&#xff0c;由Apache软件基金会维护。它旨在帮助管理和协调分布式系统和应用程序&#xff0c;提供了一个可靠的平台&#xff0c;用于处理…

苹果与芯片巨头Arm达成20年新合作协议,将继续采用芯片技术

9月6日消息&#xff0c;据外媒报道&#xff0c;芯片设计巨头Arm宣布在当地时间周二提交给美国证券交易委员会&#xff08;SEC&#xff09;的最新IPO文件中&#xff0c;透露与苹果达成了一项长达20年的新合作协议&#xff0c;加深了双方之间的合作关系。 报道称&#xff0c;虽然…

Informatica使用操作流程及Expression(表达式转换)案例2

操作流程 ①定义源<Odbc01_oracle:employees> ②定义目标<EDW_EMPLOYEES> ③创建映射<M_ORACLE_EDW01_employees> ④定义任务<S_ORCL_EDW01_employees> ⑤创建工作流<W_ORCL_EDW01_employees> ⑥工作流调度监控 ⑦查验数据 一、需求&…

js---16-----JavaScript中的类型转换机制

、类型转换机制是什么&#xff1f; JS中有六种简单数据类型&#xff1a;undefined、null、bollean、string、number、symbol&#xff0c;以及引用类型object 但是我们声明的时候只有一种数据类型&#xff0c;只用运行期间才会确定当前类型。 上面代码中&#xff0c;x的值在编…