xyz值转TLE的星历更新,如何解决?

**1、软件功能:星历更新**

**2、形式:源码函数**
函数1:xyz值瞬根轨参数转六根轨参数 bool xyzToSixGen(XYZ &a, SixGen &b);
函数2:六根轨参数转TLE根轨参数 bool sixGenToTLE(SixGen &a, InTLE &b);

**3、技术简介**
在STK仿真软件中此值组表示模型为Astrogator太空目标,坐标系为Earth Inertial大地坐标系,后面简称xyz瞬根轨参数。
要求1:xyz值转换6根数参数:轨道半长轴、偏心率、轨道倾角、近地点角距、升交点赤经、过近地点时刻;
要求2:6根数转换TLE两行根数。TLE两行根数:时间、轨道半长轴、轨道倾角、升交点赤经、偏心率、近地点距、平近点角、平均运动。

**表1 XYZ瞬时数值表**

| 序号 | 名词 | 标识 | 备注 |
| ------ | ------ | ------ | ------ |
| 1 | t | time | 时间
| 2 | x | rx | 卫星位置矢量
| 3 | y | ry | 卫星位置矢量
| 4 | z | rz | 卫星位置矢量
| 5 | x1 | vx | 卫星位置矢量
| 6 | y1 | vy | 卫星位置矢量
| 7 | z1 | vz | 卫星位置矢量

在轨6根数参数值为6个参数,表2所示。

**表2 6根数数值表**

|序号|    类型|    数值类型|    名词的定义|    精度    |数值范围|
| ------ | ------ | ------ | ------ |------ | ------ |
|1|轨道半长轴|float |semimajorAxis|0.01m|0.01~36000km|
|2|偏心率|float |eccentrlcity|0.0000001|0.0000001~1|
|3|轨道倾角|float |inclination|0.1"|0.0" ~ 180°|
|4|近地点角距|float |argumentPerigee|0.1"  |0.0" ~ 360°|
|5|升交点赤经|float |RAAN|0.1"  |0.0" ~ 360°|
|6|过近地点时刻|unsigned int|perigeeMoment|10ms|


TLE轨道报参数值为9个参数,表3所示。

**表3 TLE参数值表**

|序号|    类型    | 数值定义|        备注|
| ------ | ------ | ------ | ------ |
|1    |时间    |int    |epochYear|    后两位(年)|
|2    |时间    |double    |epochDays|总天数|
|3    |轨道半长轴    |double    |semimajorAxis    |
|4    |轨道倾角    |double    |inclination    |
|5    |升交点赤经    |double|    RAAN    |
|6    |偏心率    |double    |eccentrlcity    |
|7    |近地点角距    |double|    argumentPerigee    |
|8    |平近点角    |double|    meanAnomaly    |
|9    |平均运动    |double|    meanMotion    |


**4、技术要求**
环境语言C++/C,支持Qt开发环境;

**5、结果**
检查正确性标准
产品按照研制要求完成了函数测试,需要满足已下全部要求,如下:
能够TLE根轨参数校准,当获取xyz瞬根轨参数日期与TLE根轨参数日期为同一天时,检查转换后的结果值核查误差值。使用STK9仿真软件对比,要求仿真的卫星运动轨迹误差对比,其中轨道误差值在±4秒之间;

你可能感兴趣的:(商务软件,Qt,c++,算法,数据结构,链表)