GPS定位原理及应用分析
一.定位原理
1.卫星定位(GPS,北斗导航)

①.硬件构成(24颗卫星,可构建一套导航系统)
为何是24颗卫星?
可以做到全球覆盖,同一地点地球上空可观测到4颗卫星。
②.为什么是4颗卫星来定位


电磁波传播速度:3*10的8次方
卫星传播到地面时间:0.06s
卫星发射的信号会带自己的坐标(x,y,z),通过四颗卫星坐标计算出接收机坐标。
2.Wi-Fi定位
每一个无线AP(路由器)都有一个全球唯一的MAC地址。它主要通过扫描周围可见的 Wi-Fi 热点来确定设备的位置。(无法定位海拔)
3.蓝牙定位
蓝牙定位通常基于蓝牙信号的接收强度(RSSI)和设备之间的距离来确定位置。(无法定位海拔)
4.基站定位
基站定位是一种利用移动通信基站(如手机网络基站)信号的强度和位置信息来确定移动设备位置的定位方法。(无法定位海拔)
5.传感器定位(应用场景:机器人,汽车避障等)
超声波,激光雷达。(无法定位海拔)
二.GPS误差的情况
手机定位误差一般在几米到几十米之间
1.外部因素
①.大气层影响
大气层中的电离层和对流层对GPS信号会起到延迟的作用,电离层对电磁波的折射效应使得GPS信号的传播速度发生变化,对流层同样会对电磁波产生折射效应,从而影响GPS信号的传播速度。
②.卫星星历误差
卫星星历是由地面监控站跟踪监测卫星求定的。由于卫星运行中要受到多种摄动力的复杂影响,而通过地面监控站又难以充分可靠地测定这些作用力或掌握其作用规律,因此在星历预报时会产生较大的误差。它不仅严重影响单点定位的精度,也是精密相对定位的重要误差来源。
③.卫星时钟误差
卫星钟差是指GPS卫星时钟与GPS标准时间的差别。为了保证时钟的精度,GPS卫星均采用高精度的原子钟,但它们与GPS标准时之间的偏差和漂移和漂移总量仍在1ms~0.1ms以内,由此引起的等效误差将达到300km~30km。这是一个系统误差必须加于修正。
④.多径效应
多径效应由于接收终端周围环境的影响,使得接收机所接收到的卫星信号中还包含有反射和折射信号的影响,这也是影响在室内和城市楼宇密集的地区定位偏差大的一大因素。
2.内部因素

这里的内部因素是指手机主板上的GPS芯片影响定位的因素,现在主流的智能手机都将GPS芯片技术集成在CPU或基带芯片里,但是提供CPU或基带芯片的厂商不止一家,产品各种各样,所以产品的性能难免会存在差异,这也是造成GPS定位出现偏差的一个因素。
三.RTK原理(实时动态差分定位)

1.如上图所示,这是一个标准的传统RTK组网
其中,除了卫星之外,RTK系统包括两个重要组成部分——基准站和流动站。
两个站都带有卫星接收机,可以观测和接收卫星数据。顾名思义,基准站是提供参考基准的基站。而流动站,是可以不断移动的站。流动站其实就是要测量自身三维坐标的那个对象目标,也就是用户终端。
定位流程
第①步,基准站先观测和接收卫星数据;
第②步,基准站通过旁边的无线电台(数据链),将观测数据实时发送给流动站(距离一般不超过20公里)
第③步,流动站收到基准站数据的同时,也观测和接收了卫星数据;
第④步,流动站在基准站数据和自身数据的基础上,根据相对定位原理,进行实时差分运算,从而解算出流动站的三维坐标及其精度,其定位精度可达1cm~2cm。
2.网络RTK vs 传统RTK
传统RTK技术实施简单,成本低廉。但是,它也存在一个很大的问题,那就是流动站和基准站之间存在距离限制。距离越远,误差因素差异变大,定位精度就会下降。而且,距离远了,超过了无线电台的通信范围,也就无法工作了。

多个基准站组成的基准站网,它们将数据发给中央服务器。中央服务器会根据数据,模拟出一个“虚拟基准站”。(所以,网络RTK也被称为“虚拟基准站技术”或“虚拟参考站技术”。)

四.GPS定位实用场景
1.针对信号差的场景(车载,室内)
(不能提升精度,只能提高信号强度)

2.GPS定位辅助
利用现有的GPS设备,通过APP读取设备经纬度信息,从而提升精度。

3.高精度定位
定位精度想要达到亚米级别以内,必须要借助RTK硬件+RTK网络服务。



