北斗/GPS如何实现定位

article/2025/9/19 7:10:16

北斗/GPS是怎么实现定位的?为什么卫星定位需要4颗以上卫星才能定位?相信很多人都会有这种困惑,通过本文的专业解答,为你揭开卫星导航的神秘面纱。
  在无高度的一维空间上,当知道信号发射位置时,准确定位接收机位置只需要消除信号发生器和接收机之间的时间差值,通常称该时间差值为钟差。消除钟差常见方法通常为多增加一路信号发射装置,如下图所示
在这里插入图片描述
                  图1-1 平面定位示意图
如将∆τ_1-∆τ_2表示一侧信号多走的距离部分,则有
         在这里插入图片描述
式中,C表示信号传播速度。可推算出接收机与信号发生器之间得距离
       在这里插入图片描述
由上述一维空间确定距离推算可知,若需要精确计算沿线的时间和位置,需要两个时间信号发生器,由此可以推出以下结论:当计算位置采用不同步的时钟系统时,时间信号发生器的数量必须超过未知维度,但也只需要大于一即可。
在这里插入图片描述
                  图1-2 四星定位示意图
  由一维空间上的距离推论,卫星导航系统使用星载原子钟作为时间信号发射器,接收机为确定经度、纬度、高度三维坐标和确切时间,至少需要接收四颗卫星的信号。
 GNSS卫星将其准确位置和星载时钟时间传输到地球。用于定位的电磁波信号以光速传输,需要大约67.3ms到达卫星包围的地球表面位置。每增加一公里的行程,信号还需要3.33us时间传输。为建立位置,所需要的只是一个接收器和一个准确的时钟。通过比较卫星信号的到达时间与信号播发时刻的板载时钟时间,以此可以确定信号传播时间。通过使用两颗卫星的信号传播时间1和2,可以在卫星周围绘制半径为D1和D2的两个圆,圆的半径对应于计算到卫星的距离,相对于卫星接收机所有可能位置都位于这些圆上。如果排除卫星上方的位置,则接收机的位置位于两个圆与卫星下方相交的确切点,因此,两颗卫星足以确定X/Y平面上的位置,如图(1-3)所示。
在这里插入图片描述
             图1-3卫星平面定位示意图
  在现实世界中,必须在三维空间而不是在平面上确定位置。由于平面和三维空间之间的差异由额外维度高度Z组成,因此必须有另外的第三颗卫星来确定真实位置。如果已知三颗卫星信号传播的距离,则所有可能的位置都位于三个球体的表面上,球体半径等于各卫星计算的信号传播距离,接收机位置为三球体共同相交的点。                  
              在这里插入图片描述
               图1-4立体定位示意图
  卫星和地面定位接收器之间的测量传播时间即使只有1us的误差,也会产生300m的位置误差。假设所有GNSS卫星上的时钟是同步且认为传输过程中无误差情况下,接收机接收卫星的观测信息时,所有信号传播时间与接收机接收时间具有相同的不准确量。在进行计算时,如果未知变量有N个,则需要至少N个独立方程联立方程组求解,如果测量伴随着未知时间误差Δt,在三维空间中将有四个未知变量:x,y,z,Δt。因此,为获得位置信息至少需要四个方程,四颗独立卫星的观测数据能够建立所需方程并获得解算。通过人为控制,使得在地球上的任何一点,至少有四颗卫星是“可见的”,因此,尽管接收器时钟的部分不准确并且导致时间误差,但仍然可以计算位置。


http://chatgpt.dhexx.cn/article/gwplkBcN.shtml

相关文章

【模块】北斗+GPS双模定位模块

在相当长的时间里,GNSS(全球卫星导航系统, Global Navigation Satellite System)是以美国的GPS(Global Positioning System, 全球定位系统)一家独大的。随着各国对定位系统的逐渐重视,都陆续推出自己的卫星导航系统,比如我国的北斗、俄罗斯的…

手机安装Linus系统

首先做准备工作,我们需要三个app,如下图所示: 分别是Anlinux(用于获取linux系统,这里我们选择Ubuntu系统),Termux(模拟Linux环境),旋风加速器(因为Termux的下载源在国外,所以我们需要使用其来连接国外站点) 首先我们打…

大神Linus

