北斗模块学习之初

2023-05-16

BD定义:

北斗卫星导航系统(BeiDou(COMPASS)NavigationSatellite System)是中国正在实施的自主发展、独立运行的全球卫星导航系统。系统建设目标是:建成独立自主、开放兼容、技术先进、稳定可靠的覆盖全球的北斗卫星导航系统,促进卫星导航产业链形成,形成完善的国家卫星导航应用产业支撑、推广和保障体系,推动卫星导航在国民经济社会各行业的广泛应用。

北斗卫星导航系统由空间段、地面段和用户段三部分组成,空间段包括5颗静止轨道卫星和30颗非静止轨道卫星,地面段包括主控站、注入站和监测站等若干个地面站,用户段包括北斗用户终端以及与其他卫星导航系统兼容的终端。

 

北斗卫星定位原理:
我国已建成的北斗一代卫星定位导航系统采用三球相交原理。当用户需要进行定位服务时,提出申请服务项目并发射请求信号,经过俩颗卫星转发至地面中心,地面中心接到此信号,解调出用户发送的信息,测量出用户至俩颗卫星的距离,以俩颗卫星的已知坐标为圆心,各以测定的卫星到用户终端的距离为半径,形成俩个球面,用户接收机必然位于这俩个球面交线的圆弧上。地面中心站配置电子高程地图,它可以提供以地心为球心,以球心至地球表面的高度为半径的非均匀球面,已知目标在赤道面的侧面,求解圆弧线与地球表面交点既可或得用户位置,用户位置信息经过俩颗卫星中的一颗转发给用户,由地面中心站保存讯息,这样调度指挥和相关单位可以或得用户的所在位置。

 

北斗二号的工作原理:

  北斗2定位原理和GPS/GLONASS/GALILUE完全一样,无线电伪距定位。在太空中建立一个由多颗卫星所组成的卫星网络,通过对卫星轨道分布的合理化设计,用户在地球上任何一个位置都可以观测到至少三颗卫星,由于在某个具体时刻,某颗卫星的位置是确定的,因此用户只要测得与它们的距离,就可以解算出自身的坐标。

举例:比如接收机在1秒收到《东方红》的第1个音符,而根据标准乐谱,第一个音符是在0秒发出,就可以知道,接收机和卫星的距离就是无线电波在1秒钟通过的距离——30万公里。所以,接收机就在以卫星1的0秒位置为球心,30万公里为半径的球面上。

所以从理论上,只要同时接受3个卫星的信号,就可以得到三个已知球心坐标和半径的球面,求出三个球面的交点,就是接收机所在位置。

但是在实践中,由于接收机的数量太大,体积重量价格都受到限制,所以不能在接收机上安装高精度的原子钟,所以接收机无法和卫星做到时间上的同步。由于存在接收机的时间不同步,所以求出和接收机卫星距离是不准确,是假的,所以是“伪距”。这样,需要求出的数据不仅仅是三维坐标,还要包括时间,就是需要求一个含有四个未知数的方程组。因此,需要接受第四颗卫星的信号,才能实际使用。

精度:20米以内。

北斗模块之NMEA0183协议。




NMEA协议:

NMEA协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到PC机、PDA等设备。

NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。

不过,也有少数厂商的设备使用自行约定的协议比如GARMIN的GPS设备(部分GARMIN设备也可以输出兼容NMEA-0183协议的数据)。软件方面,我们熟知的Google Earth目前也不支持NMEA-0183协议,但Google Earth已经声明会尽快实现对NMEA-0183协议的兼容。呵呵,除非你确实强壮到可以和工业标准分庭抗礼,否则你就得服从工业标准。

 

NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。下面给出这些常用NMEA-0183语句的字段定义解释。


根据北斗收到的信息,可以看到关于北斗NMEA0183的5种输出协议:$GNGGA、$GPGSA、$GPGSV、$GNRMC、$GPTXT。

 

$GNGGA,063018.000,2231.7034,N,11323.1382,E,1,7,1.40,38.7,M,-5.1,M,,*61

$GPGSA,A,3,15,29,02,193,26,13,05,,,,,,1.69,1.40,0.95*30

$BDGSA,A,3,,,,,,,,,,,,,1.69,1.40,0.95*14

$GPGSV,4,1,14,26,78,054,37,193,62,056,25,15,57,225,21,29,46,290,32*4F

$GPGSV,4,2,14,02,46,107,37,05,41,030,21,13,27,038,19,06,08,123,*72

$GPGSV,4,3,14,24,08,184,,21,03,313,,10,02,069,,12,01,203,*76

$GPGSV,4,4,14,25,01,237,,36,,,*49

$BDGSV,1,1,00*68

$GNRMC,063018.000,A,2231.7034,N,11323.1382,E,2.61,32.72,261114,,,A*44

