当前位置:网站首页>精密星历介绍与使用
精密星历介绍与使用
2022-06-23 03:53:00 【奔跑的橘子】
精密星历
SP3精密星历格式,即The Extended Standard Product 3 Orbit Format.
精密星历下载
点击此处进行精密星历下载
以下图片显示的是下载2005-04-02的精密星历,如此可下载这一天的精密星历。
精密星历格式
#cP2009 4 1 0 0 0.00000000 96 ORBIT IGS05 BHN ESOC
European Space Operations Centre
## 1525 259200.00000000 900.00000000 54922 0.0000000000000
+ 48 G32G24G25G26G27G30G03G04G06G08G09G10G14G13G28G21G11
+ G22G20G18G16G19G23G02G31G17G12G15G29G07R04R06R07R10
+ R11R13R14R15R17R19R20R23R18R21R22R03R02R08 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++ 5 5 6 5 5 6 5 5 5 5 5 5 5 5 5 5 5
++ 5 5 5 6 5 5 5 5 5 5 5 5 5 7 8 6 6
++ 6 7 7 7 7 6 6 7 7 7 7 7 6 7 0 0 0
++ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
%c M cc GPS ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
%i 0 0 0 0 0 0 0 0 0
%i 0 0 0 0 0 0 0 0 0
/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC /* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC /* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC /* PCV:IGS05_1461 OL/AL:FES2004 NONE YN ORB:CoN CLK:CoN * 2009 4 1 0 0 0.00000000 PG32 -8588.723867 -20090.643282 15669.151907 280.381686 PG24 22871.271694 12675.543847 -3627.944084 177.697220 ... (此处省略若干行) PR08 5808.861773 17946.260291 -17172.857334 -102.035201 * 2009 4 1 0 15 0.00000000 PG32 -8297.565626 -21671.755580 13538.952491 280.377529 PG24 22933.972419 13075.825862 -790.871026 177.700812 简单解读
#cP2009 4 1 0 0 0.00000000 96 ORBIT IGS05 BHN ESOC
#c, 版本
P, Pos/Vel 标志位
2009 4 1 0 0 0.00000000, 精密星历开始的年-月-日-时-分-秒
96, 历元数
IGS05
http://acc.igs.org/igs-frames.htmlESOC, European Space Operations Centre
## 1525 259200.00000000 900.00000000 54922 0.0000000000000
- 1525, GPS周
- 259200.00000000, GPS周内秒
- 900.00000000,历元间隔 此处为900秒,15分钟
- 54922,儒略日
+ 48 G32G24G25G26G27G30G03G04G06G08G09G10G14G13G28G21G11
+ G22G20G18G16G19G23G02G31G17G12G15G29G07R04R06R07R10
+ R11R13R14R15R17R19R20R23R18R21R22R03R02R08 0 0 0
- 48, 卫星数
- G32…R08, 卫星编号
rtklib 精密星历应用
rtklib支持精密星历的使用,从下边的代码可以看到,我们可以通过指定星历使用参数EPHOPT_PREC,这样在进行卫星位置的解算时,使用的就是精密星历了。
extern int satpos(gtime_t time, gtime_t teph, int sat, int ephopt,
const nav_t *nav, double *rs, double *dts, double *var,
int *svh)
{
trace(4,"satpos : time=%s sat=%2d ephopt=%d\n",time_str(time,3),sat,ephopt);
*svh=0;
switch (ephopt) {
case EPHOPT_BRDC : return ephpos (time,teph,sat,nav,-1,rs,dts,var,svh);
case EPHOPT_SBAS : return satpos_sbas(time,teph,sat,nav, rs,dts,var,svh);
case EPHOPT_SSRAPC: return satpos_ssr (time,teph,sat,nav, 0,rs,dts,var,svh);
case EPHOPT_SSRCOM: return satpos_ssr (time,teph,sat,nav, 1,rs,dts,var,svh);
case EPHOPT_PREC :
if (!peph2pos(time,sat,nav,1,rs,dts,var)) break; else return 1;
}
*svh=-1;
return 0;
}
如果我们直接使用rtklib编译好的可执行文件进行数据处理,那么在option里设置一下精密星历就好了。
插值处理
精密星历播发的间隔为15分钟,因此实际应用中需要进行插值处理。rtklib中使用的是Neville 插值方法。
/* polynomial interpolation by Neville's algorithm ---------------------------*/
static double interppol(const double *x, double *y, int n)
{
int i,j;
for (j=1;j<n;j++) {
for (i=0;i<n-j;i++) {
y[i]=(x[i+j]*y[i]-x[i]*y[i+1])/(x[i+j]-x[i]);
}
}
return y[0];
}
Neville插值介绍
了解内维尔插值的直接跳过
内维尔插值可能不像牛顿和拉格朗日插值那么广为人知,所以这里顺便简单介绍一下。内维尔插值是一种由两个n-1次插值多项式构造一个n次多项式的线性逐次插值方法。什么是线性逐次插值呢?我们以五个点举个例子。
首先,使用所有 p i p_i pi和 p i + 1 p_{i+1} pi+1,如 p 0 p_0 p0和 p 1 p_1 p1进行线性插值,我们得到了四个一阶多项式。然后使用四个得到的一阶多项式进行线性插值可以得到三个二阶多项式,一直这么进行下去,得到一个四阶多项式,这个四阶多项式是通过这五个点的。
若是还是感觉有点儿抽象,可直接看下边的例子。对三个点(-1,0)(0,1)(1,0)进行2阶内维尔插值,结果如下。
使用精密星历解算与广播星历的对比
精密星历解算结果


