卫星导航定位算法与程序设计(2014)-第3课_第1页
卫星导航定位算法与程序设计(2014)-第3课_第2页
卫星导航定位算法与程序设计(2014)-第3课_第3页
卫星导航定位算法与程序设计(2014)-第3课_第4页
卫星导航定位算法与程序设计(2014)-第3课_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、20052011 武汉大学 测绘学院 空间定位与导航工程研究所卫星导航定位算法卫星导航定位算法与程序设计与程序设计(测绘工程本科适用)(测绘工程本科适用)主讲:王甫红主讲:王甫红20052011 武汉大学 测绘学院 空间定位与导航工程研究所2第三讲第三讲 时间算法与坐标算法时间算法与坐标算法20052011 武汉大学 测绘学院 空间定位与导航工程研究所第一节第一节 时间算法时间算法概述概述 时间与卫星导航定位的关系时间与卫星导航定位的关系 计算卫星位置、速度 计算卫星到接收机天线之间的距离5计时法计时法 通用计时法(日历表示法)通用计时法(日历表示法) 表示方法 年、月、日、时、分、秒。 特点

2、 反映季节变化,与日常生活密切相关; 非连续,不利于数学表达和科学计算。6计时法计时法 儒略日(儒略日(Julian Day) 定义 是指从-4712年1月1日(即公元前4713年1月1日)正午开始的天数。 提出 由J. J. Scaliger在1583年提出的,所以该系统的名称源自Julius Scaliger(注意,不是Julius Caesar)。 特点 连续的,利于数学表达; 不直观。7计时法计时法 简化儒略日(简化儒略日(Modified Julian Day - MJD) 定义 从儒略日中减去2,400,000.5天来得到,给出的是从1858年11月17日子夜开始的天数。 特点 连

3、续的,利于数学表达; 数值比儒略日小。8计时法计时法 年积日(年积日(DOY Day Of Year) 定义 从当年1月1日开始的天数。 特点 常用于GPS测量观测计时9计时法计时法 GPS时(时(GPS Time) 定义 以1980年1月6日子夜为起点,用周数和周内的秒数来表示。 特点 GPS系统内部计时法10C/C+中有关时间的类型中有关时间的类型 time_ttypedef long time_t; /* time value */11C/C+中有关时间的类型中有关时间的类型 sturct tmstruct tm int tm_sec; /* seconds after the minu

4、te - 0,59 */ int tm_min; /* minutes after the hour - 0,59 */ int tm_hour; /* hours since midnight - 0,23 */ int tm_mday; /* day of the month - 1,31 */ int tm_mon; /* months since January - 0,11 */ int tm_year; /* years since 1900 */ int tm_wday; /* days since Sunday - 0,6 */ int tm_yday; /* days sin

5、ce January 1 - 0,365 */ int tm_isdst; /* daylight savings time flag */;12C/C+中有关时间的类型中有关时间的类型 sturct _timebstruct _timeb time_t time; unsigned short millitm; short timezone; short dstflag;13自定义时间结构自定义时间结构 为何要自己定义(实现)时间结构(类)为何要自己定义(实现)时间结构(类) C/C+所提供的结构(类)无法满足要求,秒为整型 在卫星导航定位中计算卫星位置时,时间至少要求表示到10-6 在卫星

6、导航定位中计算卫星到接收机天线之间的距离时,时间至少要求表示到10-1214自定义时间结构自定义时间结构 通用时间(日历时间)通用时间(日历时间)适用于卫星导航定位的时间结构适用于卫星导航定位的时间结构 通用时间(日历时间)通用时间(日历时间)typedef struct tagCOMMONTIME unsigned shortyear;unsigned charmonth;unsigned charday;unsigned charhour;unsigned charminute;doublesecond; COMMONTIME;15时间结构(类)时间结构(类) 儒略日儒略日适用于卫星导航定

7、位的时间结构适用于卫星导航定位的时间结构 儒略日儒略日typedef struct tagJULIANDAY longday;TODtod; JULIANDAY;typedef struct tagTOD longsn; / 整秒整秒doubletos; / 小数秒小数秒 TOD;16时间结构(类)时间结构(类) 简化儒略日简化儒略日适用于卫星导航定位的时间结构适用于卫星导航定位的时间结构 简化儒略日简化儒略日typedef struct tagMJulianDay longday;TODtod; MJulianDay;typedef struct tagTOD longsn;doubleto

8、s; TOD;17时间结构(类)时间结构(类) GPS时时适用于卫星导航定位的时间结构适用于卫星导航定位的时间结构 GPS时时typedef struct tagGPSTIME intwn;TOWtow; GPSTIME;typedef struct tagTOW longsn;doubletos; TOW;18时间结构(类)时间结构(类) 年积日年积日适用于卫星导航定位的时间结构适用于卫星导航定位的时间结构 年积日年积日typedef struct tagDOY unsigned shortyear;unsigned shortday;TODtod; DOY;typedef struct t

9、agTOD longsn;doubletos; TOD;19常用时间算法常用时间算法 转换思路转换思路通用时儒略日GPS时年积日20常用时间算法常用时间算法 通用时与儒略日间的相互转换通用时与儒略日间的相互转换(1/2) 由通用时转换到儒略日INT 365.25INT 30.6001124 1720981.5JDymDUT 21122INTMyYmMMyYmMJDYMDUT其中:如果,则,如果,则,为儒略日,为年,为月, 为日,为世界时。表示取实数的整数部分。21常用时间算法常用时间算法 通用时与儒略日间的相互转换通用时与儒略日间的相互转换(2/2) 由儒略日转换到通用时 INT0.51537

10、INT122.1 365.25INT 365.25.cINT30.6001INT 30.6001FRAC0.51 12 INT144715INT710mod INT0.5 ,70,1,.aJDbacbdebdDbdeJDMeeYcMNJDNN 日月年星期几。星期一;星期二;22常用时间算法常用时间算法 通用时与通用时与GPS时间间的相互转换时间间的相互转换 由通用时转换到GPS时间(两步) 第一步:计算GPS周 第二步:计算一周内的秒数 由GPS时间转换到通用时(两步) 第一步:由GPS时间转换到儒略日 第二步:由儒略日转换到通用时INT2444244.57GPS WEEKJD23常用时间算法

11、常用时间算法 年积日的计算年积日的计算 儒略日转换到年积日 第一步:计算出通用时 第二步:计算出当年1月1日的儒略日 第三步:两个儒略日求差加1,得出年积日 年积日转换到儒略日 第一步:计算出当年1月1日的儒略日JD1 第二步:年积日加JD1减1得儒略日 GPS时与年积日间的相互转换 参照上面方法进行20052011 武汉大学 测绘学院 空间定位与导航工程研究所24第二节第二节 坐标算法坐标算法25概述概述 坐标系的有关概念坐标系的有关概念 坐标系 一种用坐标在已知范围空间内表示出点的方法 需要指定原点、轴的指向和长度单位 基准 用作参考的点、线或面 是坐标系的具体实现 坐标的表达方式 线坐标

12、 曲线坐标 极坐标26概述概述 卫星定位导航中常用坐标系卫星定位导航中常用坐标系 基准 WGS-84 地方坐标系 坐标系 笛卡尔坐标系 大地坐标系 站心坐标系 平面坐标系 坐标的表达方式 直线坐标 曲线坐标27自定义坐标类型自定义坐标类型 笛卡尔坐标笛卡尔坐标typedef struct tagCRDCARTESIAN double x;double y;double z; CRDCARTESIAN;自定义坐标类型自定义坐标类型 大地坐标大地坐标typedef struct CRDGEODETIC double longitude;double latitude;double height;

13、CRDGEODETIC;自定义坐标类型自定义坐标类型 站心地平坐标(线坐标形式)站心地平坐标(线坐标形式)typedefstruct tagCRDTOPOCENTRIC double northing;double easting;double upping; CRDTOPOCENTRIC;自定义坐标类型自定义坐标类型 站心地平坐标(极坐标形式)站心地平坐标(极坐标形式)typedefstruct tagCRDTOPOCENTRICPOLAR double range;double azimuth;double elevation; CRDTOPOCENTRICPOLAR;31大地坐标变换为笛

14、卡尔坐标大地坐标变换为笛卡尔坐标 变换方法变换方法22222221sin2NaNeBeabeffa其中:为卯酉圈的半径,为第一偏心率,222()coscos()cossin(1)sinsinXNHBLYNHBLbZNeHBNHBa32笛卡尔坐标变换为大地坐标笛卡尔坐标变换为大地坐标 变换方法变换方法22222222arctansinarctan tan1coscosarctan1sin0YLXeBBaZWRHNBRXYZZXYWeBaNWH其中:注:需要迭代计算,初始时,令。33地(参)心坐标转换为站心坐标地(参)心坐标转换为站心坐标 转换方法转换方法,1.2.,sincossinsincos

15、3.sincos0coscoscossinsinAAABBBABBAABBAABBAAAAAAABAAAAAABBAABAAAAAA XYZB XYZABXXXYYYZZZXYZBLHNBLBLBXELLUBLBLB设:点点求:以 为原点的站心地平坐标系下 点的坐标算法:ABABYZ34站心直角坐标变换为站心极坐标站心直角坐标变换为站心极坐标 变换方法变换方法222arctanarcsinABABABABABABABABABABABABABSNEUEANUESSABAABEAB其中:为 到 的距离;为 到 的方位角;为 到 的高度角。本周实习内容本周实习内容 继续完成上周的文本文件读写程序;继

16、续完成上周的文本文件读写程序; 实现时间转换相关的算法函数;实现时间转换相关的算法函数; 实现坐标转换相关的算法函数。实现坐标转换相关的算法函数。3536时间算法实习内容时间算法实习内容 编写如下时间函数:编写如下时间函数:1. 由通用时到儒略日由通用时到儒略日原型:原型: void CommonTimeToJulianDay (COMMONTIME* pct, JULIANDAY * pjd);说明:说明: pct:指向通用时的指针;:指向通用时的指针; pjd:指向儒略日的指针。:指向儒略日的指针。2. 儒略日到通用时儒略日到通用时原型:原型: void JulianDayToCommon

17、Time (JULIANDAY * pjd, COMMONTIME * pct);说明:说明: pjd:指向儒略日的指针;:指向儒略日的指针; pct:指向通用时的指针。:指向通用时的指针。时间算法实习内容时间算法实习内容 编写如下时间函数(续):编写如下时间函数(续):3. GPS时到儒略日时到儒略日原型:原型: void GPSTimeToJulianDay (GPSTIME* pgt, JULIANDAY * pjd);说明:说明: pgt:指向:指向GPS时的指针;时的指针; pjd:指向儒略日的指针。:指向儒略日的指针。4. 儒略日到儒略日到GPS时时原型:原型: void Juli

18、anDayToGPSTime (JULIANDAY * pjd, GPSTIME * pgt);说明:说明: pjd:指向儒略日的指针;:指向儒略日的指针; pgt:指向:指向GPS时的指针。时的指针。时间算法实习内容时间算法实习内容 编写如下时间函数(续):编写如下时间函数(续):5. 通用时到通用时到GPS时时原型:原型: void CommonTimeToGPSTime (COMMONTIME * pct, GPSTIME * pgt);说明:说明: pct:指向通用时的指针;:指向通用时的指针; pgt:指向:指向GPS时的指针。时的指针。6. GPS时到通用时时到通用时原型:原型:

19、void GPSTimeToCommonTime (GPSTIME * pgt, COMMONTIME * pct);说明:说明: pgt:指向:指向GPS时的指针;时的指针; pct:指向通用时的指针。:指向通用时的指针。坐标算法的实习内容坐标算法的实习内容 编写如下坐标转换函数:编写如下坐标转换函数:1. 由笛卡尔坐标转换为大地坐标由笛卡尔坐标转换为大地坐标原型:原型: void CartesianToGeodetic (CRDGEODETIC * pcg, CRDCARTESIAN * pcc, double dSemiMajorAxis, double dFlattening);说明:

20、说明: pcg:指向所转换出的大地坐标的指针;:指向所转换出的大地坐标的指针; pcc:指向待转换的笛卡尔坐标的指针;:指向待转换的笛卡尔坐标的指针; dSemiMajorAxis:参考椭球的长半轴;:参考椭球的长半轴; dFlattening:参考椭球的扁率。:参考椭球的扁率。坐标算法的实习内容坐标算法的实习内容 编写如下坐标转换函数:编写如下坐标转换函数:2. 由大地坐标转换为笛卡尔坐标由大地坐标转换为笛卡尔坐标原型:原型: void GeodeticToCartesian (CRDCARTESIAN * pcc, CRDGEODETIC * pcg, double dSemiMajorA

21、xis, double dFlattening);说明:说明: pcc:指向所转换出的笛卡尔坐标的指针;:指向所转换出的笛卡尔坐标的指针; pcg:指向待转换的大地坐标的指针;:指向待转换的大地坐标的指针; dSemiMajorAxis:参考椭球的长半轴;:参考椭球的长半轴; dFlattening:参考椭球的扁率。:参考椭球的扁率。坐标算法的实习内容坐标算法的实习内容 编写如下坐标转换函数:编写如下坐标转换函数:3. 由笛卡尔坐标转换为站心地平坐标由笛卡尔坐标转换为站心地平坐标原型:原型: void CartesianToTopocentric (CRDTOPOCENTRIC * pct,

22、CRDCARTESIAN * pcc, CRDCARTESIAN * pccCenter, double dSemiMajorAxis, double dFlattening);说明:说明: pct:指向所转换出的站心地平坐标的指针;:指向所转换出的站心地平坐标的指针; pcc:指向待转换的笛卡尔坐标的指针;:指向待转换的笛卡尔坐标的指针; pccCenter:指向站心的笛卡尔坐标的指针;:指向站心的笛卡尔坐标的指针; dSemiMajorAxis:参考椭球的长半轴;:参考椭球的长半轴; dFlattening:参考椭球的扁率。:参考椭球的扁率。坐标算法的实习内容坐标算法的实习内容 编写如下坐标转换函数:编写如下坐标转换函数:4. 由站心地平直角坐标转换为站心地平极坐标由站心地平直角坐标转换为站心地平极坐标原型:原型: void TopocentricToTopocentricPolar (CRDTOPOCENTRICPOLAR * pctp, CRDTOPOCENTRIC * pct);说明:说明: pctp:指向所转换出的站心地平极坐标的指针;:指向所转换出的站心地平极坐标的指针; pct:指向待转换的站心地平坐标的指针;:指向待转换的站心地平坐标的指针;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论