主讲:刘晖副教授武汉大学卫星导航定位技术研究中心卫星导航定位算法与程序设计单点定位算法的课程路线关于单点定位数据模型回顾单点定位总体设计GNSS中的协议矩阵函数编码实现各个模块时间算法坐标算法文件I/O卫星位置计算各项改正计算联合调试提交成果第七讲时间算法导航定位中的时间、频率和距离卫星导航定位定位中,时间和频率、距离是可以相互转换的,三者本质相同内容国际通用的时间尺度概述世界时(UT)地固时(TT)国际原子时(TAI)协调世界时(UTC)时间尺度的关系卫星导航定位中常用的时间尺度有关时间函数库的程序设计世界时(UT)世界时(UniversalTime,UT)世界时是基于地球绕其自转轴的自转运动并以太阳作为参照点来确定的时间尺度,它非常近似地符合于在本初子午线上观测太阳周日平均运动的一种时间测量。世界时的单位是平太阳秒,它定义为一个平太阳日的1/86400,1960年以前曾用它定义SI秒。UT通过观测恒星的周日视运动来确定,得到UT0UT0加入地极移动引起的观测地点经度的改正,得到UT1UT1加入地球自转速率的周年和半年变化改正,得到UT2历书时和地固时历书时以地球绕太阳的公转轨道运动为基础而导出的天文时间尺度地固时(Terrestrialtime,TT)在地球质心坐标系中定义的坐标时,其尺度单位(TT秒)选得与大地水准面上的SI秒一致国际原子时(TAI)国际原子时InternationalAtomicTime以分布于全世界的大量运转中的原子钟的数据为基础而建立和保持的一种时间尺度初始历元设定在1958年1月1日速率(尺度单位)定义为在地心参考框架上,在大地水准面上实现的SI秒,即铯原子133基态的两个超精细能级间跃迁辐射9,192,631,770个周期所持续的时间是由全球60多个时间实验室合作产生的纸面时间(计算后以文件形式发表)协调世界时(UTC)(1)CoordinatedUniversalTime(UTC)全世界的官方时间,是世界各国时间服务的基础UTC具有与TAI完全相同的计量性质,是原子时,它的速率与TAI速率完全一致,但在时刻上与TAI相差若干整秒UTC尺度是通过闰秒,即插入或者去掉整秒(正跳秒或负跳秒)来调整的,以确保它和世界时UT1近似相同,差异不大于0.9秒协调世界时(UTC)(2)作为时间服务的各地时间实验室(以k表示实验室的代码)必须自行产生和保持一个UTC在本实验室的物理实现,为用户提供接近于UTC的标准时间信号,这个标准时间尺度就是UTC(k)UTC(k)是以高精度原子钟作为频率源,经过人为的频率驾驭而得到的,UTC(k)与UTC必然会有一定的差异,不同实验室保持的UTC(k)也不会相同。通用时间尺度的关系UTC=TAI+DTAIDTAI的值可以从国际地球自转服务机构(IERS)网站的BulletinC得到UT1=UTC﹢ΔUTCΔUTC的值由IERS综合全球的地球自传观测数据计算而得,可从IERS的BulletinA(每周更新)和BulletinB(每月更新)得到TT=TAI+32.184s△T=TT–UT1=32.184s+TAI–UT1△TT=TT–UTC=32.184s+DTAI产生标准时间标准频率的时频基准系统内容国际通用的时间尺度卫星导航中常用的时间尺度概述GPS时GLONASS时有关时间函数库的程序设计概述卫星导航定位系统是以高精度的统一时间和时间测量为基础的任何卫星导航定位系统均设有高精度原子钟系统,在原子钟组内部通过高精度时间比对获得原子钟的时间比对结果,采用最佳时间尺度算法,计算出导航系统的系统时间尺度,作为该导航系统控制整个卫星和地面系统运作的标准时间。卫星导航中的时间尺度GPSTGLONASSCOMPASSGPS系统WGS84UTC时PZ90BDTCGCS2000GALILEOGTRFUTC(USNO)UTC(SU)UTC(NTSC)GPS时间(GPST)GPS的时间系统采用基于美国海军观测实验室USNO维持的原子时称为GPST,它与国际原子的原点不同,瞬时相差一常量:TAI-GPST=19(s)GPST的起点:规定1980年1月6日0时GPS与UTC相等GPST不作闰秒调整,在任何时候都在整数秒上与TAI相差19秒GPST溯源到UTC(USNO)GPS时间(GPST)TAI–GPStime=19s+c0,UTC–GPStime=19s–DTAI+c0.注:c0是一个量级为几十纳秒的数值,随时间而变,其不确定度约为2ns。每月BIPM的CircularTc0BIPM国际权度局BureauInternationaldesPoidsetMesures18GPST与UTC的关系:GPST=UTC+1×n-191987年:n=23;1992年:n=26;2005年:n=32GPST与UTCGLONASS时GLONASS时溯源到俄罗斯时间计量与空间研究所(IMVP)所保持的地方时UTC(SU)IMVP用10台高性能氢钟和一台实验室铯钟建立并保持俄罗斯国家标准时间UTC(SU)GLONASS时与UTC(SU)一样有闰秒,即GLONASStime–UTC≈0GLONASS系统要求GLONASS时与UTC(SU)同步到±1μsGLONASSTAI–GLONASStime=DTAI+c1UTC–GLONASStime=0s+c1c1是一个量级为几百纳秒的数值,随时间而变,c1的不确定度为十几纳秒。内容国际通用的时间尺度卫星导航中常用的时间尺度有关时间函数库的程序设计概述计时法C/C++中的时间类型自定义时间结构体时间转换的算法实习内容22概述时间与卫星导航定位的关系计算卫星位置、速度计算卫星到接收机天线之间的距离23计时法①通用计时法(日历表示法)表示方法年、月、日、时、分、秒。特点反映季节变化,与日常生活密切相关;非连续,不利于数学表达和科学计算。24计时法②儒略日(JulianDay)定义是指从-4712年1月1日(即公元前4713年1月1日)正午开始的天数。提出由J.J.Scaliger在1583年提出的,所以该系统的名称源自JuliusScaliger(注意,不是JuliusCaesar)。特点连续的,利于数学表达;不直观。25计时法③新儒略日(ModifiedJulianDay-MJD)定义从儒略日中减去2,400,000.5天来得到,给出的是从1858年11月17日子夜开始的天数。特点连续的,利于数学表达;数值比儒略日小。26计时法④年积日(DOY–DayOfYear)定义从当年1月1日开始的天数。特点常用于GPS测量观测计时27计时法⑤GPS时(GPSTime)定义以1980年1月6日子夜为起点,用周数和周内的秒数来表示。特点GPS系统内部计时法28C/C++中有关时间的类型①time_ttypedeflongtime_t;/*timevalue*/29C/C++中有关时间的类型②sturcttmstructtm{inttm_sec;/*secondsaftertheminute-[0,59]*/inttm_min;/*minutesafterthehour-[0,59]*/inttm_hour;/*hourssincemidnight-[0,23]*/inttm_mday;/*dayofthemonth-[1,31]*/inttm_mon;/*monthssinceJanuary-[0,11]*/inttm_year;/*yearssince1900*/inttm_wday;/*dayssinceSunday-[0,6]*/inttm_yday;/*dayssinceJanuary1-[0,365]*/inttm_isdst;/*daylightsavingstimeflag*/};30C/C++中有关时间的类型③sturct_timebstruct_timeb{time_ttime;unsignedshortmillitm;shorttimezone;shortdstflag;};31自定义时间结构①为何要自己定义(实现)时间结构(类)C/C++所提供的结构(类)无法满足要求,秒为整型在卫星导航定位中计算卫星位置时,时间至少要求表示到10-6在卫星导航定位中计算卫星到接收机天线之间的距离时,时间至少要求表示到10-1232自定义时间结构②通用时间(日历时间)适用于卫星导航定位的时间结构-通用时间(日历时间)typedefstructtagCOMMONTIME{unsignedshortyear;unsignedcharmonth;unsignedcharday;unsignedcharhour;unsignedcharminute;doublesecond;}COMMONTIME;typedefCOMMONTIME*PCOMMONTIME;33时间结构③儒略日适用于卫星导航定位的时间结构-儒略日typedefstructtagJULIANDAY{longday;TODtod;}JULIANDAY;typedefJULIANDAY*PJULIANDAY;typedefstructtagTOD{longsn;doubletos;}TOD;typedefTOD*PTOD;34时间结构④新儒略日适用于卫星导航定位的时间结构-儒略日typedefstructtagMJulianDay{longday;TODtod;}MJulianDay;typedefMJulianDay*PMJulianDay;typedefstructtagTOD{longsn;doubletos;}TOD;typedefTOD*PTOD;35时间结构⑤GPS时适用于卫星导航定位的时间结构-儒略日typedefstructtagGPSTIME{intwn;TOWtow;}GPSTIME;typedefGPSTIME*PGPSTIME;typedefstructtagTOW{longsn;doubletos;}TOW;typedefTOW*PTOW;36时间结构⑥年积日适用于卫星导航定位的时间结构-儒略日typedefstructtagDOY{unsignedshortyear;unsignedshortday;TODtod;}DOY;typedefDOY*PDOY;typedefstructtagTOD{longsn;doubletos;}TOD;typedefTOD*PTOD;37常用时间算法①转换思路通用时儒略日GPS时年积日38常用时间算法②通用时与儒略日间的相互转换(1/2)由通用时转换到儒略日INT365.25INT30.60011241720981.5JDymDUT21122INTMyYmMMyYmMJDYMDUT其中:如果,则,如果,则,为儒略日,为年,为月,为日,为世界时。表示取实数的整数部分。39常用时间算法③通用时与儒略日间的相互转换(2/2)由儒略日转换到通用时INT0.51537INT122.1365.25INT365.25cINT30.6001INT30.6001FRAC0.5112INT144715INT710modINT0.5,70,1,...aJDbacbdebdDbdeJDMeeYcMNJDNN日月年星期几。星期一;星期二;40常用时间算法④通用时与GPS时间间的相互转换由通用时转换到GPS时间(两步)第一步:计算GPS周第二步:计算一周内的秒数由GPS时间转换到通用时(两步)第一步:由GPS时间转换到儒略日第二步:由儒略日转换到通用时INT24442