卫星导航定位算法与程序设计_单点定位程序流程培训讲学
卫星导航定位算法与程序设计_常用参数和公式讲解
《卫星导航定位算法与程序设计》课程常用参数和常用公式一览编制人:刘晖最后更新:2010年11月26日1、常用参考框架的几何和物理参数1.1 ITRFyy 主要的大地测量常数长半轴a=6.3781366×106m;地球引力常数(含大气层)GM=3.986004418×1014 m3/s2;地球动力因子J2=1.0826359×10-3;地球自转角速度ω=7.292115×10-5 rad/s。
扁率1/f =298.25642;椭球正常重力位U0=6.26368560×107 m2/s2;γ=9.7803278 m/s2;赤道正常重力e光速c=2.99792458×108 m/s。
1.2 GTRF主要的大地测量常数长半轴a=6.37813655×106 m;地球引力常数GM=3.986004415×1014 m3/s2;地球动力因子J2=1.0826267×10-3;扁率1/f =298.25769。
1.3 WGS84(Gwwww)主要的大地测量常数长半轴a=6.3781370×106 m;地球引力常数(含大气层)GM=3.986004418×1014 m3/s2;地球自转角速度ω=7.292115×10-5 rad/s。
扁率1/f =298.257223563;椭球正常重力位U0=62636860.8497 m2/s2;γ=9.7803267714m/s2;赤道正常重力e短半轴b=6356752.3142m;引力位二阶谐系数2,0C=-484.16685×10-6;第一偏心率平方2e=0.00669437999013;e'=0.006739496742227。
第二偏心率平方21.4 PZ90 主要的大地测量常数长半轴a=6.378136×106m;地球引力常数GM=3.9860044×1014 m3/s2;fM=3.5×108 m3/s2;地球大气引力常数a地球自转角速度ω=7.292115×10-5 rad/s。
卫星导航定位算法与程序设计(2014) - 第1课
12
软件开发前的准备工作
• 问题定义
– 必须弄清楚你想要解决的问题是什么 – 本课程的问题定义:实现事后处理的GPS标准单点定 位、测速的软件。
13
准备工作
• 需求分析
– 需求详细描述了一个软件系统需要解决的问题
• 明确的需求可以保证是由用户而不是程序员决定系统的功能。 • 明确的需求也可以避免引起争议。 • IBM、GTE、TRW 的数据表明.修正在总体结构阶段发现的 需求错误,将比当时就发现并 修正的成本要高出 5 倍,如果 是在编码阶段,要高出 10 倍,在单元或系统测试阶段,高 20 倍, 在验收测试阶段,高 50 倍,而在维护阶段,竟要比原来 高出多达 100 倍! • 充分进行需求分析是一个项目成功的关键
时间与坐标转换算法 卫星位置与速度计算方法 误差改正算法 。。。。。。
掌握C/C++程序设计方法
项目设计方法 数据结构 编码方法 调试方法
3
课程内容①
软件创建方法与基本过程 C/C++程序设计方法:开发工具,编译,调试 C/C++编码标准 基本算法
5
课程安排①
讲 课 内 容 及 时 数 日/月 至 日/月 周 次 学 时 练习内容及时数 习题课 等 课堂 时数 课外 时数 实验(上机)内容及时数 课堂实习(实验、上 机)内容 课堂 时数 (教 材 章 节 、 名 称)
课 外 时 数
17/1021/10 24/1028/10 31/104/11 7/1111/11 14/1118/11 21/1125/11 28/112/12 5/129/12
有关时间的算法 有关坐标的算法 矩阵运算
卫星导航定位算法与程序设计_单点定位程序流程
卫星导航定位算法与程序设计_单点定位程序流程(总5页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.MarchGPS 单点定位程序流程一、计算流程1、 读取RINEX N 文件,将所有星历放到一个列表(数组)ephlst 中。
2、 读取RINEX O 文件,读取一个历元观测值epoch3、数据预处理根据epoch 中的卫星号和历元时刻R T 在ephlst 查找相应的卫星星历, 准则3600.0R T TOE -<s 。
4、程序初始化,置测站概略位置为r X ,接收机钟差初值r dt 。
000r r r X X Y X cdt Z cdt ⎡⎤⎢⎥⎡⎤⎢⎥==⎢⎥⎢⎥⎣⎦⎢⎥⎣⎦第一次迭代,取000000X ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦ 5、 选择epoch 中一颗卫星i S 观测值,设其伪距为i S ρ 6、计算卫星i S 的信号发射的概略时刻i s T 方法如下:a) 卫星i S 的信号传播时间:0/i i i S S S r c dt dt τρ=-+;i S dt 为卫星钟差,需要进行相对论改正;b) 卫星i S 的信号发射时刻:0i i S S R T T τ=-; c) 卫星i S 在i S T 时刻的位置()()i i iiiS iT S S S S S T X T X Y Z =;d) 对卫星位置()i i S S X T 进行地球自转改正,得到()ii S S w X T ; e) 根据()i i S S w X T 和测站概略位置r X 计算卫星和测站的几何距离i S Rf) 根据几何距离i S R 求信号传播时间1/i i S S R c τ=。
g) 如果10710i i S S ττ--< ,则退出迭代。
11i i S S R T T τ=-即为卫星信号发射时刻。
h) 否则01i i S S ττ= ,回带到b)进行迭代。
卫星导航定位算法与程序设计_第16课_单点定位数学模型与程序实现
P2 ( X s2 X )2 (Ys2 Y )2 ( Z s2 Z )2 atmos 2 dt dT 2 P3 ( X s3 X )2 (Ys3 Y )2 ( Z s3 Z )2 atmos3 dt dT 3 P4 ( X s4 X )2 (Ys4 Y )2 ( Z s4 Z )2 atmos 4 dt dT 4
m1 n1 m2 n2 mn nn
1 dT 1 atmos1 P1 R0 1 dX 2 2 dY 2 2 R 1 P dT atmos ;x ;L 0 dZ n n n n 1 dt P dT atmos R0 2 Dx m0 ( AT PA) 1 0
卫星导航定位算法与程序设计
主讲: 刘晖 副教授
武汉大学卫星导航定位技术研究中心
单点定位算法的课程路线
关于单点定位数据 模型回顾
矩阵函数
单点定位总体设计
GNSS中的协议
时间算法 坐标算法
编码实现各个模块
文件I/O 卫星位置计算 各项改正计算
联合调试 提交成果
第十六讲 单点定位数学模型 与程序设计
内容
x ( AT PA) 1 AT PL
VTV n4
(X Y
Z )T ( X 0 Y0 Z0 )T (dX
dY
dZ )T
数学模型——小节
已知: 伪距观测值P,卫星坐标( X S , YS , Z S ),卫星钟差( dT )
待求: 测站坐标( X , Y , Z ),接收机钟差(dt )
数学形式 特点
卫星导航定位算法与程序设计_单点定位程序流程
GPS 单点定位程序流程、计算流程读取RINEX N 文件,将所有星历放到一个列表(数组) ephlst 中。
数据预处理根据epoch 中的卫星号和历元时刻T R 在ephlst 查找相应的卫星星历,1、 2、 读取RINEX 以件,读取一个历元观测值epoch3、 4、 准则T R TOE3600.0s 。
程序初始化,置测站概略位置为X r ,接收机钟差初值dt r 。
X oX 0 X YdtZ 第一次迭代,取X 。
o cdt r 00 05、选择epoch 中一颗卫星S i 观测值,设其伪距为 S6、计算卫星§的信号发射的概略时刻T*方法如下:a )卫星S i 的信号传播时间:0S Si / c dt r dt Si ;dt Si 为卫星钟差,需要进行相对论改正;b )卫星S i 的信号发射时刻:T S T RSi;c )卫星S i在T Si 时刻的位置X ST SiX SY SiZ Sid )对卫星位置X Si T Si 进行地球自转改正,得到Xje )根据X W i T Si 和测站概略位置X r 计算卫星和测站的几何距离 R Sf )根据几何距离R Si 求信号传播时间IS R S /cg ) 如果/ o S 10 7,则退出迭代。
T 1SiT R :即为卫星信号发射时刻h )否则0siSi,回带到b )进行迭代。
7、 求卫星§方向余弦V V siVW S77Ss入入 I S 丫丫 sZZ s At o'S —,b iS ,炬’S,b ; 1R iR S R S8、 求卫星S 在观测方程式中的余数项:其中:Si ——卫星S j 的伪距观测值;R Si ——卫星S 到测站的几何距离;c dt S 以米表示的卫星S i 的钟差;d trop ——对流层延迟改正量,单位米,用简化的hopfield 模型计算;diono ——电离层延迟改正量,单位米,采用无电离层伪距组合观测值时,此项为 0;D RTCM ——对伪距的差分改正值,此处为 0;10、 重复第6— 9步,计算每颗卫星的系数和余数项11、 将所有卫星的系数组成误差方程,以x,y,z,cdt r为未知参数进行求解,形式应该是:AX Lb S 0 t 1So 玻。
卫星导航定位算法与程序设计_常用参数和公式讲解
卫星导航定位算法与程序设计_常用参数和公式讲解卫星导航定位算法是通过接收多颗卫星发出的信号来确定接收器的位置的算法。
常用的卫星导航系统有美国的全球定位系统(GPS)、俄罗斯的格洛纳斯系统和欧洲的伽利略系统等。
下面将讲解卫星导航定位算法中的常用参数和公式。
1.GPS系统参数GPS系统中的常用参数包括信号传播速度、卫星时钟频率、卫星位置、接收机时钟误差等。
信号传播速度是指电磁波在真空中传播的速度,约为3×10^8米/秒。
卫星时钟频率是指卫星发射信号的频率,它与卫星位置和传播速度有关。
卫星位置是指卫星在天空中的位置坐标,它是通过星历数据确定的。
接收机时钟误差是指接收器时钟与它所处的卫星系统时钟之间的差异。
2.GPS接收机参数GPS接收机中的常用参数包括接收机观测量、接收机时钟和接收机位置等。
接收机观测量是指接收机接收到的卫星信号的信息,包括卫星信号的到达时间、信号强度等。
接收机时钟是指接收机内部的时钟,它用于测量到达时间和计算位置信息。
接收机位置是指接收机的地理位置坐标,它是待求解的定位参数,通过卫星信号的到达时间和卫星位置计算得出。
3.定位算法卫星导航定位算法主要包括距离测量和位置计算两个步骤。
距离测量是通过测量接收机与卫星之间的距离,从而确定接收机与卫星的空间几何关系。
常用的距离测量方法有伪距测量和载波相位测量两种。
伪距测量是通过测量卫星信号的传播时间来计算距离,利用的是卫星信号中的导航消息和接收机观测量。
载波相位测量是通过测量卫星信号的相位差来计算距离,具有更高的精度,但需要更复杂的算法和硬件支持。
位置计算是根据距离测量结果和卫星位置信息,利用三角测量原理来计算接收机的位置。
常用的位置计算方法有单点定位和差分定位两种。
单点定位是通过接收机与至少四颗卫星之间的距离测量结果,利用三边测量原理计算接收机的位置。
差分定位是在单点定位的基础上,利用额外的参考站测量数据对接收机的位置进行修正,提高定位精度。
GPS导航定位原理培训讲义
Slide 12
伪距定位观测方程
测码伪距观测方程的常用形式如下:
X s X 2 Ys Y 2 Zs Z 2 1/2 cti
~ j ji I g (t) jiT (t)
式中j为卫星数,j=1,2,3…。
Slide 2
GPS定位方法分类
按用户接收机作业时所处的状态划分:
(1)静态定位:在定位过程中,接收机位置 静止不动,是固定的。静止状态只是相对的, 在卫星大地测量中的静止状态通常是指待定点 的位置相对其周围点位没有发生变化,或变化 极其缓慢,以致在观测期内可以忽略。
(2)动态定位:在定位过程中,接收机天线 处于运动状态。
j k
t
k
j k
t
k
k
t
k
Slide 17
载波相位测量观测方程
通常的相位测量或 相位差测量只是测 Sj(t0)
出一周以内的相位 0 值,实际测量中,
如果对整周进行计
数,则自某一初始
N0
取样时刻(t0)以 后就可以取得连续
的相位观测值。
k
Sj(ti) i
Int(φ) N0
Slide 18
载波相位测量观测方程
Slide 28
第三部分 GPS导航定位原理
伪距测量 载波相位测量 绝对定位和相对定位 导航原理与方法 GPS测量误差来源
Slide 29
绝对定位方法概述
绝对定位也称单点定位,是指在协议地球坐 标系中,直接确定观测站相对于坐标原点( 地球质心)绝对坐标的一种方法。 绝对定位的基本原理:以GPS卫星和用户接 收机天线之间的距离(或距离差)观测量为 基础,根据已知的卫星瞬时坐标,来确定接 收机天线所对应的点位,即观测站的位置。 GPS绝对定位方法的实质是测量学中的空间 距离后方交会。原则上观测站位于以3颗卫 星为球心,相应距离为半径的球与观测站所 在平面交线的交点上。
卫星导航定位算法与程序设计讲义
卫星导航定位算法与程序设计讲义导航定位是指通过卫星导航系统获取位置信息的过程。
在卫星导航系统中,定位算法和程序设计起着至关重要的作用。
本讲义将介绍卫星导航定位算法的基本原理和程序设计的要点。
一、卫星导航定位算法基本原理接收信号:接收器接收到卫星发射的信号,通过测量信号的到达时间来计算接收器与卫星之间的距离。
由于信号传播速度是已知的,所以可以通过测量时间的差异来计算距离。
伪距测量:伪距是指信号从卫星发射到接收器接收到的时间乘以光速。
接收器以测量接收信号的到达时间为基础,通过乘以光速得到信号传播的距离。
位置计算:通过接收到的多颗卫星的伪距测量结果,结合卫星的位置和钟差等信息,使用三角定位或者加权最小二乘法等方法来计算出接收器的位置。
二、卫星导航定位程序设计要点接收信号的处理:接收信号的处理包括信号接收和时间测量两个方面。
在接收信号的过程中,需要考虑信号的衰减和干扰等问题,可以通过信号处理算法来提高信号的质量。
时间测量可以使用硬件设备或者操作系统提供的时间戳功能来实现。
伪距测量的计算:伪距测量的计算需要根据接收到的信号和接收器的时钟同步信息来计算出信号传播的时间,并乘以光速得到伪距。
在计算过程中需要考虑钟差和多径干扰等因素,并使用滤波算法来提高测量的准确性。
位置计算的实现:位置计算的实现可以使用三角定位或者加权最小二乘法等方法。
在使用三角定位时,需要知道至少三颗卫星的位置信息和伪距测量结果。
在使用加权最小二乘法时,可以通过考虑误差权重来提高位置计算的精度。
三、总结卫星导航定位算法和程序设计是卫星导航系统的核心部分。
通过了解卫星导航定位算法的基本原理和程序设计的要点,可以更好地理解和实现卫星导航定位功能。
同时,还可以通过改进算法和程序设计来提高定位的准确性和稳定性。
GPS卫星定位坐标计算及程序设计
Ai X i li 0
(3-5)
对式(3-5)求解,便得到接收机地心坐标的唯一
解
X i Ai1li
4.程序设计
• 1、GPS时间转换程序 • 2、利用广播星历计算卫星坐标程序 • 3、地面点近似坐标计算程序
5.实例计算和精度分析
• 以2009年5月7日南京工业大学江浦校区控 制网20号控制点观测数据为例,来说明如 何利用该程序计算卫星坐标和地面点的近 似坐标。该数据利用华测GPS接收机观测, 观测时间为2小时。
• 3.新儒略日(Modified Julian Day-MJD):从儒略 日中减去2400000.5天来得到,给出的是从1858年11 月17日子夜开始的天数。特点是数值比儒略日小。
• 4.年积日(Day Of Year-DOY):从当前1月1日开始 的天数。
• 5.GPS时(GPS Time):以1980年1月6日子夜为起点, 用周数和周内秒数来表示,为GPS系统内部计时法。
2.3GPS卫星的信号
• 导航电文 导航电文是包含有关卫星的星历、卫星工作状态 时间系统、卫星钟运行状态、轨道摄动改正、大 气折射改正和C/A码捕获P码等导航信息的数据码 (或D码),是利用GPS进行定位的数据基础。 导航电文的内容包括遥测码(TLW)、转换码 (HOW)、第一数据块、第二数据块和第三数据块 5部分。
RINEX数据格式
目前,RINEX格式已成为各厂商、学校、研究单 位在编制软件时采用的标准输入格式。RINEX格式 是纯ASCII码文本文件,共包含4个文件:
(1)观测数据文件:ssssdddf.yyo (2)导航文件:ssssdddf.yyn (3)气象数据文件:ssssdddf.yym (4)GLONASS数据文件:ssssdddf.yyg 其中:ssss——4个字母的测站名;
卫星导航定位算法与程序设计_第16课_单点定位数学模型与程序实现
测站坐标( X ,Y , Z ),接收机钟差(dt)
因而至少需要同时观测4颗以上的卫星,才能同时 确定出所有的待定参数。
步误差的影响。
P c t
c (tR T s )
c ((tGPS dt) (T GPS dT ))
R
S
c (tGPS T GPS ) c dt c dT
R
S
R atmos dt dT
数学模型—观测方程(1)
测距码测距的观测方程
P R atmos dt dT
卫星信号于 “T”时刻发射
站星距离 = 信号传播时间 x 光速
Xll
Vl
GPS接收机于 “T + Δt”收到信号
11
数学模型—站星距离的测定
信号传播时间的测定:
保持卫星钟同接收机钟同步
卫星和接收机同时产生相同的信号
采用相关技术获得信号传播时间
卫星钟和接收机钟难以保持严格同步,用相关技
术获得的信号传播时间含有卫星钟和接收机钟同
内容
单点定位的数学模型(复习)
概述 单点定位的几何原理 数学模型
站星距离的测定 观测方程与误差方程 DOP及误差影响
观测值组合 程序流程设计 数据结构设计 课程实习
单点定位概述(1)
单独利用一台接收机确定待定点在地固坐 标系中绝对位置的方法
单点定位概述(2)
定位结果-与所用星历同属一坐标系的绝对坐标
P ( X s X )2 (Ys Y )2 (Zs Z )2 atmos dt dT
P:伪距观测值 R:站星真实几何距离 (X s ,Ys , Zs ):卫星坐标 (X ,Y , Z ):测站坐标
dt:接收机钟差 dT:卫星钟差 atmos:大气延迟误差
卫星导航定位算法与程序设计_单点定位程序流程
卫星导航定位算法与程序设计_单点定位程序流程单点定位是卫星导航中最基本的应用,其基本思路是通过接收多颗卫星发送的信号,计算出接收点的位置。
下面是单点定位的程序流程,包括信号接收、时间同步、伪距测量、卫星位置计算和接收点位置计算等过程。
1.信号接收首先,需要接收卫星发送的信号。
接收设备通常包括天线、前端放大器和接收机等部分。
天线用于接收来自卫星的信号,并将其转化为电信号。
前端放大器用于增强信号的强度。
接收机用于解调信号,并转化为数字信号。
2.时间同步接收到的信号包含了卫星发射时的时间信息。
根据信号传播的速度,可以计算信号传播的时间,从而获取卫星发送信号的时刻。
由于信号传播时间非常短(大约为纳秒级别),所以需要高精度的时钟和时间同步技术来确保准确性。
3.伪距测量根据接收到的时间信息,可以计算接收点到卫星的距离,称为伪距。
计算伪距需要考虑信号传播的时间以及信号在大气中的传播速度变化等因素。
此外,由于信号在传播过程中会受到噪声、多径效应等干扰,需要进行滤波和信号处理等技术来提高测量的准确性。
4.卫星位置计算卫星的位置信息是通过星历数据进行描述的。
星历数据包含了卫星的轨道参数、时刻信息等。
根据接收到的伪距数据,可以通过解算的方法计算出卫星的位置。
解算的方法有很多种,常用的有最小二乘法、扩展卡尔曼滤波等。
通过解算,可以得到每颗卫星的位置坐标。
5.接收点位置计算根据接收到多颗卫星的位置信息和伪距数据,可以通过三角测量的方法计算出接收点的位置坐标。
三角测量的原理是利用多个已知位置的点,通过测量到这些点的距离,计算出目标点的位置。
根据接收点到不同卫星的伪距数据,可以得到多个方程,通过求解这些方程可以计算出接收点的坐标。
6.坐标转换和精度提高计算出接收点的坐标后,可以进行坐标转换,将其转化为地理坐标或其他坐标系。
此外,由于测量误差和卫星位置误差等因素,单点定位的精度一般较低。
为了提高精度,可以采用差分定位、精密定位等方法。
卫星导航定位算法与程序设计_第4课_伪距单点定位数学模型
5% 50% 95% 分布
5cm 10cm 20cm 50cm 1m 2m 5m 10m 20m 50m 100m
引用
定位精度与用户需求的关系
精密 工程 监控
地壳 形变 工程 监控
精密 大地 定位
工与大 地定位
地理 信息 更新
地理 信息 更新
精密 交通 监控
交通 近海 自引导 监控 交通 导航
控制
步误差的影响。
P c t
c (tR T s )
c ((tGPS dt) (T GPS dT ))
R
S
c (tGPS T GPS ) c dt c dT
观测值类型
伪距测量 载波相位测量
年代
第四代
2006
第三代
2000
第二代
1990
第一代
GNSS定位技术的发展
当前热点
定位技术 -X
非差相位精密单点定位 (PPP)
网络RTK技术
伪距单点定位
广域差分定位 伪距差分定位
常规RTK 载波静态定位
绝对定位
100m
15m 5m
精度
相对定位
0.5m
0.010m 0.001m
单点定位的几何原理(318 )
R1
(
X
1 s
X
)2
(Ys1
Y
)2
(Zs1
Z
)2
R2
(
X
2 s
X
)2
(Ys2
Y
)2
(Zs2
Z )2
R3
(
X
3 s
X
)2
(Ys3
Y
)2
(Zs3
2024年卫星导航行业培训教程
数据处理算法及实现
卫星轨道计算
利用精密星历和广播星历,计算 卫星在指定时刻的位置和速度。
观测数据处理
对接收机观测数据进行处理,包 括伪距、载波相位等观测值的计
算和转换。
差分定位算法
利用差分技术,消除或减弱各种 误差影响,提高定位精度。
结果评估与精度分析
定位结果评估
通过与实际位置进行比较,评估定位结果的准确 性和可靠性。
单点定位和相对定位
02
差分定位
位置差分、伪距差分和载波相位差分
03
精密单点定位
基于非差或双差观测值的精密定位技术
卫星导航误差来源与处理
与卫星有关的误差:星历误 差、钟差和相对论效应等
与信号传播有关的误差:电 离层和对流层延迟等
与接收机有关的误差:天线 相位中心偏差和接收机钟差 等
误差处理方法:模型改正、 参数估计和滤波平滑等
电源管理设计
03
包括电源模块、电源管理芯片等,实现接收机的电源供应和电
源管理功能。
软件算法实现与优化
捕获算法
跟踪算法
通过快速搜索卫星信号的多普勒频移和码 相位,实现信号的初步定位和跟踪。
在捕获的基础上,通过闭环反馈控制,精 确跟踪卫星信号的多普勒频移和码相位, 保证导航数据的连续性和稳定性。
数据处理算法
系统优化改进策略探讨
性能优化
探讨如何提升卫星导航系统的定位精度、抗干扰能力、可用性等性 能指标。
技术创新
讨论卫星导航系统在新技术、新方法应用方面的创新策略,如人工 智能、大数据等。
运维管理改进
分析卫星导航系统运维管理中存在的问题,提出改进措施和建议,提 高系统运行稳定性和可靠性。
未来发展趋势预测及挑战应对
卫星导航定位算法与程序设计_常用参数和公式讲解
《卫星导航定位算法与程序设计》课程常用参数和常用公式一览编制人:刘晖最后更新:2010年11月26日1、常用参考框架的几何和物理参数1.1 ITRFyy 主要的大地测量常数长半轴a=6.3781366×106m;地球引力常数(含大气层)GM=3.986004418×1014 m3/s2;地球动力因子J2=1.0826359×10-3;地球自转角速度ω=7.292115×10-5 rad/s。
扁率1/f =298.25642;椭球正常重力位U0=6.26368560×107 m2/s2;γ=9.7803278 m/s2;赤道正常重力e光速c=2.99792458×108 m/s。
1.2 GTRF主要的大地测量常数长半轴a=6.37813655×106 m;地球引力常数GM=3.986004415×1014 m3/s2;地球动力因子J2=1.0826267×10-3;扁率1/f =298.25769。
1.3 WGS84(Gwwww)主要的大地测量常数长半轴a=6.3781370×106 m;地球引力常数(含大气层)GM=3.986004418×1014 m3/s2;地球自转角速度ω=7.292115×10-5 rad/s。
扁率1/f =298.257223563;椭球正常重力位U0=62636860.8497 m2/s2;γ=9.7803267714m/s2;赤道正常重力e短半轴b=6356752.3142m;引力位二阶谐系数2,0C=-484.16685×10-6;第一偏心率平方2e=0.00669437999013;e'=0.006739496742227。
第二偏心率平方21.4 PZ90 主要的大地测量常数长半轴a=6.378136×106m;地球引力常数GM=3.9860044×1014 m3/s2;fM=3.5×108 m3/s2;地球大气引力常数a地球自转角速度ω=7.292115×10-5 rad/s。
卫星导航定位算法与程序设计
卫星导航定位算法与程序设计卫星导航定位算法与程序设计主讲:刘晖副教授武汉大学卫星导航定位技术研究中心课程讲授次序中的位置建立起软件设计的宏观概念(战略层次); 巩固软件设计方法的知识; 训练从设计到实现的工作流程;软件设计相关编程语言相关掌握软件编程平台的使用(战术层次); 培养良好的编程习惯编程技巧的训练定位算法相关巩固卫星定位导航算法知识;软件设计和编程能力的实际应用;进一步了解卫星定位导航的发展第二讲软件工程方法概述内容软件工程方法概述概述传统方法――瀑布模型传统方法――瀑布模型面向对象的方法――快速原型法面向对象的方法――快速原型法两种方法的比较及其在软件开发中的作用传统方法软件设计概述面向对象的设计方法概述软件建模语言概述软件工程方法概述软件工程一般要经过需求分析、设计、编码、测试、运行维护等几个阶段传统的软件工程方法采用的是瀑布模型,即顺序模型现代软件工程一般采用面向对象的软件工程方法瀑布模型(线形顺序模型)线形顺序模型)定义阶段可行性研究与计划需求分析开发阶段维护阶段设计编码测试运行维护6按照传统瀑布模型开发软件的特点1.阶段间具有顺序性和依赖性。
1.阶段间具有顺序性和依赖性。
2.推迟实现的观点。
2.推迟实现的观点。
3.每个阶段必须完成规定的文档;3.每个阶段必须完成规定的文档;每个阶段结束前完成文档审查,每个阶段结束前完成文档审查,及早改正错误。
7 面向对象的软件工程方法对传统软件工程的改进:快速原型法(试用-反馈-修改,多次反复) 面向对象的软件工程:面向对象的方法(基本概念:对象、类、消息、继承、多态性、封装)优点:思维一致、稳定性好、可重用性好、可维护性好原型模型(快速原型法)原型模型(快速原型法)听取用户意见建造/修改原型用户测试运行原型原型范型9采用原型模型的软件生存周期分析定义系统需求生成原型原型化系统设计运行和维护含原型化的软件生存期测试编码程序设计10方法比较两种途径并不是相互排斥的,相反,它们是相互促进相互补充的。
卫星导航定位算法与程序设计_常用参数和公式
卫星导航定位算法与程序设计_常用参数和公式1.常用参数a.卫星位置参数:卫星导航系统中的卫星位置是定位算法的基础。
通过测量卫星与接收机之间的距离和时间来确定卫星位置。
常用参数包括卫星的位置坐标、卫星的高度角。
b.接收机位置参数:接收机位置是定位算法的另一个重要参数。
接收机的位置可以通过卫星和地面测量设备测量得到。
常用参数包括接收机的位置坐标、接收机的高度。
c.时间参数:时间也是定位算法中的关键参数。
接收机和卫星之间的时间差可以用来计算距离和速度。
常用参数包括接收机时间、卫星时间。
2.常用公式a.距离公式:距离是定位算法中的重要计算量。
可以使用众多的距离计算公式来计算接收机和卫星之间的距离。
最常用的距离公式是通过信号传播速度和时间差来计算的。
公式如下:距离=传播速度*时间差b.速度公式:速度是定位算法中的另一个重要计算量。
可以使用卫星和接收机之间的多组距离和时间差来计算速度。
最常用的速度公式基于速度是距离对时间的导数的事实。
速度=(距离1-距离2)/(时间1-时间2)c.定位公式:定位是定位算法的最终目标。
定位公式是通过卫星位置参数、接收机位置参数和距离参数来计算接收机的位置。
最常用的定位公式是三角法和多边形法。
公式如下:定位结果=三角法(卫星1位置,卫星2位置,卫星3位置,距离1,距离2,距离3)d.距离修正公式:由于信号传播过程中存在着多种误差,如系统误差、大气延迟等,需要对测量得到的距离进行修正。
最常用的修正公式是通过卫星与接收机之间的时间差、大气延迟和信号传播速度对距离进行修正。
公式如下:真实距离=测量距离+大气延迟-传播速度*时间差以上是卫星导航定位算法和程序设计中常用的一些参数和公式。
这些参数和公式是定位算法的基础,通过合理选择和使用这些参数和公式,可以有效地实现卫星导航定位算法,并得到准确的定位结果。
卫星导航定位算法与程序设计讲义
2.3 基本数学函数 ................................................................................................... 12 2.4 图形 ................................................................................................................... 12
2.2 矩阵、变量、运算和表达式 ............................................................................. 8
2.2.1 矩阵的输入 ............................................................................................................. 8 2.2.2 矩阵运算 ................................................................................................................. 9 2.2.3 变量与表达式 ......................................................................................................... 9 2.2.4 矩阵的其他简单运算: .......................................................................................... 10 2.2.5 数组及其运算 ....................................................................................................... 11
卫星导航定位算法与程序设计_第7课_时间算法
为整型 在卫星导航定位中计算卫星位置时,时间至少 要求表示到10-6 在卫星导航定位中计算卫星到接收机天线之间 的距离时,时间至少要求表示到10-12
31
自定义时间结构②
通用时间(日历时间)
typedef struct tagCOMMONTIME { unsigned short year; unsigned char month; unsigned char day; unsigned char hour; unsigned char minute; double second; } COMMONTIME; typedef COMMONTIME *PCOMMONTIME;
24
计时法③
新儒略日(Modified Julian Day - MJD)
定义
从儒略日中减去2,400,000.5天来得到,给出的是从 1858年11月17日子夜开始的天数。
特点
连续的,利于数学表达; 数值比儒略日小。
25
计时法④
年积日(DOY – Day Of Year)
year; day; tod;
适用于卫星导航定位的时间结构 - 儒略日
36
常用时间算法①
转换思路
通用时 GPS时
定义
从当年1月1日开始的天数。
特点
常用于GPS测量观测计时
26
计时法⑤
GPS时(GPS Time)
定义
以1980年1月6日子夜为起点,用周数和周内的秒数 来表示。
特点
GPS系统内部计时法
27
C/C++中有关时间的类型①
time_t
typedef long time_t; /* time value */
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
卫星导航定位算法与程序设计_单点定位程
序流程
GPS 单点定位程序流程
一、计算流程
1、 读取RINEX N 文件,将所有星历放到一个列表(数组)ephlst 中。
2、 读取RINEX O 文件,读取一个历元观测值epoch
3、
数据预处理
根据epoch 中的卫星号和历元时刻R T 在ephlst 查找相应的卫星星历, 准则3600.0R T TOE -<s 。
4、
程序初始化,置测站概略位置为r X ,接收机钟差初值r dt 。
000r r r X X Y X cdt Z cdt ⎡⎤⎢⎥
⎡⎤⎢⎥
==⎢⎥⎢⎥
⎣⎦⎢⎥
⎣⎦第一次迭代,取000000X ⎡⎤
⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦ 5、 选择epoch 中一颗卫星i S 观测值,设其伪距为i S ρ 6、
计算卫星i S 的信号发射的概略时刻i s T 方法如下:
a) 卫星i S 的信号传播时间:0/i i i S S S r c dt dt τρ=-+;i S dt 为卫星钟差,需要进行
相对论改正;
b) 卫星i S 的信号发射时刻:0i i S S R T T τ=-; c) 卫星i S 在i S T 时刻的位置()()
i i i
i
i
S i
T S S S S S T X T X Y Z =;
d) 对卫星位置()i i S S X T 进行地球自转改正,得到()
i
i S S w X T ; e) 根据()
i i S S w X T 和测站概略位置r X 计算卫星和测站的几何距离i S R
f) 根据几何距离i S R 求信号传播时间1/i i S S R c τ=。
g) 如果10710i i S S ττ--< ,则退出迭代。
11i i S S R T T τ=-即为卫星信号发射时刻。
h) 否则01i i S S ττ= ,回带到b)进行迭代。
7、
求卫星i S 方向余弦
()()()01
2
3
,,,1i
i
i
i
i
i
i
i
i
i
S S S S S S S S S S X X Y Y Z Z b b
b
b
R
R
R
---====
8、
求卫星i S 在观测方程式中的余数项:
i i i i S S S S trop iono RTCM l R c dt d d D ρ=-+⋅--+
其中:
hopfield 0i
i i S i S i S i trop iono RTCM S R S c dt S d d D ρ⋅——卫星的伪距观测值;
——卫星到测站的几何距离;——以米表示的卫星的钟差;
——对流层延迟改正量,单位米,用简化的模型计算;
——电离层延迟改正量,单位米,采用无电离层伪距组合观测值时,此项为;——对伪距的差分改正值,此处为0;
9、
选择epoch 中下一颗卫星j S 观测值,设其伪距为j S
ρ
10、 重复第6—9步,计算每颗卫星的系数和余数项
11、 将所有卫星的系数组成误差方程,以(),,,r x y z cdt 为未知参数进行求解,
形式应该是:AX L =
[]
()
0001110
1
0120120121110,1,,1i i i i S S S S S S T
S S S S S S b b b b b b A X x
y
z cdt L l l l b b b i svnum ⎡⎤⎢⎥⎢⎥⎡⎤===⎣
⎦
⎢⎥⎢⎥⎢⎥⎣⎦=-
12、 求解法方程()()1ˆT T X
A PA A PL -=,求出定位结果 0000ˆˆˆi r r i X X x
Y Y y X Z Z z cdt cdt cdt ⎡⎤+⎡⎤⎢⎥
⎢⎥+⎢⎥⎢
⎥==⎢⎥⎢⎥+⎢
⎥⎢⎥+⎢⎥⎣⎦⎣⎦
13、 与0X 进行比较,判断位置差值,
a) 如果各分量差值>0.001m ,则令0i X X =,返回第6步继续迭代计算。
b) 若小于则退出迭代。
14、 输出该历元定位结果。
15、 继续下一历元计算,下一历元的坐标初始值= 上一历元的定位结果。
16、 返回2,直到全部历元计算完毕。
二、程序流程图
2.1总体流程图
2.2 卫星信号发射时刻迭代的流程图。