广播星历解算结果


边栏推荐
- Kail infiltration basic literacy basic command
- Using editor How to handle MD uploading pictures?
- How to use data to tell a wonderful story?
- DSP7 环境
- Thinkphp6 template replacement
- Metadata management Apache Atlas Compilation (embedded) deployment and various error records encountered
- Li Kou today's question 513 Find the value in the lower left corner of the tree
- Project summary 1 (header file, switch, &, bit variables)
- 欢迎使用CSDN-markdown编辑器
- AlertManager告警的单独使用及prometheus配置告警规则使用
猜你喜欢

Transformers中的动态学习率

Abnova PSMA bead solution

Meituan's good article: understand swift, Objective-C and the mixing mechanism from the perspective of precompiling

Install and run mongodb under win10

Shadertoy basic teaching 02. Drawing smiling faces

Examples of corpus data processing cases (part of speech encoding, part of speech restoration)

Do280openshift command and troubleshooting -- common troubleshooting and chapter experiments

dolphinscheduler 2.0.5 spark 任务测试总结(源码优化)

微信小程序:全新趣味测试

Static two position relay gls-3004k/dc220v
随机推荐
DO280OpenShift命令及故障排查--常见故障排除和章节实验
STL tutorial 3- exception mechanism
Laravel customizes the paging style through the service provider
Li Kou today's question 513 Find the value in the lower left corner of the tree
What are the types of independent station chat robots? How to quickly create your own free chat robot? It only takes 3 seconds!
Const understanding one
Abnova abcb10 (human) recombinant protein specification
1183. electricity
Parameter passing of 18 generator function
ICER skill 02makefile script self running VCs simulation
静态双位置继电器GLS-3004K/DC220V
Freemodbus parsing 1
395. redundant path
DPR-34V/V双位置继电器
Icer Skill 02makefile script Running VCS Simulation
Laravel 8.4 routing problem. At the end is the cross reference table on the left side of the editor, which can be understood by Xiaobai
AD9使用技巧拾遗
How can mushrooms survive a five-year loss of 4.2 billion yuan?
美团好文:从预编译的角度理解Swift与Objective-C及混编机制
ICer技能03Design Compile