$GPTXT,01,01,02,ANTSTATUS=OK*3B


BD:北斗二代卫星系统

GP:全球定位系统

GN:全球导航卫星系统

基于STM32芯片主控控制的北斗模块。


GPS系统

GPS定义:

GPS(Global Position System,全球定位系统),全称为NAVSTAR GPS(NAVigation Satellite Timing AndRanging Global Position System,导航星测时与测距全球定位系统)。GPS是一个由美国国防部开发的空基全天侯导航系统,它用以满足军方在地面或近地空间内获取在一个通用参照系中的位置、速度和时间信息的要求。

 

定位原理:

GPS是以三角测量定位原理来进行定位的。它采用多星高轨距题旨,以接收机至GPS卫星之间的距离作为基础作为基本观测量。当地面用户的GPS接收机同时接收到3颗以上卫星的信号后,通过使用伪距测量或载波相位测量,测算出卫星信号到接收机所需要的时间、距离,再结合各卫星所处的位置信息,将卫星至用户的多个等距离球面相交后,即可确定用户的三维(经度、纬度、高度)坐标位置以及速度、时间等相关参数。

 

假定卫星的位置已确定,而我们又能测定我们所在地点A至卫星之间的距离,那么A点一定是为于以卫星为中心,测得距离为半径的圆球上。同时,又测定点A至另一卫星的距离,A点目前处于两个圆相交的圆上。这样第三个卫星和点A测距,所以三个圆相交点上。进行定位。根据一些地理知识,可以排除不合理的位置。

精度:10米以内。


3.卫星导航系统

BD北斗导航系统,中国

GPS(全球定位系统),美国

GLONASS(全球轨道导航卫星系统),前苏联

Galileo-ENSS(欧洲导航卫星系统,即伽利略计划),欧盟





本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

