【MATLAB航空航天工具箱】学习笔记--时间系统
由于各种输入信息的时间系统并不一致,因此需要在统一的时间下进行各参数的转换。
格里高利历(MJD和GPS周/日)
国际原子时Temps Atomique International(TAI)
作用:协调全球时间基准
引入时间:1972年
时间原点:取1958年1月1日0时0分0秒世界时(UT)的瞬间作为同年同月同日0时0分0秒TAI。(事后发现,在该瞬间原子时与世界时的时刻之差为0.0039秒。这一差值就作为历史事实而保留下来。)
协调世界时 Coordinated Universal Time(UTC)
作用:卫星的状态及跟踪卫星的观测数据
引入时间:1972年
秒长:与原子时相同
与原子时基准时间差异:UTC-TAI=(-10-27)s
其中10为两者定义基准时的闰秒,27为从1972年开始统计闰秒时的差异。
所有的####年##月##日均为格里高利历纪日法,闰年已包含在此体系内。
##时##分##秒计时法根据不同使用情况加后缀进行区分,闰秒只包含在UTC体系内。
太阳系质心动力学时 Dynamic Barycentric Time(TDB)
作用:解算坐标原点位于太阳系质心的运动方程、编制行星星表,计算岁差章动
引入时间:1972年
地球动力学时 (TT)
作用:解算围绕地球质心运动的天体的运动方程,编制卫星星历
引入时间:1991年
时间原点:TT=TAI+32.184s
全球统一世界时 Principal Universal Time(UT1)
作用:全世界民用时基础,表示地球瞬时自转轴的自转速度
UTC与UT1差值的计算 |UTC-UT1|<0.9s
matlab里面的计算函数为
[DUT1,DUT1Error]=deltaUT1(utc)
计算公式为:
UT1-UTC=0.5309-0.00123(MJD-57808)-(UT2-UT1)
使用如下:
>> mjd = mjuliandate([2015 12 28])
[dUT1,dUT1Err] = deltaUT1(mjd)
mjd =
57384
dUT1 =
0.0885937
dUT1Err =
3.9e-06
儒略日 Julian Date(JD)
A Julian date is the number of days and fractional days since noon on November 24, 4714 BCE in the proleptic Gregorian calendar, or January 1, 4713 BCE in the proleptic Julian calendar.
公历即格里历,又译格里高利历,称公元。
儒略日是法国学者Joseph Justus Scaliger(1540-1609)设计的一种历法,与尤里乌斯·恺撒于公元前45年颁布的儒略历没有关系,不要混淆。儒略日是指从公元-4712年1月1日12时(公元前4713年1月1日12时)开始连续计算得出的天数(不满一日的部分用小数表示)。
儒略日记得是什么日?儒略日记的的世界时(UT).
以下时间格式均为:格里高利历+UTC。
>> t1 = datetime('-4713-11-24 12:00:00');jd1 = juliandate(t1)
jd1 =
0>> t1 = datetime('-4713-11-24 12:00:00');mjd1 = juliandate(t1,'modifiedjuliandate')
mjd1 =
-2400000.5
简化儒略日 Modified Julian Date(MJD)
A modified Julian date is the number of days and fractional days since November 17, 1858 00:00:00
由于儒略日数字位数太多,国际天文学联合会于1973年采用简化儒略日(MJD),其定义为 MJD = JD - 2400000.5。MJD相应的起点是1858年11月17日世界时(UT)0时。
以下时间格式均为:格里高利历+UTC。
>> t1 = datetime('1858-11-17 00:00:00');jd1 = juliandate(t1)
jd1 =
2400000.5>> t1 = datetime('1858-11-17 00:00:00');mjd1 = juliandate(t1,'modifiedjuliandate')
mjd1 =
0>> t1 = datetime('2000-01-01 00:00:00');mjd1 = juliandate(t1)
mjd1 =
2451544.5
UNIX时间戳
UNIX时间戳以UTC时间1971-01-01 00:00:00为起点,到当前时间的秒数,不考虑闰秒。
格林尼治平恒星时Greenwich Mean Sidereal Times(GMST)
格林尼治瞬恒星时Greenwich Apparent Sidereal Times(GAST)
matlab里面计算函数为:
[thGMST,thGAST] = siderealTime(utcJD,dUT1,dAT)
utcJD指utc格式的格里高利时间转换成的儒略日;
dUT1=UT1-UTC
dAT=TAI-UTC
说明:
|UTC-UT1|<0.9s
TAI-UTC=-10-27=-37s
以下示例含义为 格里高利历(公元)2019年1月4日12时0时0分(UTC)时刻对应的格林尼治平恒星时和格林尼治瞬恒星时。
>> jd = juliandate([2019 1 4 12 0 0]);
>> [thGMST, thGAST] = siderealTime(jd)
thGMST =
284.303120228708
thGAST =
284.303054910965
算例
以2020年1月1日0时0分0秒UTC计算各时间。
时间格式转换
以2016年1月1日0时0分0秒UTC为例。
format longG
timeUTC = datetime(2016,1,1,0,0,0);timeUTC.Format = 'yyyy-MM-dd HH:mm:ss.SSS'
timeUTC = datetime
2016-01-01 00:00:00.000
timeUTC_JD = juliandate(timeUTC)
timeUTC_JD = 2457388.5
timeUTC_MJD = juliandate(timeUTC,'modifiedjuliandate')
timeUTC_MJD = 57388
T = leapseconds
T = 27×2 timetable
|
Date |
Type |
CumulativeAdjustment |
1 |
30-6月-1972 |
+ |
1 sec |
2 |
31-12月-1972 |
+ |
2 sec |
3 |
31-12月-1973 |
+ |
3 sec |
4 |
31-12月-1974 |
+ |
4 sec |
5 |
31-12月-1975 |
+ |
5 sec |
6 |
31-12月-1976 |
+ |
6 sec |
7 |
31-12月-1977 |
+ |
7 sec |
8 |
31-12月-1978 |
+ |
8 sec |
9 |
31-12月-1979 |
+ |
9 sec |
10 |
30-6月-1981 |
+ |
10 sec |
11 |
30-6月-1982 |
+ |
11 sec |
12 |
30-6月-1983 |
+ |
12 sec |
13 |
30-6月-1985 |
+ |
13 sec |
14 |
31-12月-1987 |
+ |
14 sec |
15 |
31-12月-1989 |
+ |
15 sec |
16 |
31-12月-1990 |
+ |
16 sec |
17 |
30-6月-1992 |
+ |
17 sec |
18 |
30-6月-1993 |
+ |
18 sec |
19 |
30-6月-1994 |
+ |
19 sec |
20 |
31-12月-1995 |
+ |
20 sec |
21 |
30-6月-1997 |
+ |
21 sec |
22 |
31-12月-1998 |
+ |
22 sec |
23 |
31-12月-2005 |
+ |
23 sec |
24 |
31-12月-2008 |
+ |
24 sec |
25 |
30-6月-2012 |
+ |
25 sec |
26 |
30-6月-2015 |
+ |
26 sec |
27 |
31-12月-2016 |
+ |
27 sec |
timeLeapSeconds = 27;%second
dTAI_UTC = (10+timeLeapSeconds);
timeTAI = timeUTC+dTAI_UTC/86400
timeTAI = datetime
2016-01-01 00:00:37.000
timeTAI_JD = juliandate(timeTAI)
timeTAI_JD = 2457388.50042824
timeTAI_MJD = juliandate(timeTAI,'modifiedjuliandate')
timeTAI_MJD = 57388.0004282407
dTT_TAI = 32.184;%second TT-TAI=32.184s
timeTT = timeTAI+dTT_TAI/86400
timeTT = datetime
2016-01-01 00:01:09.183
timeTT_JD = juliandate(timeTT)
timeTT_JD = 2457388.50080074
timeTT_MJD = juliandate(timeTT,'modifiedjuliandate')
timeTT_MJD = 57388.0008007407
timeTDB_JD=tdbjuliandate([timeTT.Year timeTT.Month timeTT.Day timeTT.Hour timeTT.Minute timeTT.Second])
timeTDB_JD = 2457388.50080074
Content Announcements of the value of DUT1=UT1-UTC to be transmitted with time signals with a precision of +/-0.1s.
Format ASCII
Format Description See contents of the file.
Documentation http://hpiers.obspm.fr/eoppc/bul/buld/BULLETIND.GUIDE
Data UT1-UTC [s]
Accuracy 0.1 s
INTERNATIONAL EARTH ROTATION AND REFERENCE SYSTEMS SERVICE (IERS)
SERVICE INTERNATIONAL DE LA ROTATION TERRESTRE ET DES SYSTEMES DE REFERENCE
SERVICE DE LA ROTATION TERRESTRE
OBSERVATOIRE DE PARIS
61, Av. de l'Observatoire
75014 PARIS (France)
Tel. 33 (0) 1 40 51 22 29
FAX 33 (0) 1 40 51 22 91
Internet: services.iers@obspm.fr Paris, 27 October 2015
Bulletin D 126
ANNOUNCEMENT OF DUT1
From the
26 November 2015, 0h UTC
until further notice, the value of DUT1 to be disseminated with the
time signals will be
DUT1 = +0.1 s
Bulletin D 127 should be issued in January 2016
dUT1_UTC = deltaUT1(timeUTC_MJD)%UT1-UTC
dUT1_UTC = 0.0815795
timeUT1 = timeUTC+dUT1_UTC/86400
timeUT1 = datetime
2016-01-01 00:00:00.081
[thGMST,thGAST] = siderealTime(timeUTC_JD,dUT1_UTC,dTAI_UTC)
thGMST = 100.091354068898
thGAST = 100.091350362402
【MATLAB航空航天工具箱】学习笔记--时间系统相关推荐
- s matlab toolbox,Matlab Robotic Toolbox工具箱学习笔记(一 )
Matlab Robotic Toolbox工具箱学习笔记(一) 软件:matlab2013a 工具箱:Matlab Robotic Toolbox v9.8 Matlab Robotic Toolb ...
- 【MATLAB航空航天工具箱】学习笔记--时间格式
时间格式在STK中共有如下几种: 对于时刻22 Nov 2021 00:00:00.000 UTCG,各时间格式的显示如下所示: 时间格式说明 时间格式 对应字符 Gregorian UTC UTCG ...
- 【MATLAB航空航天工具箱】学习笔记--采用星历评估日行迹
MATLAB帮助文档见如下链接: Estimate Sun Analemma Using Planetary Ephemerides and ECI to AER Transformation- MA ...
- matlab机器人工具箱学习笔记——ikine函数
matlab机器人工具箱学习笔记--ikine函数 ikine函数用法 使用实例 链接: https://blog.csdn.net/weixin_42596724/article/details/8 ...
- 【Matlab 机器人工具箱 学习笔记】双旋转台5轴数控机床 运动学模型02
参考: [1]何永红, 齐乐华, 赵宝林. 双转台五轴数控机床后置处理算法研究[J]. 制造技术与机床, 2006(1). [2]李永桥, 陈强, 谌永祥. 双转台五轴数控机床运动变换及求解方法的研究 ...
- 数据仓库工具箱-学习笔记3-Kimball的DW和BI框架
数据仓库工具箱-学习笔记3 Kimball的DW和BI框架 DW/BI系统组成分为四个:操作型原系统.ETL系统.数据展现.商业智能 一.操作型源系统 记录的是业务数据,认为原系统处于数据仓库之外,因 ...
- MATLAB simulink 模型验证学习笔记
MATLAB simulink 模型验证学习笔记 一.静态验证 1.Model Advisor 模型验证意思是用matlab自带的规范检查工具来检查自己画的模型是否符合规范. 进行模型验证需要用到的模 ...
- 小猫爪:i.MX RT1050学习笔记4-IO系统
小猫爪:i.MX RT1050学习笔记4-IO系统 1 前言 2 PAD 2.1 IORING 2.2 IOMUX 2.3 IOMUXC 3 GPIO 4 应用实例 1 前言 在介绍GPIO之前,不得 ...
- 在我方某前沿防守地域 matlab,[matlab]Monte Carlo模拟学习笔记
理论基础:大数定理,当频数足够多时,频率可以逼近概率,从而依靠概率与$\pi$的关系,求出$\pi$ 所以,rand在Monte Carlo中是必不可少的,必须保证测试数据的随机性. 用蒙特卡洛方法进 ...
最新文章
- 神经网络基础知识梳理
- 确认!语音识别大牛Daniel Povey将入职小米,曾遭霍普金斯大学解雇,怒拒Facebook
- shell (7)if 表达式
- 进入登录页时,用户名输入框自动聚焦、按enter键让密码框聚焦,完整输入信息后登录
- JS实现前端动态分页码
- Spring学习总结(21)——Spring集成阿里巴巴数据库连接池DruidDataSource配置及其常见问题汇总
- linux 升级内核为4.10,Linux Kernel 4.10.4 发布下载
- APP-Android:APK
- 一位工作了 10 年的 Java 高级架构师的技术之路
- 上半年要写的博客文章26
- 全局阙值分割中的直方图算法和熵算法
- Tomcat是干嘛用的?企业级Tomcat部署实践及安全调优
- linux clk驱动框架
- 大学计算机作业查重,清华大学课程作业查重
- 计算并输出最高分及其学生学号
- 英文学习20180321
- akoj-1245-字符转换
- Python基础学习——Numpy包(2、索引、切片与迭代)
- 学术前沿趋势分析(一)
- 网易互娱2021校招08-12笔试4道题分析