
卫星导航介绍和实现代码
文章平均质量分 83
专栏主要包含:
1、GPS应用程序设计
2、RTKLIB
枯荣有常
取法乎上,仅得其中;取法乎中,仅得其下!
展开
-
VS中利用RTKLIB解码库解析RTCM差分数据!
一、编译源码:首先按照链接,配置rtklib库源码于VS中:RTKLIB源码——如何在VS2017中配置、调试二、编译遇到问题:1、错误 C1083 无法打开包括文件: “rtklib.h”: No such file or directory test_RTCM 解决办法:由于,与接收机相关的代码位于rcv文件夹内,源代码中,无法找到“rtklib.h”头文件,因此,需要与接收机相关的源代码(即rcv内的每一个.c文件)都需要找到“rtklib.h”头文件...原创 2021-03-01 19:39:27 · 5525 阅读 · 5 评论 -
VS中读取NMEA数据进行定位精度分析
NMEA数据为Ucenter采集,通过读取NMEA数据,求出定位精度!实现代码如下:其中,rtklib.h 和 rtkcmn.c 直接从SRC文件夹中添加不需要修改!main.c 和 solution.c 代码如下:main.c 代码如下:// main.c#define _CRT_SECURE_NO_WARNINGS#include "rtklib.h"#define MAX 1024 int main() { //文件路径 FILE *fp; char b..原创 2020-10-27 16:55:53 · 1872 阅读 · 2 评论 -
软件接收机介绍
GNSS发展趋势:1、从GPS时代转向GNSS发展时代;2、卫星导航与无线通信之间的相互融合;3、应用产品为主转向服务为主;一个完整的导航信号接收处理由以下几部分构成:天线;射频;信号处理;应用处理/导航处理及授时处理;用户界面;一、传统的GNSS接收机架构:二、GNSS软件接收机架构图:典型的软件接收机将数字中频后的处理用软件代替原来的硬件/ASIC;软件接收机也需要硬件,任何软件都需要硬件作为载体;软件接收机...原创 2020-09-16 12:06:26 · 3514 阅读 · 1 评论 -
与RTKLIB相关的文献&低成本接收机&智能手机相关
本文章汇集了:与RTKLIB相关的论文、期刊;包含:以RTKLIB为框架进行二次开发; 以RTKLIB为模型验证定位精度等;一、RTK 定位 :二、PPP定位 :三、嵌入式相关:原创 2020-08-27 16:21:09 · 1751 阅读 · 0 评论 -
精密单点定位/PPP软件GAMP学习之一
一、基础知识1、《多系统GNSS非差非组合精密单点定位相关理论和方法研究》周锋 博士论文2、3、4、二、常见的术语缩写APC Antenna Phase Center 天线相位中心 CCL Carrier-to-Code Leveling 相位平滑伪距 CoM Center of Mass 质量中心 DCB Differential Code Bias 差分码偏差 GF Geometry-Free 几何.原创 2020-08-24 18:40:19 · 18111 阅读 · 9 评论 -
GNSS观测值质量分析必备基础知识
一、观测值随机模型用于描述观测值与未知参数之间关系的模型称为函数模型或数学模型;而描述观测值本身统计特性的模型称为随机模型,主要通过一个适当的协方差矩阵来定义。随机模型分类:详见参考3等权随机模型 卫星高度角随机模型 信噪比随机模型 基于验后残差的随机模型1、等权随机模型 :相对定位,认为观测值精度相等,双差中测量噪声,方差-协方差矩阵为:2、高度角随机模型:利用卫星高度角为变量的函数模型对观测量的方差进行估计:其中Elev为高度角,函数/f通常有原创 2020-08-06 18:12:17 · 31679 阅读 · 8 评论 -
RTKLIB相对定位处理流程之二(postpos/后处理)
本博文以单GPS系统为例,对相对定位进行一个概括描述所用数据来自Curtin GNSS Research Centre;取基站CUT00的两台接收机的数据,进行零基线分析。一、相对定位处理流程二、定位模式剖析三、...原创 2020-07-17 17:33:34 · 7110 阅读 · 1 评论 -
RTKLIB源码&相关知识点转载网络&开源接收机&捕获跟踪
一、源码解析:1、GPS从入门到放弃(二十六) --- RTKLIB函数解析2、3、二、GNSS知识点逐个突破:1、GNSS2、3、原创 2020-09-11 15:03:30 · 1705 阅读 · 1 评论 -
卫星导航定位误差之多路径&地球自转&相位缠绕&相位中心误差&地球潮汐
一、多路径 在GNSS测量中,被测站附近的反射物所反射的卫星信号(反射波)如果进入接收机天线,就将和直接来自卫星的信号(直射波)产生干涉,从而使观测值偏离真值,产生所谓的“多路径误差”。这种由于多路径的信号传播所引起的干涉时延效应被称做多路径效应。1、反射波对直射波/信号的影响 实际测量中,GNSS天线接收到的信号是直射波和反射波发生干涉后的组合信号。反射物可以是地面、山坡和测站附近的建筑物等。现以地面为例来加以说明。若接收天线同时收到了直接来自卫星的信号S和经地面反...原创 2020-07-03 12:08:32 · 12240 阅读 · 4 评论 -
卫星导航定位误差之电离层、对流层
一、电离层 电离层是高度在60~1000KM的大气层,由于太阳紫外线、γ射线等光线的照射导致中性分子被电离,产生正负离子,形成了电离层区域。导致电磁波信号的传播速度发生变化,即产生电离层延迟。 电磁波在电离层中传播的相速度(单一频率的电磁波的相位的传播速度)Vp与电离层中的相折射率np之间有下列关系:式中,c为真空中的光速。而相折射率np可表示为:Ne:电子密度,即单位体积中所含的电子数,常用电子数/m3或电子数/cm3来表示;m:电子的质量,m=9.1...原创 2020-07-01 18:52:34 · 29345 阅读 · 4 评论 -
阅读RTKLIB源码之必读资料
手中有一份RTKLIB源码,BIN文件,可以进行二次开发,也可以以RTKLIB的处理结果当作参考,优化自己的算法……其实要做的东西很多;根据经验,在熟悉RTKLIB BIN文件的使用之后,对于源码的阅读,有几篇官方和较好的文献推荐给大家!1、RTKLIB MANUAL这是手册,非常详细;如何使用BIN文件,如何进行一些细节的设置等;同时也介绍了程序中关于定位相关的程序的算法参考。建议熟读于心。2、Development of the low-cost RTK-GPS recei...原创 2020-06-30 12:04:22 · 3048 阅读 · 1 评论 -
相对定位中整周模糊度确定方法
一、静态相对定位1、待定参数法-经典方法(1)取整法(2)置信区间法 XNi为模糊度的实数解 mXNi=s0(QNiNi)1/2为该参数的中误差 置信区间为[XNi- b·mXNi,XNi+ b·mXNi] b= xt(f,α/2),根据自由度(f=n-u)和置信水平(1-α),从t分布的数值表中查取。 如: f=2500,1-α=99.9%, b =3.28 整数解在置信区间之内。(3)模糊函数法2、整数解 流程如下:(...原创 2020-06-24 15:43:28 · 10393 阅读 · 3 评论 -
GPS导航电文
一、导航电文 导航电文是由GPS卫星向用户播发的一组反映卫星在空间的位置、卫星的工作状态、卫星钟的修正参数、电离层延迟修正参数等重要数据的二进制代码,也称数据码(D码)。它是用户利用GPS进行导航定位时一组必不可少的数据。导航电文的传输速率为50bit/s,以“帧”为单位向外发送。 每帧的长度为1500bit,播发完一个主帧需30s。一个主帧包括5个子帧。每个子帧均包含300bit,播发时间为6s。每个子帧又可分为10个字,每个字都由30bit组成。其中第四、五两个子帧各有25...原创 2020-06-23 12:08:26 · 9492 阅读 · 0 评论 -
Rinex文件格式中知识点&卫星导航知识点
一、观测数据1、观测值其中观测值(伪距、载波相位)的格式为:m( F14. 3, I1, I1) 表达意思:这一行的内容从第 1 列开始依次是宽度为14位、小数点后有3位的单精度浮点数、宽度为 1 的整型、宽度为 1 的整型。示例:C1=24465528.830;LLI整数值为4,二进制表示为:00000100b;S/N整数值为:5;L1=128567213.018;LLI整数值为4,二进制表示为:00000100b;S/N整数值为:5;其中对于LLI:原创 2020-06-16 16:30:07 · 8564 阅读 · 5 评论 -
卫星导航之如何画出常见的图形世界地图、多路径、天空图等
一、世界地图1、采用matlab自带函数:worldmap和geoshowclear;clc;close all;ax = worldmap('world');setm(ax,'ParallelLabel','off');setm(ax,'MeridianLabel','off');setm(ax, 'Origin', [0 0]);land = shaperead('landareas', 'UseGeoCoords', true);% geoshow(ax, land, 'Face原创 2020-06-13 11:21:06 · 3934 阅读 · 0 评论 -
Rinex biography and Introduction for version 2
只放英文,原汁原味!RINEX: The Receiver Independent Exchange Format Version 2一、 THE PHILOSOPHY OF RINEXRinex格式起源于一个项目,需要将不同接收机的数据汇总归类,以方便处理:一般Rinex格式数据包括:载波相位、伪距、信号观测时间。The first proposal for the "Receiver Independent Exchange Format" RINEX hasbeen dev.原创 2020-06-09 17:00:19 · 785 阅读 · 0 评论 -
卫星导航中测距码和载波相位
GNSS用来定位有两个前提:卫星位置的确定;星站距离的确定;本质是确定时间差!一、测距码/伪距:以GPS的L1频点的C/A码为例:周期为1ms,长度为300KM;码片长度为300m;优点:没有模糊度,缺点:精度低;测距原理:接收机根据自身的钟在ts时刻所接收到卫星在ts时刻所发送信号的相位;接收机根据自身的钟在ts时刻复制信号的相位;伪距推导方式1:二、载波相位测量/载波测距:载波相位测量: 载波测距:..原创 2020-06-08 15:52:16 · 10177 阅读 · 0 评论 -
关于卫星导航及RTKLIB GUI、手册、代码解释比较好的网站介绍!
一、关于RTKLIB GUI、CMD1、RTKLIB数据处理及实验步骤 主要是讲解RKPOST如何使用,对于.conf讲解的比较全面!2、RTKPLOT的用法 3、RTKNAVI模块的使用要点 4、RTKLIB:自定义输入配置文件 5、通过更改(AR lock count and elevation mask)设置提高RTKLIB解算性能 二、卫星导航开源代码、产品下载1、GNSS与大地测量领域在线资源获取地址 2、三、使用RTKLIB时,一些技巧:1、r..原创 2020-06-06 17:10:34 · 1933 阅读 · 1 评论 -
RTKLIB源码调试.trace文件解析&.stat文件解析
.trace文件是调试文件,帮助用户在程序、输入数据时,进行分析的一个很好的提示!一、设置trace/debug 1-5在Visual Studio中修改、调试代码时,如下设置:sopt.trace = 5; /* debug trace level (0:off,1-5:debug) */单基站、移动站等数据作为输入时,.trace文件的生成是:/* execute processing session -------------------------------...原创 2020-06-03 18:34:28 · 8631 阅读 · 2 评论 -
GNSS中多频观测值的组合形式
以GPS为例,L1、L2、L5三个频点,为1575.42,1227.60,1176.45MHZ;对应波长为:1 光速=299792458 米/秒(米每秒)λ1=c/L1= 0.190293672798365≈19厘米;λ2=c/L2= 0.244210213424568≈24.4厘米;λ5=c/L5= 0.254828048790854≈25.5厘米;f1:f2:f3=(1/λ1):(1/λ2):(1/λ5)=154:120:115;一、无电离层组合模式/Iono-free/IF:原创 2020-06-02 16:17:57 · 11580 阅读 · 4 评论 -
RTKLIB 手册解读及代码调试知识总结目录
本目录主要是对 RTKLIB Manual中关于GUI的使用、开源代码定位所用的模型以及EKF,严格按照手册的解释,并添加了一些自己的见解;同时,还包括如何在Visual Studio 中进行调试、如何进行单点定位、差分定位,做了详尽的说明!希望对大家入门学习卫星导航有一定的帮助,有任何建议请留言!欢迎提出任何问题,点赞、留言均可!一、RTKLIB Manual的使用:1、RTKLIB MANUAL 之 Instructions 第一部分2、RTKLIB MANUAL 之 ...原创 2020-06-02 14:33:14 · 4230 阅读 · 6 评论 -
RTKLIB MANUAL 之 Instructions 第二部分
3.6 Convert Receiver Raw Data to RINEX with RTKCONV利用RTKCONV将接收机原始数据转换为RINEX格式:RTKCONV, which translates receiver raw, RTCM and BINEX messages to RINEX OBS (observation data),RINEX NAV (GNSS navigation messages).如果选择Format为Auto,则RTKCONV根据如下进行转换:原创 2020-06-01 18:05:17 · 7018 阅读 · 2 评论 -
RTKLIB MANUAL 之 Instructions 第一部分
本部分用RTKLIB version 2.4.2为例进行介绍:3.1 文件目录介绍3.1.1 首先去官网下载RTKLIB压缩包:RTKLIB 开源代码之科普&快速入门&网络资料&产品/数据下载;解析、可以看到如下的文件目录结构:要执行GUI AP,在<安装目录> \ rtklib_ <ver> \ bin中查找对应的执行文件;要执行CUI AP,请在命令路径中添加<install dir> \ rtklib_ <v..原创 2020-05-28 18:00:19 · 10611 阅读 · 1 评论 -
RTKLIB Manual 之 Appendix C API References
展示RTKLIB包含的函数以及同类函数;其中,结构体的定义在头文件/rtklib.h中一、卫星号/卫星系统转换函数: Satellite number/system functionsSatellite number/system functionssatno() //Satellite system and PRN/slot number to satellite number rtkcmn.csatsys() //Satellite number to satellite sy..原创 2020-05-28 15:34:27 · 2752 阅读 · 0 评论 -
RTKLIB Manual 之 Appendix B File Formats
B.1 Positioning Solution File 定位结果文件可以由RTKNAVI或RTKPOST得到,文件内部通过行、节进行分隔,共同构成整个文件。文件内部的格式如下所示:1、文件头:文件头中每行以“%”开始,每行包括相关的处理信息:% program : RTKPOST ver.2.4.2 程序处理版本% inp file : E:\专业资料\……\……\chdu1000.15o 输入文件路径% inp file : E:\专业资料\……\……\joha1000.15...原创 2020-05-28 12:05:53 · 4240 阅读 · 3 评论 -
RTKLIB 开源代码之科普&快速入门&网络资料&产品/数据下载
对于新手而言,RTKLIB本身的功能完全能够满足你们的需求;而且最好的参考资料就是RTKLIB MANUAL,介绍的很全,很细,包括怎么使用,每个模块的功能甚至对于代码所用的模型都有介绍;但是对于英文差或者是没有太多GNSS基础的人士来说,无疑Manual并不是一个好的参考资料;我在网上查找RTKLIB相关的资料时,同时也发现了一些科普性质的网页,在此推荐给大家。一、demo首先,作者给出了一个demo,教给大家如何使用RTKLIB进行RTK定位,包括配置文件、数据等;RTK...原创 2020-05-23 16:25:13 · 18297 阅读 · 5 评论 -
matlab运行RTKDEMO几个小函数
一、matlab函数:1、datenum() :将时间点转换为0000年1月0日到现在的天数!其中起点为:0000年1月0日例如:K>> t0=datenum(2005,4,2,0,0,0)t0 = 732404K>> t0=datenum(2005,4,2,12,0,0)t0 = 732404.5K>> t0=datenum(2005,4,2)t0 = 7324042、uni...原创 2020-05-21 18:05:33 · 1724 阅读 · 2 评论 -
RTKLIB Manual 之 AppendixD Files and Messages
D.1Supported RINEX Filesrtklib支持的rinex版本和文件:*表示只读;-表示不支持;D.2 Supported Receiver Messages支持RTCM2、RTCM3、BINEX、和接收机特有的数据类型,如下表所示:(仅展示部分信息)D.3 Supported Signal IDs/Observation TypesRTKLIB支持的信号IDs和信号类型如下表所示:1、GPS2、GLONASS3...原创 2020-05-20 14:51:48 · 1704 阅读 · 1 评论 -
RTKLIB Manual之AppendixE Models and Algorithms解读
缩略语:光速/m/s;L频段伪距/m;L频段载波相位/cycleL频段载波相位/m;导航信号发送至接收机时间/秒——即:接收机收到信号的时间卫星发送导航信号时间/s;卫星和接收机天线之间的几何距离/m;卫星和接收机天线之间的伪距率/m/s;在时间t时,ECEF下卫星位置/m;在时间t时,ECEF下卫星速度/m/s;在时间t时,ECEF下接收机天线位置/m;在时间t时,ECEF下接收机天线速度/m/s;ECEF下,接收机到卫星的单位向量/LOS;当地坐.原创 2020-05-18 12:05:31 · 11173 阅读 · 3 评论 -
RTKLIB单点定位处理流程之一(postpos/后处理)
处理参数设置:主要是三个结构体: prcopt_t opt = prcopt_default; //processing options solopt_t sopt = solopt_default; //solution options filopt_t fopt = { 0 }; //file options#include "rtklib.h"int main() { char* infile[] = { {"移动站观测数据"}, {"移动站星历...原创 2020-05-12 12:50:29 · 26045 阅读 · 16 评论 -
手机双频GNSS+RTKLIB解算定位分析
BCM47755芯片参考链接:技术解读:小米8的双频GPS到底有多牛?小米8的双频GPS有多强?我们找来了三款顶级旗舰一起对比测试A first look at the Broadcom BCM47755 dual-frequency receiver原创 2020-05-08 17:45:57 · 3529 阅读 · 4 评论 -
rtklib中常用的几个函数&必须注意函数
1、strstr()C 库函数 char *strstr(const char *haystack, const char *needle) 在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 '\0'。参考:C 库函数 - strstr()2、3、4、5、6、7、8、9、10、...原创 2020-03-13 11:21:42 · 8503 阅读 · 1 评论 -
大地高、海拔高 & 地心纬度、大地纬度/地理纬度
大地测量学模型所表示的地球表面,所有点的当地重力矢量都垂直于该表面,即一个“等位面”;这种形状称为大地水准面!但是由于表面及其不规则,见如下图:真实的地球据说如下:地球真实不是一个正球体,而是一个极半径略短、赤道半径略长,北极略突出、南极略扁平,近于梨形的椭球体鉴于地球重力表面的不规则,不能用作确定空间坐标的表面,因此,使用了一种更接近于大地水准面模型的几何学形状——椭球...原创 2020-03-07 12:06:42 · 14235 阅读 · 0 评论 -
当有跳秒发生时,卫星导航接收机应该怎么办?
一、对于实时定位而言,需要满足两个条件才能进行定位:1、同时观测到四颗卫星以上;2、卫星到接收机的距离,距离在接收机上通过时间差体现(Δt=(接收机UTC+leap)-卫星信号发射时间)二、接收机内部怎么得到时间差Δt?我对于接收机实时定位中伪距的理解是:Δt=t2-t1t1=就是跟踪、捕获后,解析出导航信号编排的发射时间t2=当前接收机的时间(UTC+leap)BD/G...原创 2020-03-06 18:29:52 · 2481 阅读 · 0 评论 -
Ntrip协议
随着 GPRS、CDMA、3G 技术的发展,高传输率、高宽带、覆盖范围广的无线传输通讯方式成为 GPS 实时差分数据的的一种方式。国际上,通常采用 Ntrip(NetWorked Transport of RTCM via Internet Protocol)协议来实现 CORS(Continues Operation Reference System)观测站和用户之间差分数据的...原创 2020-03-06 16:02:29 · 7564 阅读 · 0 评论 -
GNSS整周模糊度相关知识
1、载波单差、双差、三差:参考: GPS基线解算的基本理论与软件实现_赵勇二、三、四、五、六、...原创 2020-03-05 15:09:21 · 3436 阅读 · 0 评论 -
easy_GPS开源代码归整!
1、最小二乘求解单点定位:当矩阵G可逆时,如下两种求解方式一致!G*Δx=b与Δx=inv(G^G)*G^b代码出现在:2、...原创 2020-02-26 15:15:06 · 1676 阅读 · 1 评论 -
RTKLIB源码——如何在VS2017中配置、调试
一、 准备源码:1、进入GITHUB,打开网页:https://github.com/tomojitakasu/RTKLIB/tree/rtklib_2.4.3进行clone or download,下载到当地文件夹,找到子文件夹SRC,里面存放的是实现卫星定位(SPP、RTD、RTK、PPP、PPP-AR)的所有源码;二、Visual Studio中新建工程: 1...原创 2019-08-28 11:15:37 · 12065 阅读 · 15 评论 -
卫星导航开源代码汇总
一、RTKLIB1、github:https://github.com/rtklibexplorer/RTKLIBhttp://rtkexplorer.com/2、RTKLIB源码之一:单点定位解析https://www.zybuluo.com/taqikema/note/1101465#matmul3、从零开始解读RTKLIB:https://blog.csdn.ne...原创 2019-08-22 11:02:57 · 5159 阅读 · 2 评论