北斗模块学习之初 的相关文章

  • QT或MFC中调用Opencv需要引用库时或自身的架构库时可以添加环境变量引用路径下文件的方式搭建环境避免可执行程序下文件过多显得臃肿

    在计算机系统环境变量中在Path里添加要引用的lib dll等库文件
  • C# 中delegate、event、Action、Func详解

    都属于委托 xff0c 只是展现的形式不同而已 xff0c 无论哪种 xff0c 其实都可以采用delegate实现 xff0c 为什么会出现另外的三种呢 xff1f 因为delegate是很宽泛的 xff0c 格式内容都不受限 xff0c
  • (吐了呀,相同代码,相同case测试结果不一样)1052 Linked List Sorting

    在刷PAT的过程中 xff0c 关于一个样例的疑问 include lt iostream gt include lt list gt include lt vector gt include lt unordered map gt inc
  • C# 委托,泛型委托,匿名委托,lambda表达式

    一 泛型的定义及作用 泛型 generic 是C 2 0推出的新语法 xff0c 它是专门为处理多段代码在不同的数据类型上执行相同的指令的情况而设计的 比如说编程时 xff0c 碰到功能非常相似的模块 xff0c 只是它们所处理的数据类型不
  • C#连接sqlServer数据库详解

    C 是如何跟SQL Server进行连接的 xff1f 在C NET程序设计中 xff0c 离不开ADO NET ADO NET是 NET连接数据库的重要组件 使用其可以很方便地访问数据库 xff0c ADO NET还可以访问Oracle数
  • C++ 如何用创建txt文件,并且写入内容(汇总)

    void CreatTxt char pathName unsigned char rBuffer int length 创建txt文件 char path 61 34 C 1 txt 34 你要创建文件的路径 ofstream fout
  • 常用邮箱的 IMAP/POP3/SMTP 设置

    通过网上查找的资料和自己的总结完成了下面的文章 xff0c 看完之后相信大家对这三种协议会有更深入的理解 如有错误的地方望指正 POP3 POP3是Post Office Protocol 3的简称 xff0c 即邮局协议的第3个版本 它规
  • Critical error detected c0000374

    最近发现一个新奇的情况导致这个问题出现 版本不一致 简单来说 xff0c 就是有一个类A xff0c 调用类B xff1b 但是这个类B有两个版本B1 xff0c B2 大小不一致 xff1b 类B包含两个类C D 在调用类B时 xff0c
  • 串口通信协议

    概念 串口通信 xff08 Serial Communications xff09 的概念非常简单 xff0c 串口按位 xff08 bit xff09 发送和接收字节 尽管比按字节 xff08 byte xff09 的并行通信慢 xff0
  • [二] Nuttx移植-星瞳pyboard开发板

    目录 一 Nuttx配置文件二 构建自己的配置文件1 include board h文件构建2 kernel amp amp scripts 构建3 nsh defconfig 构建4 src 构建5 Kconfig 构建 三 修改 nut
  • Parrot Bebop2 与ROS

    第二章 无人机平台与开发环境搭建 本章主要介绍无人机平台及相关开发环境的搭建 包括介绍Parrot Bebop2的相关规格与使用说明 xff0c 以及ROS的操作系统的简介 发展历程 安装流程 xff0c 还有ROS的数据通信方式和ROS的
  • python2与python3解析数据

    蓝牙模块接收到监测设备传输来的数据 xff0c 封装格式为十六进制的数据帧 xff0c 蓝牙模块将数据通过串口发送给wrtnode 2p xff0c wrtnode通过ser2net服务将数据转为网络数据 xff0c 可以通过监听192 1
  • 上传本地项目到github远程仓库

    前提已经注册github账号并在本地电脑安装git客户端 1 为Github账户设置SSH key 进入git bash xff0c 通过如下命令生成 ssh keygen t rsa C 34 github所绑定的邮箱 34 一路回车 x
  • 卫星导航定位技术二:由星历参数求解卫星时空位置

    卫星星历是描述卫星运动轨道的信息 也可以说卫星星历就是一组对应某一时刻的轨道参数及其变率 有了卫星星历就可以计算出任意时刻的卫星位置及其速度 GPS卫星星历分为预报星历和后处理星历 预报星历又称广播星历 GPS广播星历参数共有16个 xff
  • 模式识别:最小错误率贝叶斯决策分类

    一 引言 1 用贝叶斯决策理论分类要事先知道两个条件及要求 xff1a 各类的先验概率 xff1a 及特征向量的条件概率密度 xff1a 或后验概率 xff1a 决策分类的类别一定 2 解决的问题 xff1a 已知一定数目的样本 xff0c
  • 模式识别:BP神经网络算法

    1 BP神经网络分类器 1 1 BP算法基本原理 神经网络结构大概如下图1 1 xff1a 图1 1 包括输入层 xff0c 隐层和输出层 包含一层隐层的神经网络称为浅层神经网络 xff0c 即SNN 包含多层隐层的神经网络称为深度神经网络
  • 模式识别:C-means(K-means)聚类算法与分级聚类(层次聚类)算法

    C均值聚类算法与分级聚类算法的聚类分析 一 实验目的 理解聚类的整体思想 xff0c 了解聚类的一般方法 xff1b 掌握 C means与分级聚类算法算法思想及原理 xff0c 并能够熟练运用这些算法进行聚类分析 xff1b 能够分析二者
  • ROS 配置多网口通讯

    列出当前所有的网络设备 ifconfig a 结果如下 xff1a enp1s0 Link encap Ethernet HWaddr 00 2f 5c 68 06 ad inet addr 192 168 1 101 Bcast 192
  • qt creator开启openMP加速方法

    环境 Qt creator4 11 for msvc2017 内置openmp库 启用方法 1 在pro文件加上QMAKE CXXFLAGS 43 61 openmp 2 添加头文件omp h
  • c++中::的用法

    是运算符中等级最高的 xff0c 它分为三种 1 global scope 全局作用域符 xff09 xff0c 用法 xff08 name 2 class scope 类作用域符 xff09 xff0c 用法 class name 3 n

