RTKPPP定位算法流程

上传人:hs****ma 文档编号:487138674 上传时间:2022-12-01 格式:DOC 页数:37 大小:2.10MB
返回 下载 相关 举报
RTKPPP定位算法流程_第1页
第1页 / 共37页
RTKPPP定位算法流程_第2页
第2页 / 共37页
RTKPPP定位算法流程_第3页
第3页 / 共37页
RTKPPP定位算法流程_第4页
第4页 / 共37页
RTKPPP定位算法流程_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《RTKPPP定位算法流程》由会员分享,可在线阅读,更多相关《RTKPPP定位算法流程(37页珍藏版)》请在金锄头文库上搜索。

1、word1 根底知识1.1 GPS精细单点定位的根本原理GPS精细单点定位一般采用单台双频GPS接收机,利用IGS提供的精细星历和卫星钟差,基于载波相位观测值进展的高精度定位。观测值中的电离层延迟误差通过双频信号组合消除,对流层延迟误差通过引入未知参数进展估计。1.2 时间系统RTKLIB内部使用GPST(GPST时间)用于GNSS的数据处理和定位算法。数据在RTKLIB内部处理之前,需要转换成GPST时间。使用GPST的原因是防止处理润秒。RTKLIB使用以下结构体表示时间:typedef structtime_t time; /* time(s) expressed by standard

2、 time_t */double sec; /* fraction of second under 1 s */ gtime_t;1.2.1 GPST和UTC(Universal Time Coordinated)关系参考【图1】,参考【图2】:图1 转换关系公式图 2通过使用GPS导航信息中的UTC参数,GPST到UTC或者UTC到GPST之前的转换可以用更准确的表达方式,如【图3】。图3这些参数是由GPS导航消息提供的。1.2.2 BDT北斗导航卫星系统时间BDT北斗导航卫星系统时间是一个连续的时间系统,没有润秒。开始历元的时间是【UTC 2006年1月1号 00:00:00】。北斗时间计

3、算公式【图4】:图 4UTC和GPST时间转换同上面的GPS一样,只不过UTC参数来自与北斗导航信息中。1.3 坐标系统接收机和卫星的位置在RTKLIB中表示为在ECEF(地心地固坐标系)坐标系统中的X, Y, Z组件。1.3.1 大地坐标到ECEF坐标的转换转换公式如【图5】。第三个公式最后一行有错有错,应该为: (v(1 e2)+h)sin图 5参数说明: a :地球参考椭球的长半径f :地球参考椭球的扁平率h: 椭球高度 :纬度: 经度当前版本的RTKLIB使用的值为【图6】:图6图7 参考椭球体1.3.2 ECEF坐系到大地坐标的转换转换公式如【图8】图81.3.3 本地坐标到ECEF

4、坐标的转换在接收机位置的本地坐标,也被称为ENU坐标,通常使用在GNSS导航处理。ECEF坐标到本地坐标转换的旋转矩阵表示为【图9】。图9Er旋转矩阵参数说明:接收机位置的纬度:接收机位置的经度通过使用Er和接收机的坐标rr【ECEF】,坐标recef【ECEF】可以被转换到本地坐标的坐标rlocal,公式如【图10】。图 102 RTKPPP定位算法2.1 单点定位pntpos1:satposs 2: estpos 3: estvel1. 计算计算卫星位置、速度和时钟satpossa) 通过广播星历计算卫星钟差ephclk 卫星编号到卫星系统的转换satsys根据卫星的编号,获取到对应的卫星

