主要内容

利用行星星历进行海洋导航

这个例子展示了如何使用行星星历和地心惯性到地心固定地球(ECI到ECEF)转换来执行海船的天体导航。

这个示例使用Mapping Toolbox™。还必须使用aeroDataPackage命令。

这个例子使用了1947年横跨太平洋康提基的探险所遵循的路线。这次探险由托尔·海尔达尔(Thor Heyerdahl)带领,目的是证明波利尼西亚群岛在哥伦布发现美洲大陆之前就有人居住的理论。这次远征历时101天,从秘鲁的卡亚俄港航行到法属波利尼西亚的拉罗亚环礁。

注:这个示例松散地重新创建了探险路线。简单地显示行星星历和ECI到ECEF的转换需要一些自由。

装载船跟踪

加载astKonTikiData。垫文件。对于这个例子,它包含了船的轨迹,速度和航向。这个文件分别在变量“lat”和“long”中存储不同轨迹点的纬度和经度。这些变量包含了从卡亚奥港到拉罗亚环礁每天一个航迹点的足够数据。此外,该文件还存储了每天的船舶速度值,单位为“V”,航向值为“T”。

负载astKonTikiData

创建一个观察结构

航海还原过程是一组步骤,领航员遵循这些步骤来确定他的船的纬度和经度。它是以《美国实用导航员》[1]、《航海年鉴》[2]和《天文年鉴解释性补编》[3]中描述的理论为基础的。这个过程使用从六分仪、时钟、罗盘和航海图获得的观测数据。它返回每个观测对象的截距(p)和真方位角(Z)。这个例子使用一个观测结构阵列(obs)来包含观测数据。结构数组的字段有:

  • h:观察者的眼睛高度,单位为m。

  • 六分仪的指数修正,在deg。

  • P:当地环境压力,单位为mb。

  • T:当地温度,以C为单位。

  • 年:观测时的当地年。

  • 月:观测时的当地月。

  • 日:观测时当地的一天。

  • 小时:观测时的当地时间。

  • UTC:用于观测的协调世界时,表示为一个由年、月、日、时、分、秒组成的六个元素向量。

  • 天体在地平线上的六分仪高度,以二度计。

  • 物体:用于测量的天体(如木星、海王星、土星等)。

  • 纬度:观测时估计的船的纬度,以度表示。

  • 经度:观测时船估计的经度,以度为单位。

  • 赤纬:天体的赤纬,以二度计。

  • 海拔:地球表面到天体的距离,单位为千米。

  • 格林尼治时角,是天体相对于格林尼治子午线的角度。

为简单起见,假设所有的测量都是在船上的相同位置,用相同的六分仪,在相同的环境温度和压力下进行的:

obs.h = 4;奥林匹克广播服务公司。IC = 0;奥林匹克广播服务公司。P = 982;奥林匹克广播服务公司。T = 15;

探险队于1947年4月28日出发。因此,初始化该日期的观测结构:

奥林匹克广播服务公司。年= 1947;奥林匹克广播服务公司。一个月= 4;奥林匹克广播服务公司。一天= 28;

初始化航迹推算过程

为了开始航迹推算过程,定义船舶位置的初始条件。将纬度和经度的固定解决方案的纬度分别存储在latFix和longFix变量中。在本例中,对于第一个修复位置,使用秘鲁的卡亚奥的纬度和经度:

longFix = 0(大小(长));latFix = 0(大小(lat));longFix (1) = (1);latFix(1) =纬度(1);

每日航迹推算

对于这个例子,假设每天使用观测数据获得一个固定值。因此,本例对每个观察使用了一个“for循环”。变量“m”作为一个计数器,表示从端口出发后经过的每一天:

m = 1:尺寸(lat, 1) 1

增加日期,并对6月和4月的日期进行调整,这两个月都只有30天:

奥林匹克广播服务公司。一天=奥林匹克广播服务公司。天+ 1;[obs.month,奥林匹克广播服务公司。天]= astHelperDayCheck (obs.year, obs.month obs.day);

实际经纬度

从之前装载的航迹点提取出船舶每天的实际位置。这个例子使用这个值来计算当地时区和所选行星在天空中的位置:

longActual =长(m + 1);latActual =纬度(m + 1);

地球选择

在给定的纬度和经度下,选择可以观测的行星。以下代码使用预计算数据:

如果longActual > -90奥林匹克广播服务公司。对象= {“土星”“海王星”};elseiflongActual<=-90 && longActual>-95 obs。对象= {“土星”“海王星”“木星”};elseiflongActual < = -95奥林匹克广播服务公司。对象= {“海王星”“木星”};结束

UTC时间计算

根据假设的经度将本地时间调整为UTC。对于这个例子,假设所有的观测都是在当地时间每天晚上8点的同一时间进行的。

奥林匹克广播服务公司。小时= 20;