综上所述:考虑成本问题,想要提升定位精度,目前最好的方案,读取现有GPS终端设备经纬度。
相关文章:
GPS定位原理及应用分析
一.定位原理 1.卫星定位(GPS,北斗导航) ①.硬件构成(24颗卫星,可构建一套导航系统) 为何是24颗卫星? 可以做到全球覆盖,同一地点地球上空可观测到4颗卫星。 …...
Java面试篇9——并发编程
并发编程知识梳理 提示,此仅为面试,若想对线程有跟完整了解,请点击这里 提示:直接翻到最后面看面试真题,上面的为详解 面试考点 文档说明 在文档中对所有的面试题都进行了难易程度和出现频率的等级说明 星数越多代表…...
[RK3399 Linux] 使用busybox 1.36.1制作rootfs
一、 编译、安装、配置 busybox 1.1 下载源码 根文件系统是根据busybox来制作的。 下载地址:https://busybox.net/downloads/。 这里就以1.36.1版本为例进行编译安装介绍: 注意:编译linux内核与文件系统中的所有程序要使用相同的交叉编译器。 下载完成后解压: mkdir …...
JavaScript入门--循环
JavaScript入门--循环 一、for循环二、for in语句三、break语句四、continue语句五、while循环六、do-while语句一、for循环 先来看一个循环案例: for (i = 0; i < 5; i++) {...
【Delphi 爬虫库 1】GET和POST方法
文章目录 1.最简单的Get方法实现2.可自定义请求头、自定义Cookie的Get方法实现3.提取响应协议头4.Post方法实现单词翻译 爬虫的基本原理是根据需求获取信息并返回。就像当我们感到饥饿时,可以选择自己烹饪食物、外出就餐,或者订外卖一样。在编程中&#…...
[leetcode] 快乐数 E
:::details 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1…...
Lobe UI - 基于 AntDesign 开发的 AIGC Web 应用的开源 UI 组件库
今天推荐一个可以快速开发 ChatGPT UI 界面的组件库,质量很高,拿来就能用。 Lobe UI 是由 lobehub 团队开发的一套 web UI 组件库,和我之前推荐的很多通用型的 UI 组件库不同,Lobe UI 是专门为目前火热的 AIGC 应用开发而打造&am…...
Java常用类 -- Random类
该类实例用于生成伪随机数的流 伪随机数:通过算法算出来的数,是假的随机数 (一)具体使用 public static void main(String[] args) { Random r new Random(); System.out.println("随机出int类型的数据" r.nextIn…...
Docker安装Kong网关
文章目录 一、kong是什么?二、搭建步骤1.搭建PostgreSQL2.搭建Kong网关2.1、制作镜像2.2、数据库初始化2.3、启动Kong网关一、kong是什么? Github地址:https://github.com/Kong/kong Kong是一个可扩展、开源的云原生API网关,可以在分布式环境中管理、监控和安全地发布API…...
spispispi
SPI C.. & C.. logic是SPI的控制逻辑,芯片内部进行地址锁存、数据读写等操作,都是由控制逻辑自动完成。控制逻辑的左边是SPI的通信引脚,这些引脚和主控芯片相连,主控芯片通过SPI协议,把指令和数据发送给控制逻辑&a…...
MySQL——创建和插入
一、插入数据 INSERT 使用建议; 在任何情况下建议列出列名,在 VALUES 中插入值时,注意值和列的意义对应关系 values 指定的值顺序非常重要,决定了值是否被保存到正确的列中 在指定了列名的情况下,你可以仅对需要插入的列给到…...
【BUG】element-ui表格中使用video标签,数据翻页,video中的视频仍然显示第一页的视频,没有重新加载
BUG描述 遇到一个问题,使用element-ui构建的管理端后台,表格里面每一行都有一个video标签,里面有视频,当我翻页了以后,视频不会重新加载,仍然显示的是第一页的视频,代码如下: <e…...
【JavaSE】你真的了解内部类吗?
前言 本篇会详细讲解内部类的四种形式,让你掌握内部类~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 前言 内部类介绍 实例内部类 定义 调用 静态内部类 定义 调用 匿名内部类 定义和调用1 调用方法2 …...
Vue3(二):报错调试,vue3响应式原理、computed和watch,ref,props,接口
一、准备工作调试 跟着张天禹老师看前几集的时候可能会遇到如下问题: 1.下载插件:Vue Language Features (Volar)或者直接下载vue-offical 2.npm run serve时运行时出现错误:Error: vitejs/plugin-vue requires vue (>3.2.13) …...
前端console用法分享
console对于前端人员来讲肯定都不陌生,相信大部分开发者都会使用console来进行调试,但它能做的绝不仅限于调试。 最常见的控制台方法 作为开发者,最常用的 console 方法如下: 控制台打印结果: 今天我分享的是一些 co…...
Matlab|电价型负荷需求响应(考虑电价变化)
程序复现来源于《计及需求响应消纳风电的电-热综合能源系统经济调度 》第四章内容。 一、原理 需求响应的基本原理是需求侧根据电力市场价格和电网要求改变其负荷需求以 获取一定的利益回报。其中 PDR 可通过直观的电价变化信号引导用户调节用电方式, 从而达到优…...
PySide QWebChannel实现Python与JS双向通信的前后端分离桌面应用
文章目录 一、前言二、实现方法1.前端部分2.后端部分3.依赖文件三、运行结果一、前言 以往开发桌面应用通常都是页面接口一起写,这样开发周期比较长,且页面样式不灵活,如果能把页面交给前端写的话,就可前后端并行开发桌面应用了,并且css语言灵活好用样式丰富。下面介绍一…...
清明三天,用Python赚了4万?
每年4月,是Python圈子里接私活的旺季,特别是在节假日这种数据暴增的时间段,爬虫采集、逆向破解类的私活订单会集中爆发,量大价高。几乎所有的圈内人都在趁着旺季接私活。 正好,我昨天就做了一单爬虫逆向私活ÿ…...
【C/C++笔试练习】read函数、虚拟存储、用户态、线程特点、缺页处理、调度算法、进程优先级、锁的使用、创建进程、不用加减乘除做加法、三角形
文章目录 C/C笔试练习选择部分(1)read函数(2)虚拟存储(3)用户态(4)线程特点(5)缺页处理(6)调度算法(7)进程优先…...
设计模式(021)行为型之访问者模式
访问者模式是一种行为型设计模式,它可以在不修改现有代码结构的情况下,为复杂的对象结构添加新的操作。该模式将数据结构和数据操作进行分离,使得数据结构可以独立于操作进行变化,同时也可以在不改变操作的前提下增加新的操作。 在…...
Python多线程真能并行了吗?(GIL绕过技术全图谱:subprocess/numba/multiprocessing/cython/rustpy)
第一章:Python无锁GIL环境下的并发模型面试题汇总Python 的全局解释器锁(GIL)长期被视为多线程并发的瓶颈,但近年来随着 CPython 3.13 引入实验性无锁 GIL(--without-pymalloc 配合 --with-per-object-gil 原型&#x…...
别再瞎找了!AI论文软件2026最新测评与推荐
2026年真正好用的AI论文软件,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…...
APScheduler避坑指南:解决定时任务重复执行和时区问题的5种实战方案
APScheduler生产级实战:彻底解决定时任务重复执行与时区混乱的终极方案 凌晨三点,服务器告警铃声突然响起——监控系统显示同一批数据处理任务在短时间内被重复执行了17次。这不是科幻场景,而是某电商平台在使用APScheduler时遇到的真实生产事…...
OpenH264:开源H.264编解码库的技术实现与工程实践
OpenH264:开源H.264编解码库的技术实现与工程实践 【免费下载链接】openh264 Open Source H.264 Codec 项目地址: https://gitcode.com/gh_mirrors/op/openh264 OpenH264作为Cisco维护的开源H.264编解码库,在实时视频通信、流媒体传输和嵌入式设…...
3步颠覆性解决方案:零成本条码生成技术让企业彻底告别付费依赖
3步颠覆性解决方案:零成本条码生成技术让企业彻底告别付费依赖 【免费下载链接】librebarcode Libre Barcode: barcode fonts for various barcode standards. 项目地址: https://gitcode.com/gh_mirrors/li/librebarcode Libre Barcode开源字体库通过字体化…...
OpenClaw多任务调度:GLM-4.7-Flash并行处理文件与邮件
OpenClaw多任务调度:GLM-4.7-Flash并行处理文件与邮件 1. 为什么需要多任务调度 上周我需要同时处理两个紧急任务:整理三个月积累的会议录音文字稿,以及给二十多位合作伙伴发送定制化跟进邮件。手动操作需要至少6小时,而第二天早…...
OpenClaw安全防护配置:Qwen3.5-9B任务执行边界与权限控制
OpenClaw安全防护配置:Qwen3.5-9B任务执行边界与权限控制 1. 为什么需要安全防护? 当我第一次在本地部署OpenClaw时,最让我不安的是这个AI助手拥有和我一样的系统权限。它能读写我的文件、发送邮件、甚至执行终端命令——这种能力就像把家门…...
OpenClaw效率对比:GLM-4.7-Flash与云端API实测数据
OpenClaw效率对比:GLM-4.7-Flash与云端API实测数据 1. 测试背景与动机 上周在优化个人自动化工作流时,我遇到了一个实际选择难题:应该用本地部署的GLM-4.7-Flash模型,还是继续使用云端API服务?这个问题看似简单&…...
# 发散创新:用 Rust实现一个轻量级游戏日引擎的核心调度机制 在现代游戏开发中,**高效的任务调度与资源管理**是性能
发散创新:用 Rust 实现一个轻量级游戏日引擎的核心调度机制 在现代游戏开发中,高效的任务调度与资源管理是性能瓶颈的关键所在。尤其是在“游戏日”这类强调多线程并行处理、实时响应的场景下,传统基于 C 或 Python 的方案往往因内存安全问题…...
保姆级教程:用Cloudreve+Obsidian打造私人云笔记(附WebDAV配置避坑指南)
零基础构建私有知识库:Cloudreve与Obsidian的完美联姻 在信息爆炸的时代,如何高效管理个人知识资产已成为现代人的刚需。想象一下:你正在咖啡馆用iPad记录灵感,回到家打开电脑时这些想法已自动同步;出差途中用手机查阅…...
