由于各种输入信息的时间系统并不一致,因此需要在统一的时间下进行各参数的转换。

格里高利历(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航空航天工具箱】学习笔记--时间系统相关推荐

  1. s matlab toolbox,Matlab Robotic Toolbox工具箱学习笔记(一 )

    Matlab Robotic Toolbox工具箱学习笔记(一) 软件:matlab2013a 工具箱:Matlab Robotic Toolbox v9.8 Matlab Robotic Toolb ...

  2. 【MATLAB航空航天工具箱】学习笔记--时间格式

    时间格式在STK中共有如下几种: 对于时刻22 Nov 2021 00:00:00.000 UTCG,各时间格式的显示如下所示: 时间格式说明 时间格式 对应字符 Gregorian UTC UTCG ...

  3. 【MATLAB航空航天工具箱】学习笔记--采用星历评估日行迹

    MATLAB帮助文档见如下链接: Estimate Sun Analemma Using Planetary Ephemerides and ECI to AER Transformation- MA ...

  4. matlab机器人工具箱学习笔记——ikine函数

    matlab机器人工具箱学习笔记--ikine函数 ikine函数用法 使用实例 链接: https://blog.csdn.net/weixin_42596724/article/details/8 ...

  5. 【Matlab 机器人工具箱 学习笔记】双旋转台5轴数控机床 运动学模型02

    参考: [1]何永红, 齐乐华, 赵宝林. 双转台五轴数控机床后置处理算法研究[J]. 制造技术与机床, 2006(1). [2]李永桥, 陈强, 谌永祥. 双转台五轴数控机床运动变换及求解方法的研究 ...

  6. 数据仓库工具箱-学习笔记3-Kimball的DW和BI框架

    数据仓库工具箱-学习笔记3 Kimball的DW和BI框架 DW/BI系统组成分为四个:操作型原系统.ETL系统.数据展现.商业智能 一.操作型源系统 记录的是业务数据,认为原系统处于数据仓库之外,因 ...

  7. MATLAB simulink 模型验证学习笔记

    MATLAB simulink 模型验证学习笔记 一.静态验证 1.Model Advisor 模型验证意思是用matlab自带的规范检查工具来检查自己画的模型是否符合规范. 进行模型验证需要用到的模 ...

  8. 小猫爪: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之前,不得 ...

  9. 在我方某前沿防守地域 matlab,[matlab]Monte Carlo模拟学习笔记

    理论基础:大数定理,当频数足够多时,频率可以逼近概率,从而依靠概率与$\pi$的关系,求出$\pi$ 所以,rand在Monte Carlo中是必不可少的,必须保证测试数据的随机性. 用蒙特卡洛方法进 ...

最新文章

  1. 神经网络基础知识梳理
  2. 确认!语音识别大牛Daniel Povey将入职小米,曾遭霍普金斯大学解雇,怒拒Facebook
  3. shell (7)if 表达式
  4. 进入登录页时,用户名输入框自动聚焦、按enter键让密码框聚焦,完整输入信息后登录
  5. JS实现前端动态分页码
  6. Spring学习总结(21)——Spring集成阿里巴巴数据库连接池DruidDataSource配置及其常见问题汇总
  7. linux 升级内核为4.10,Linux Kernel 4.10.4 发布下载
  8. APP-Android:APK
  9. 一位工作了 10 年的 Java 高级架构师的技术之路
  10. 上半年要写的博客文章26
  11. 全局阙值分割中的直方图算法和熵算法
  12. Tomcat是干嘛用的?企业级Tomcat部署实践及安全调优
  13. linux clk驱动框架
  14. 大学计算机作业查重,清华大学课程作业查重
  15. 计算并输出最高分及其学生学号
  16. 英文学习20180321
  17. akoj-1245-字符转换
  18. Python基础学习——Numpy包(2、索引、切片与迭代)
  19. 学术前沿趋势分析(一)
  20. 网易互娱2021校招08-12笔试4道题分析

热门文章

  1. 大型的obj文件如何处理和加载
  2. redis集群模式登陆
  3. 剑与远征游戏系统分析
  4. 高并发写场景:秒杀系统库存扣减
  5. Thinking in Java:并发
  6. Catalan number卡特兰数
  7. 苹果手机怎么截图,小白点截图方法
  8. 一百行代码实现的HTML5登录页面
  9. Flutter配置镜像
  10. Js获取当前日期和农历日期