对于航位推算过程,用当前位置的估计来更新观测结构。在这种情况下,位置是使用之前的定位、船的速度V和航向T来估计的。

奥林匹克广播服务公司。经度= longFix (m) + (1/60) * V (m) *信德(T (m)) / cosd (latFix (m));奥林匹克广播服务公司。纬度= latFix (m) + (1/60) * V (m) * cosd (T (m));

使用helper函数astHelperLongitudeHour将本地时间调整为UTC时间。该函数根据船舶的估计经度调整UTC观测时间。

奥林匹克广播服务公司。UTC = astHelperLongitudeHour(观察);

六分仪高度计算

对于每一颗行星,astHelperNauticalCalculation助手函数计算六分仪的测量值,这是康提基号上的工作人员应该测量的。这个函数模拟了行星的实际行为,同时补偿了当地的条件。该函数使用行星星历和ECI到ECEF变换矩阵。分析不包括行星像差、引力光偏转和光现象像差。

奥林匹克广播服务公司。Hs = astHelperNauticalCalculation(观察、latActual longActual);

计算位置

下面的计算代替了航海年鉴的使用。它们包括使用行星星历表和ECI到ECEF转换矩阵。

初始化观测对象的赤纬、格林威治时角(GHA)和高度:

obs.declination = 0(大小(obs.Hs));奥林匹克广播服务公司。GHA = 0(大小(obs.Hs));奥林匹克广播服务公司。高度= 0(大小(obs.Hs));

计算测量时间的修改儒略日期:

mjd = mjuliandate (obs.UTC);

计算UT1和UTC之间的差值:

dUT1 = deltaUT1 (mjd,“行动”“没有”);

使用美国海军天文台的TAI-UTC (dAT)值计算ECI到ECEF转换矩阵:

dAT = 1.4228180;TM = dcmeci2ecef (iau - 76 / FK5 ', dAT obs.UTC dUT1);

计算地球时间的儒略日期以近似重心动力时间:

jdTT = juliandate (obs.UTC) + (dAT + 32.184) / 86400;

计算每一个天体的赤纬、格林尼治时角和高度:

k = 1:长度(obs.object)

计算每个行星的ECI位置:

posECI = planetEphemeris (jdTT,“地球”, obs.object {k},“405”“公里”);

计算每个星球的ECEF位置:

posECEF = TM * posECI ';

使用ECEF位置计算格林尼治时角(GHA)和赤纬:

obs.GHA (k) = -atan2d (posECEF (2), posECEF (1));obs.declination(k) = atan2d(posECEF(3),√(posECEF(1)^2 +...posECEF (2) ^ 2));

利用ECEF to LLA变换函数计算地球表面到行星中心的距离:

posLLA = ecef2lla (1000 * posECEF ');obs.altitude (k) = posLLA (3);
结束

行星物体的视力降低

对观察结构阵列中指定的每一颗行星减少视线:

[p, Z] = astHelperNauticalReduction(观察);

使用以下公式计算当前补丁从最后一个补丁到纬度和经度的增量。这些公式是根据《航海历书》得出的。

美联社=总和(cosd (Z)。^ 2);英国石油(Bp) =总和(cosd (Z)。*信德(Z));Cp =总和(信德(Z)。^ 2);Dp =总和(p。* cosd (Z));Ep =总和(p。*信德(Z));Gp =美联社* Cp-Bp ^ 2;

根据减少量计算纬度和经度的增量:

deltaLongFix =(美联社* Ep-Bp * Dp) / (Gp * cosd (latFix (m)));deltaLatFix = (Cp * Dp-Bp * Ep) /全科医生;

计算出纬度和经度的增量后,将其加到估计的位置,得到观测时间的固定值:

longFix (m + 1) =奥林匹克广播服务公司。经度+ deltaLongFix;latFix (m + 1) =奥林匹克广播服务公司。纬度+ deltaLatFix;
结束

可视化导航解决方案

下图展示了实际的航迹减视方案:万博 尤文图斯

astHelperVisualization (lat, longFix latFix,“阴谋”

您可以使用Mapping Toolbox获得描述美洲大陆和法属波利尼西亚视力缩小解决方案的更详细的图表。万博 尤文图斯

astHelperVisualization (lat, longFix latFix,“地图”

从卡亚到拉罗亚的航程中,经纬度的相对误差逐渐累积。这个误差是由于测量六分仪高度的小误差造成的。在6月9日,还原法计算出海王星和木星的真实方位角(Z)。海王星和木星的真实方位角接近180度。这种差异导致相对误差出现一个小的峰值。然而,这个误差仍然在还原方法的误差边界内。

参考文献

鲍迪奇,美国实用航海家。国家地理空间情报局,2012年。

[2]英国水道测量局。航海年鉴2012商业版。Paradise Publications, Inc. 2011。

Urban, Sean E.和P. Kenneth Seidelmann。《天文年鉴解释性补编》,大学科学图书,2013年第3版。

美国海军天文台。