大神Linus 人物简介 林纳斯本纳第克特托瓦兹(Linus Benedict Torvalds, 1969年~ ),著名的电脑程序员、黑客。Linux内核的发明人及该计划的合作者。托瓦兹利用个人时间及器材创造出了这套当今全球最流行的操作系统(作业系统&#…

Linus工作室 2021年 PB级存储方案

来自于加拿大Linux 工作室 本文章仅整理内容,另外还有一些本人的理解 实际上这已经是Linux PB计划第二代了,比第一代更加NB 原视频地址: https://www.bilibili.com/video/BV1nj411f7NL/?spm_id_from333.788.videocard.4 https://www.bilibil…

Linus安装JDK

一. 下载jdk1.8 链接:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html, 选择Linus64位 下载完成后,将压缩包导入到linus opt文件夹下 tar -zxvf jdk-8u241-linux-x64.tar.gz 解压文件夹 ,然后修改环境变量 vim /etc/profile 按 “i…

Linux 30 周年,听 Linus 聊聊心路历程和开源洞见

Linus Torvalds 来了! 1991 年,21 岁的赫尔辛基大学学生 Linus Torvalds(以下简称 Linus)创建了 Linux 内核。过去 30 年,Linux 从一个基于兴趣的小项目,发展成统治世界的操作系统内核,而 Linu…

为何 Linus 一个人就能写出Linux这么强的系统?

转自:默然 Coldwings(知乎) 链接:www.zhihu.com/question/63187737 他是谁,Linus! 林纳斯・托瓦兹(Linus Torvalds, 1969 年~),著名程序员,Linux 内核的发…

linus 指针 linux,怼天怼地怼空气的Linus喜欢怎样的工作方式?

Linus Torvalds的“暴脾气”是出了名的,看到令自己不爽的事情就会怼过去,比如: 他曾经说Intel提交的漏洞修复程序是彻底的垃圾! 当别人说Git没用C开发的时候, 他反击说“C是一种可怕的语言” 他喷别人的Pull Request :…

跑步机上的精彩人生——Linus大神传奇

全面学python的时代,作为程序员你怎么看? https://edu.csdn.net/topic/python115?utm_sourcecsdn_bw 本文来自微信公众号:格友 在这样的软件时代里,越来越多的人工作时离不开电脑,于是便有了各种各样的操作电脑的方式…

Git源码(Linus 版本)详解

温馨提示:建议打开目录观看 Linus 发疯文学欣赏 👾 Git 是 Linux 之父 Linus Torvalds 于2005年开发的用于帮助管理 Linux 内核开发的开源版本控制软件。 美好的一天从阅读 Linus 的发疯文学开始。 (1) Linus 教你学习 Git (2) Linus 评价 CVS (Concur…

linux定时器王贤才,Linux之父Linus Torvald评价C++

Linux之父:C一无是处 不适合LINUX内核开发 Linux之父Linus Torvalds曾经在三年前,因为微软的一位同学质疑Git用C语言开发,而将C痛批了一顿。当时,他是这样评论的: C正处在困境当中,它既无助于简化,以实际用…

好书推荐--Linux之父Linus的自传《Just for Fun》

这本书非常有趣,它让你不由感到,在这个浮躁的社会,兴趣爱好是多么的重要!至少能让你收获快乐。巴菲特说过这样一段话:“没钱没人脉时,请逼自己做好这三件事。第一,找到自己的兴趣爱好&#xff1…

linus 用的linux版本,Linus Torvalds的重大消息

Linux创始人Linus Torvalds在内核邮件列表上宣布正式释出Linux Kernel 4.9,这个版本被称为时尚改进最大的版本,同时4.10合并窗口已经开启。但值得注意的是,为期两周的合并窗口预计将在圣诞节这天关闭,因为假期的原因Torvalds考虑缩…

Linus基础

1.使用whereis查找locate命令 使用which查找whereis命令 使用locate查找rm命令 2.使用find命令查找当前路径下的所有普通文件 使用find查找file1.txt,file2.txt,file3.txt 3.cut命令的使用 4.uniq新建uniq_data.txt 使用uniq命令输出的结果 使用uniqming输出值重复的行 使用…

Linus:我终于在 M2 芯片的 MacBook 上发布了 Linux 最新版本!

整理 | 彭慧中 责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 近日,Linus Torvalds(以下简称“Linus”)宣布Linux Kernel 5.19正式版终于可以和大家见面了。这一版本意义重大,虽然它比原计划晚了…

Linus系统的详细安装教程:

第一步 首先创建虚拟机 1.打开VMware,点击左上角新建虚拟机如下: 2.选择相关选项(也可以选自定义,自定义完成下一步即可)如下图: 3.选择“稍后安装操作系统(S)"如下图: 4.版本也可以选择其他的Red Hat版本(CentOS是Red Hat中的一个开放版本)如下图: 5.…

为何 Linus 一个人就能写出这么强的系统,国人却做不出来?

点上方蓝色“菜鸟学Python”,选“星标”公众号 重磅干货,第一时间送到转自:默然 Coldwings(知乎) www.zhihu.com/question/63187737 他是谁,Linus! 林纳斯・托瓦兹(Linus Torvalds,…

Linux之父:Linus

林纳斯本纳第克特托瓦兹(Linus Benedict Torvalds),是Linux之父,是Linux内核的缔造者。 1991年,年仅22岁的芬兰程序员Linus Torvalds发布了自己独创的操作系统—Linux。他将代码公布在网上,爱好者们也贡献者…

关于 Linux 之父,你可能不知道的 7 件事

如果让你现在说出三个程序员的名字,Linus 很可能就在其中。作为世界上最著名的电脑程序员、黑客之一,Linus Benedict Torvalds 写出了 Linux 内核 1.0 版,发起了开源运动,开发了代码管理工具 Git。 这三个成就中的任意一个&#x…

润乾报表中API自定义数据集

报表的数据来源大部分来自数据库,正常情况润乾报表都能自动处理,但是也会有特殊的情况,例如通过中间件连接数据库而非直连?通过业务程序算出的数据传递给报表进行展现等等。因此需要用户自定义数据集,我们看一个例子。…