5、导航系统。 选择星历seleph1、传入信号传输时间,卫星编号,导航数据等参数。2、遍历导航数据,遍历导航数据里面的星历数据,判断星历数据的卫星编号是否和传入的卫星编号相等。3、如果星历数据的卫星编号和传入的卫星编号相等,就计算星历参考时间(toe)和信号传输时间的时间差。如果不相等,继续处理下一条星历数据。4、判断计算出来的时间差,如果时间差大于了允许的最大时间差,继续查找下一个星历数据。否如此,判断时间差最小的星历数据,记录星历数据的位置。5、返回之前记录出来的星历数据。 使用广播星历计算卫星时钟偏差eph2clk1、 传入信号发射时刻的时间和星历数据。2、 计算信号发射时刻的时间和本时段

6、钟差参数参考时间(星历参数toc)的时间差。3、 通过下式计算钟差,这里还没有处理相对论校正项和tgd:代码中有个迭代过程,资料上没看到写卫星钟差计算出来之后,信号发射时刻的时间还要加上这个钟差。b) 计算卫星在信号发射时刻的位置、速度和时钟satpos根据星历表选项来选择不同的处理,如下: 广播星历EPHOPT_BRDC: ephpos 广播星历到卫星位置和钟差1、 根据公式计算出tk;2、 根据使用的卫星系统,选择使用的地球引力常数(mu)和地球的角速度(omge)3、 根据公式计算出平近点角M。4、 求解开普勒方程,按照以下公式迭代求解。5、 根据以下公式计算出u(改正后的纬度幅角),

7、r(改正后的径向), i(改正后的轨道倾角) 的值。6、 根据以下公式计算卫星在轨道平面内的坐标。7、 根据不同的卫星系统,做不同的计算。GPS计算方式:北斗计算方式:其中8、 按照公式计算出时间tc。9、 按照以下公式计算出钟差和钟漂。 精细星历EPHOPT_PREC: peph2pos 广播+SBASEPHOPT_SBAS:satpos_sbas 广播+SSR_APCEPHOPT_SSRAPC: satpos_ssr 广播+SSR_EPHOPT_SSR:satpos_ssr QZSS LEX星历EPHOPT_LEX:lexeph2pos2. 使用伪距估算接收机的位置,返回估算状态结果 es

8、tposa) 伪距残差rescode 把ecef坐标系转换成大地坐标系ecef2pos1、 按照以下公式做转换,暂时还没看懂。 计算几何距离和接收机到卫星的单位矢量geodist1、 用卫星的坐标向量做欧几里德X数,返回值和地球长半轴(WGS84)比拟。小于地球长半轴(WGS84),返回-1;2、 计算卫星坐标和接收机坐标的差值向量。3、 用差值向量做欧几里德X数,再用上一步计算出来的差值向量和计算结果做除法,得到视线向量。按照如下公式:4、 使用以下公式计算几何距离。 计算卫星方位角/仰角satazel1、 把接收机ecef坐标转换到大地坐标;2、 判断高度是否大于地球半长轴WGS84的负数

9、值;3、 如果高度小于等于地球半长轴WGS84的负数值,方位角为0,仰角为PI/2;4、 如果高度大于地球半长轴WGS84的负数值,把ECEF向量转换到局部坐标。然后对转换出来的坐标做内积。5、 使用如下公式计算卫星方位角和仰角。 伪距使用编码残差改正prange暂时没找到对应的文档对应。 电离层改正ionocorrn 通过广播电离层模型klobuchar模型计算出电离层延迟ionmodel1、 校验传入的电离层模型参数,校验失败,使用默认的电离层模型参数;2、 使用以下公式计算出地球为中心的角度半圆;3、 使用以下公式计算子的电离层的纬度/经度半圆;4、 使用以下公式计算地磁纬度。5、 计算

10、本地时间,返回值按这个公式【tt-=floor(tt/86400.0)*86400.0;】处理,保证tt的X围0=tt86400。6、 计算倾斜因子。7、 电离层延迟计算,公式如下。 对流层改正tropcorrn 通过标准大气压和saastamoinen模型计算对流层延迟 tropmodel1、 使用以下公式计算总气压。2、 使用以下公式计算绝对温度。3、 使用以下公式计算水蒸汽的分压。代码中没有使用。4、 使用以下公式计算【Saastamoinen模型】。 伪距残差残差值=伪距-(物理距离+dtr-光速*时钟偏差+电离层误差+对流层误差) 时钟系统和接收器的偏置补偿 伪距测量误差方差vare