随机推荐

  • 【ubuntu】——gflags&glog卸载与安装

    gflags glog 通过apt安装的glog xff0c gflags没有config cmake xff0c 所以在一些情况下需要手动编译 1 卸载gflags amp glog 只适用于通过apt安装的方式 span class t
  • 【算法】A* 寻路 可视化

    如下图 寻路图A 使用A 算法 xff0c 需要将地图抽象成一个个方块 xff0c 蓝色代表不可以动 墙 xff0c 黄色为起始点 xff0c 红色为目标点 其地图的二维坐标如图所示 xff0c 每一个单位为1米 A 的基本公式为 F n
  • 实验室新生成长指南[2.2.1] · 连接器

    欢迎进入 实验室新生成长指南 第二章 xff1a 硬件 本篇是 实验室新生成长指南 第二章第二节第一篇 xff1a 连接器 整个2 2节将帮助新手快速建立设计电路系统的一些基本知识储备 更多关于 实验室新生成长指南 的介绍 xff0c 请前
  • 走进音视频的世界——音视频的基本概念

    音视频通用的基本概念有码率 时长 xff0c 而不同音视频有不同的封装格式 编码协议 其中视频关键参数有分辨率 帧率 画质 旋转角度 像素格式 xff0c 而音频关键参数有采样率 声道数 声道布局 音质 采样数 采样位数 帧时长 接下来与大
  • 走进音视频的世界——新一代开源编解码器AV1

    AOMedia Video 1 xff08 AV1 xff09 是一种开源 免版税的编解码器 xff0c 最初设计用于Internet上的视频传输 它是由开放媒体联盟 xff08 AOMedia xff09 于VP9的继任者开发的 xff0
  • FFmpeg源码分析:avformat_find_stream_info分析码流信息

    FFmpeg在调用avformat open input 之后 xff0c 可能码流信息不够完整 xff0c 可以使用avformat find stream info 获取更多的码流信息 比如获取视频帧率 视频宽高 xff0c 重新计算最
  • Miracast投屏协议深入剖析

    Miracast由WiFi联盟制定 xff0c 以WiFi Direct IEEE802 11为无线传输标准 xff0c 允许手机向电视或其他接收设备进行无线投送视频 图片 和Miracast类似的投屏协议 xff0c 还有Airplay
  • c++:DFS与BFS详解

    DFS xff08 深度优先搜索 xff09 xff1a 从某个状态开始 xff0c 不断转移状态到无法转移为止 xff0c 然后退回到前一步 xff0c 继续转移到其他状态 xff0c 不断重复 xff0c 直至找到最终的解 总是从最开始
  • 一文掌握OpenGL的shader内置函数

    OpenGL ES有大量的GLSL内置函数 xff0c 包括 xff1a 三角函数 指数函数 通用函数 浮点函数 几何函数 矩阵函数 矢量关系函数 纹理函数 原子函数 图像函数 插值函数等 目录 一 三角函数 1 radians degre
  • 安全可靠的SRT实时传输协议

    Secure Reliable Transport SRT 是安全 可靠 低延时的多媒体实时传输协议 SRT协议使用AES进行数据加密 xff0c 运用FEC进行前向纠错 xff0c 并且有流量控制 拥塞控制 类似于QUIC协议 xff0c
  • android端使用openCV实现车牌检测

    现在 xff0c 汽车的踪影无处不在 xff0c 公路上疾驰 xff0c 大街边临停 xff0c 小区中停靠 xff0c 车库里停泊 管理监控如此庞大数量的汽车是个头疼的问题 精明的人们把目光放在车牌上 xff0c 因为车牌是汽车的 身份证
  • android端使用openCV与深度学习实现车牌识别

    车牌识别的应用场景随处可见 xff1a 高速公路上超速抓拍 小区门口关卡 车库入口关卡 xff0c 甚至出现在车载设备上 它的工作原理大致这样 xff1a 使用摄像头充当 眼睛 xff0c 使用openCV与深度学习充当 大脑 实时车牌识别
  • FFmpeg音频处理——音频混合、拼接、剪切、转码

    接触FFmpeg有一段时间了 xff0c 它是音视频开发的开源库 xff0c 几乎其他所有播放器 直播平台都基于FFmpeg进行二次开发 本篇文章来总结下采用FFmpeg进行音频处理 xff1a 音频混合 音频剪切 音频拼接与音频转码 采用
  • Android三种方式截取任意界面屏幕

    一 使用MediaProjectionManager Android5 0之后 xff0c 开放截取屏幕的API xff0c 也就是利用MediaProjectionManager创建VirtualDisplay xff0c 传入与Imag
  • ijkplayer基于rtsp直播延时的深度优化

    现在ijkPlayer是许多播放器 直播平台的首选 xff0c 相信很多开发者都接触过ijkPlayer xff0c 无论是Android工程师还是iOS工程师 我曾经在Github上的ijkPlayer开源项目上提问过 xff1a 视频流
  • C++ 程序编译过程

    前言 C语言的编译链接过程要把我们编写的一个c程序 xff08 源代码 xff09 转换成可以在硬件上运行的程序 xff08 可执行代码 xff09 xff0c 需要进行编译和链接 编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程
  • 自旋锁实现机理 spin_lock

    自旋锁的概念 自旋锁 xff08 spin lock xff09 是一种典型的对临界资源进行互斥访问的手段 xff0c 它是基于系统原子操作为基础 xff0c 自旋锁最多只能被一个可执行线程持有 xff0c 如果一个执行线程试图获得一个被已
  • 数据结构:图之DFS与BFS的复杂度分析

    BFS的复杂度分析 BFS是一种借用队列来存储的过程 xff0c 分层查找 xff0c 优先考虑距离出发点近的点 无论是在邻接表还是邻接矩阵中存储 xff0c 都需要借助一个辅助队列 xff0c v个顶点均需入队 xff0c 最坏的情况下
  • python中的os.path.dirname(__file__)的使用

    os path dirname file 返回脚本的路径 xff0c 但是需要注意一下几点 1 必须是实际存在的 py文件 xff0c 如果在命令行执行 xff0c 则会引发异常NameError name 39 file 39 is no
  • 北斗模块学习之初

    BD定义 xff1a 北斗卫星导航系统 xff08 BeiDou xff08 COMPASS xff09 NavigationSatellite System xff09 是中国正在实施的自主发展 独立运行的全球卫星导航系统 系统建设目标是