11、rrb) 方差权重值 (weight by variance)c) 最小二乘估计 lsq 最小二乘估计通过求解正规方程X =A * A - 1* A * Y1、 计算矩阵A*Y的结果,保存到矩阵Ay;2、 计算矩阵A*A的结果,保存到矩阵Q;3、 求的矩阵Q的逆矩阵,结果保存到矩阵Q;4、 最后x=Q*Ayd) 欧几里德X数norm公式:1、 通过最小二乘法估算出来的参数dx【长度为4】,分别加到位置向量上x【长度为4】。2、 对这个速度向量做欧几里德X数,返回值同1E-4比拟,小于这个值时,就得到估算出的接收机的位置为向量x的值。e) 验证求解 (valsol)1、 对伪距残差值做内积,然后

12、同卡方分布的自由度分布值()做比拟,大于卡方分布的自由度分布值的数据,无效。2、 计算dops; 暂时还没没找到资料。3、 用计算出来的dops和配置的最大dops阈值比拟,大于配置的最大dops阈值的数据无效。3. 使用多普勒估算接收机速度estvela) 多普勒残差resdop 把ecef坐标系转换成大地坐标系ecef2pos 把xyz坐标转换成enu坐标xyz2enu 计算ecef中的瞄准线向量 计算相对于接收机在ECEF中的卫星速度 多普勒残差计算1、速率公式:b) 最小二乘估计 lsq 最小二乘估计通过求解正规方程X =A * A - 1* A * Y1、 计算矩阵A*Y的结果,保存

13、到矩阵Ay;2、 计算矩阵A*A的结果,保存到矩阵Q;3、 求的矩阵Q的逆矩阵,结果保存到矩阵Q;4、 最后x=Q*Ayc) 欧几里德X数norm公式:3、 通过最小二乘法估算出来的参数dx【长度为4】,分别加到速度向量上x【长度为4】。4、 对这个速度向量做欧几里德X数,返回值同1E-6比拟,小于这个值时,就得到估算出的接收机速度为向量x的值。2.2 准确定位 pppos1:udstate_ppp 2: satposs 3: testeclipse 4: res_ppp 5: res_ppp 6: filter 7: res_ppp1. 暂时更新状态udstate_pppa) 位置更新b)

14、时钟更新c) 对流层参数更新d) 相位偏差更新1、 通过LLI检测周跳;2、 通过Geometry-Free相位跳变检测周跳(如果双频测量值可用);2. 计算卫星的位置和速度和时钟satpossc) 通过广播星历计算卫星钟差ephclk 卫星编号到卫星系统的转换satsys根据卫星的编号,获取到对应的卫星导航系统。 选择星历seleph1、传入信号传输时间,卫星编号,导航数据等参数。2、遍历导航数据,遍历导航数据里面的星历数据,判断星历数据的卫星编号是否和传入的卫星编号相等。3、如果星历数据的卫星编号和传入的卫星编号相等,就计算星历参考时间(toe)和信号传输时间的时间差。如果不相等,继续处理下一条星历数据。4、判断计算出来的时间差,如果时间差大于了允许的最大时间差,继续查找下一个星历数据。否如此,判断时间差最小的星历数据,记录星历数据的位置。5、返回之前记录出来的星历数据。 使用广播星历计算卫星时钟偏差eph2clk1、 传入信号传输时间和星历数据。2、 传入信号发射时刻的时间和星历数据。3、 计算信号发射时刻的时间和本时段钟差参数参考时间(星历参数toc)的时间差。4、 通过下式计算钟差,这里还没有处理相对论校正项和tgd:代

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号