文档库 最新最全的文档下载
当前位置:文档库 › GPS卫星位置的计算(C++程序计算)

GPS卫星位置的计算(C++程序计算)

GPS卫星位置的计算(C++程序计算)
GPS卫星位置的计算(C++程序计算)

GPS卫星位置的计算

利用C++编写了一段能计算单一瞬时卫星坐标的程序,在运行程序之前,需做部分准备工作:(1)在F盘下建立一名为“单一卫星广播星历”的txt文件。

(2)从“广播星历.txt”文件中拷贝从卫星PRN号开始的8行数据到“单一卫星广播星历.txt”中

(3)在编辑选项中,将全部的“D”替换为“E”。

下面为我所选取的一个广播星历:

18 06 8 25 6 0 0.0-2.472363412380E-04-1.023*********E-12 0.000000000000E+00

1.410000000000E+02-1.721875000000E+01 4.502687555010E-09 1.413760604187E+00

-7.990747690201E-07 7.598234573379E-03 1.118145883083E-05 5.153709835052E+03

4.536000000000E+05-1.303851604462E-08-1.095067942661E-01 1.527369022369E-07

9.571235745530E-01 1.640000000000E+02-2.656176299285E+00-8.0374********E-09

-5.193073455211E-10 1.000000000000E+00 1.389000000000E+03 0.000000000000E+00

2.000000000000E+00 0.000000000000E+00-1.024*********E-08 1.410000000000E+02

4.464490000000E+05 4.000000000000E+00

程序设计部分:

#include

#include

int main()

{

int i = 0;

double n[50], n0, nn, t, tk, Mk, Ek, Vk, Yk, Gu, Gr, Gi, uk, rk, ik, xk, yk, zk, X, Y, Z, Lk, UT, yy, mm, JD, gpsz;

FILE *fp;

fp = fopen("F:\\单一卫星广播星历.txt", "r");

if (fp == NULL)

{

printf ("文件打开失败!\n");

return 0;

}

while (! feof (fp))

{

fscanf(fp, "%lf", &n[i]);

i++;

}

n0 = (sqrt(3986005E+8))/pow(n[17], 3);

nn = n0 + n[12];/*计算卫星运行的平均角速度*/

UT = n[4] + (n[5] / 60) + (n[7] / 3600);/*民用日的时分秒化为实数时*/

if (n[1] >= 80)/*广播星历中年只有后两位,化为4位,参考1980年1月6日0点*/ {

if (n[1] == 80 && n[2] == 1 && n[3] < 6)

{

n[1] = n[1] + 2000;

}

n[1] = n[1] + 1900;

}

else

{

n[1] = n[1] + 2000;

}

if (n[2] <= 2)

{

yy = n[1] - 1;

mm = n[2] + 12;

}

if (n[2] > 2)

{

yy = n[1];

mm = n[2];

}

JD = (int)(365.25 * yy) + (int)(30.6001 * (mm + 1)) + n[3] + (UT / 24) + 1720981.5;/*化为儒略日*/

gpsz = (int)((JD - 2444244.5) / 7);/*计算GPS周*/

t = (JD - 2444244.5 - 7 * gpsz) * 24 * 3600;/*得出GPS秒*/

tk = t - n[18];/*tk1为中间值,用以判断tk与正负302400的关系,然后返回到tk上*/ while (tk > 302400 || tk < -302400)

{

if (tk > 302400)

{

tk = tk - 604800;

}

else

{

tk = tk + 604800;

}

}/*计算归化观测时间*/

Mk = n[13] + nn * tk;/*观测时刻的卫星平近点角*/

Ek = Mk;

Ek = Mk + n[15] * sin(Ek);

Ek = Mk + n[15] * sin(Ek);/*迭代两次计算观测时刻的偏近点角*/

Vk = atan(sqrt(1 - n[15] * n[15]) * sin(Ek)) / (cos(Ek) - n[15]);/*真近点角*/

Yk = Vk + n[24];/*升交距角*/

Gu = n[14] * cos(2 * Yk) + n[16] * sin(2 * Yk);

Gr = n[23] * cos(2 * Yk) + n[11] * sin(2 * Yk);

Gi = n[19] * cos(2 * Yk) + n[21] * sin(2 * Yk);/*摄动改正项*/

uk = Yk + Gu;

rk = n[17] * n[17] * (1 - n[15] * cos(Ek)) + Gr;

ik = n[22] + Gi + n[26] * tk;/*经摄动改正后的升交距角、卫星矢径、轨道倾角*/

xk = rk * cos(uk);

yk = rk * sin(uk);

zk = 0;/*卫星在轨道坐标系的坐标*/

Lk = n[20] + (n[25] - 7.29211515E-5) * tk - 7.29211515E-5 * n[18];/*观测时刻t的升交点经度*/

X = xk * cos(Lk) - yk * cos(ik) * sin(Lk);

Y = xk * sin(Lk) + yk * cos(ik) * cos(Lk);

Z = yk * sin(ik);/*卫星在WGS-84坐标系的坐标*/

printf("该卫星在WGS-84坐标系中的坐标为:\nX = %lf m\nY = %lf m\nZ = %lf m\n", X, Y, Z);

fclose(fp);

return 0;

}

计算结果:

该卫星在WGS-84坐标系中的坐标为:

X = 9223153.692525 m

Y = 24133486.931401 m

Z = 6032585.919385 m

北斗、Galileo、GLONASS、GPS定位导航系统对比

北斗、Galileo、GLONASS、GPS定位导航系统对比 世界有四大定位导航系统,分别是中国的北斗卫星定位系统、欧盟的Galieo、俄罗斯的GLONASS、美国人的GPS定位系统。 1.GPS 2.GLONASS全球导航卫星系统 GLONASS的起步晚于GPS9年。从前苏联 1982年10月12日发射第一颗GLONASS卫星开始,到1996年,13年时间内历经周折,虽然遭遇了苏联的解体,由俄罗斯接替部署,但始终没有终止或中断GLONASS卫星的发射。1995年初只有16颗GLONASS卫星在轨工作,1995年进行了三次成功发射,将9颗卫星送入轨道,完成了24颗工作卫星加1颗备用卫星的布局。经过数据加载、调整和检验,已于 1996年1月18日.整个系统正常运行。 1卫星星座 GLONASS卫星星座的轨道为三个等间隔椭圆轨道,轨道面间的夹角为120度,轨道倾角 64.8度,轨道的偏心率为o.01,每个轨道上等间隔地分布8颗卫星。卫星离地面高度19100km,绕地运行周期约11小时15分,地迹重复周期8天,轨道同步周期17困。 由于GLONASS卫星的轨道倾角大于GPS卫星的轨道倾角,所以在高纬度(50度以上)地区的可视性较好。 每颗GLONASS卫星上装有艳原子钟以产生卫星上高稳定时标,并向所有星载设备的处理提供同步信号。星载计算机将从地面控制站接收到的专用信息进行处理,生成导航电文向用户广播。导航电文包括:

①星历参数;②星钟相对于GLONASS时的偏移值;③时间标记; ④GLONA SS历书。 GLONASS卫星向空间发射两种载波信号。L1频率为 1.602— 1.616MHz.L2频率为 1.246— 1.256MHz为民用,L2供军用。 2.地面探制系统 地面控制站组包括一个系统控制中心,一个指令跟踪站,网络分布于俄罗斯境内。 CTS跟踪着GLoNAs5可视卫星,它遥测所有卫星,进行测距数据的采集和处理,并向各卫星发送控制指令和导航信息。 3用户设备 接收GUNASS卫星信号并测量其伪距和速度,同时从卫星信号中选出并处理导航电文。 接收机中的计算机对所有输入数据处理并算出位置坐标的三个分旦、速度矢量的三个分量和时间。利用两个独立的卫星定位系统进行导航和定位测量,可有效地削弱美俄两国对各自定位系统的可能控制,提高定位的可靠性和安全性。 4伐罗斯联邦政府对GLONA5S系统的使用政策 早在1991年俄罗斯首先宣称;GLoNAs5系统可供国防民间使用、不带任何限制,也不计划对用户收费.该系统将在完全布满星座后遵照已公布的性能运行至少15年。民用的标准精度通道(csA)精度数据为:

卫星星历计算和轨道参数计算编程实习

专业:地图学与地理信息工程(印刷) 班级:制本49—2 学号:3272009010 姓名:张连杰 时间:2012/9/21 一、概述 在C++6.0中建立基于单文档的MFC工程,利用简洁的界面方便地由卫星轨道根数计算卫星的实时位置和速度,并可以根据卫星的星历反求出卫星轨道根数。 二、目的 通过卫星编程实习,进一步加深理解和掌握卫星轨道参数的计算和卫星星历的计算方法,提高编程能力和实践能力。 三、功能 1、由卫星位置与速度求取卫星轨道参数; 2、由卫星轨道参数计算卫星星历。 四、编程环境及工具 Windows7环境,VC++6.0语言工具 五、计划与步骤 1.深入理解课本上的星历计算方法和轨道根数的求取方法,为编程实习打下算法基础; 2.学习vc++对话框的设计和编程,解决实习过程中的技术难题; 3.综合分析程序的实现过程,一步步编写代码实现。 六、程序异常处理 1.在进行角度转换时候出现的问题导致结果错误。计算三角函数时候先要把角度转换成弧度进行计算,最后输出结果的时候需要再把弧度转换回角度输出。 2.在计算omiga值得时候的错误。对计算出的omiga值要进行象限的判断,如果不符合条件要加或减一个周期pi(因为是反正弦函数)。 七、原创声明 本课程设计报告及相应的软件程序的全部内容均为本人独立完成。其间,只有程序中的中间参量计算值曾与同学共同讨论。特此声明。 八、程序中的关键步骤和代码 1、建立基于单文档的名字为TrackParameter的MFC工程。 2、在资源视图里面增加一个对话框改属性ID为IDD_DIALOG1,在新的对话框IDD_DIALOG1上面添加控件按钮,并建立新的类CsatelliteDlg. 3、在菜单栏里面添加菜单实习一,并添加命令响应函数OnMenuitem32771(),在该函数中编写代码 CsatelliteDlg dlg; dlg.DoModal();

卫星坐标计算

GPS 卫星坐标计算 班级:08测绘一班 姓名:浦绍佼 学号:20080754

目录 实验目的: (3) 卫星坐标计算步骤: (3) 具体过程: (5) 四:运行与结果 (12) 五,心得体会: (13)

实验目的: 根据导航文件求出卫星坐标。 卫星坐标计算步骤: 一:计算平均角速度: n =;n0=;:由导航文件给出二:规划时刻:,为参考历元 三:平近点角: 四:偏近点角:+e;(此处进行迭代运算) 五:真近点角:; 六:升交点角距:; 七:摄动改正:顾及?,I,n的摄动变化以及正弦改正模型的振幅项,;则 升交点角距: 轨道向径:

轨道倾角: 式中:为参考时刻的升交角距; 八:改正后的升交角距: 改正后的轨道向径:; 改正后的轨道倾角:; 九:卫星在升交点轨道直角坐标系的坐标: ;: 十:升交点经度: 7.2921151467*rad/s;:升交点赤经变化率; :GPS周开始时刻的升交点经度; 十一:卫星在地固坐标系的空间直角坐标为: =R(-)(R(-) R(-), (R(-)为旋转矩阵,将其代入展开后得: ; ;

具体过程: 一:原始资料(卫星导航文件) 二:进行必要的界面设计:

三:编写代码: using System; using System.Collections.Generic; using https://www.wendangku.net/doc/c63411543.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Diagnostics; namespace 20080754 { public partial class Form1 : Form { private string stFilePath = string.Empty; public Form1() { InitializeComponent(); listView1.Columns.Add("序号", 40, HorizontalAlignment.Center); listView1.Columns.Add("星历参数", 80, HorizontalAlignment.Center); listView1.Columns.Add("参数值", 130, HorizontalAlignment.Center); listView1.GridLines = true; listView1.View = View.Details; listView1.HeaderStyle = ColumnHeaderStyle.Clickable; listView1.FullRowSelect = true;

全球定位系统(GPS)术语及定义

全球定位系统(GPS)术语及定义 全球定位系统(GPS)术语及定义 【中华人民共和国国家标准GB/T 19391-2003 】2004-12-24 5:55:15 1范围 本标准规定了全球定位系统(GPS)常用术语及定义。 本标准适用于GPS专业范围内的各种标准的制定、各类技术文件的编制,也适用于科研、教学等方面。 2通用术语 2.1 全球定位系统global positioning system(GPS) 导航星navigation by satellite timing and ranging(NA VSTAR) 一种卫星导航定位系统。由空间段、地面控制段和用户段三部分组成.为伞球用户提供实时的三维位置、速度和时间信息。包括主要为军用的精密定位服务(PPS)和民用的标准定位服务(SPS)。 2.2 全球导航卫星系统global navigation satellite system(GLONASS) 一种全球卫星导航定位系统:为全球用户提供实时的三维位置、速度和时间信息。包括军用和民用两种服务。 2.3 伽利略系统Galileo system 一种民用全球卫星导航系统; 2.4 全球导航卫星系统global navigation satellite system(GNSS) 由国际民航组织提出的概念。GNSS的最终目标是由多种民用卫星导航系统组成,向全球民间提供服务。并将由多国民间参与运行和控制的卫星导航系统。GNSS也已经为国际海事组织(IMO)所接受。欧洲的GNSS计划分为两个阶段,即GNSS-1和GNSS-2。GNSS-1为EGNOS(欧洲地球静止轨道卫星导航重叠服务)系统,GNSS-2为Galileo(伽利略)系统。 2.5 静地星/定位星系统Geostar/Locstar system 一种卫星定位系统,利用两颗地球轨道静止卫星双程测距而实现定位功能,兼有简短报文通信能力。 2.6 海军导航卫星系统navy navigation satellite system(NNSS) 子午仪Transit 是1960年由美国研制的卫星导航系统,为固定用户或低动态用户提供不连续定位信息。 注:已于l997年12月31日关闭。 2.7 国际GPS动力学服务international GPS geodynamics service(IGS) 国际大地测量协会于1994年创立的国际GPS研究服务机构。它负责向世界各国的GPS 用户提供精密的星历、地球旋转参数、全球GPS跟踪网数据等多种信息。

卫星导航定位算法与程序设计实验报告

2013 级测绘工程专业 卫星导航定位算法与程序设计 实 验 报 告 实验名称:卫星导航基本程序设计 班级: 学号: 姓名: 实验时间: 2016年6月28日~2016年6月30 中国矿业大学

目录 实验一时空基准转换 (2) 一、实验目的 (2) 二、实验内容 (2) 三、实验过程 (2) 四、实验感想 (6) 实验二RINEX文件读写 (6) 一、实验目的 (6) 二、实验内容 (7) 三、实验过程 (7) 实验三卫星轨道计算 (12) 一、实验目的 (12) 二、实验内容 (12) 三、实验过程 (12) 四、实验感想 (15)

实验一时空基准转换 一、实验目的 1、加深对时空系统及其之间转换关系的理解 2、掌握常用时空基准之间的转换模型与软件实现 3、每人独立完成实验规定的内容 二、实验内容 本实验内容包括: 内容一:编程实现GPS起点1980年1月6日0时对应的儒略日 内容二:编程实现2011年11月27日对应的GPS周数与一周内的秒数 内容三:在WGS84椭球的条件下,编程实现当中央子午线为117度时,计算高斯坐标x = 3548910.811290287, y = 179854.6172135982 对应的经纬度坐标? 内容四:WGS84椭球下,表面x=-2408000; y=4698000;z= 3566000处的地平坐标系坐标为: e=704.8615;n=114.8683;u=751.9771的点对应的直角坐标为多少? 三、实验过程 1.针对第一、二部分内容: 1.1解决思路:先建立” TimeStruct.h”的头文件,将格里高利历、GPS时间结构、儒略日时间结构共结构体的方式放在里面;在建立“TimeTr”的头文件,建立类“CTimeT r”,创建变量“GPS Time”、“Time”、”JulDay”,并且申明函数“TIME2JUL”、“TIME2GTIME”等,用这些函数分别实现所需要的转换。 1.2具体的实现函数: “TIME2JUL”函数: double CTimeTr::TIME2JUL()//TIME Time,JULIANDAY &JulDay { double m,y; double D; //h =Time.byHour+Time.byMinute/60.0+Time.dSecond/3600.00; if(Time.byMonth<=2) {

GPS卫星的坐标计算

第三章GPS 卫星的坐标计算 在用GPS 信号进行导航定位以及制订观测计划时,都必须已知GPS 卫星在空间的瞬间位置。卫星位置的计算是根据卫星导航电文所提供的轨道参数按一定的公式计算的。 3.1卫星运动的轨道参数 3.1.1基本概念 1.作用在卫星上力 卫星受的作用力主要有:地球对卫星的引力,太阳、月亮对卫星的引力,大气阻力,大气光压,地球潮汐力等。 中心力:假设地球为匀质球体的引力(质量集中于球体的中心),即地球的中心引力,它决定卫星运动的基本规律和特征,决定卫星轨道,是分析卫星实际轨道的基础。此种理想状态时卫星的运动称为无摄运动,卫星的轨道称为无摄轨道。 摄动力:也称非中心力,包括地球非球形对称的作用力、日月引力、大气阻力、大气光压、地球潮汐力等。摄动力使卫星运动产生一些小的附加变化而偏离理想轨道,同时这种偏离量的大小随时间而改变。此种状态时卫星的运动称为受摄运动,卫星的轨道称为受摄轨道。 虽然作用在卫星上的力很多,但这些力的大小却相差很悬殊。如果将地球引力当作1的话,其它作用力均小于10-5。 2.二体问题 研究两个质点在万有引力作用下的运动规律问题称为二体问题。 3.卫星轨道和卫星轨道参数 卫星在空间运行的轨迹称为卫星轨道。 描述卫星轨道状态和位置的参数称为轨道参数。 3.1.2卫星运动的开普勒定律 (1)开普勒第一定律 卫星运行的轨道为一椭圆,该椭圆的一个焦点与地球质心重合。此定律阐明了卫星运行轨道的基本形态及其与地心的关系。由万有引力定律可得卫星绕地球质心运动的轨道方程。r 为卫星的地心距离,as 为开普勒椭圆的长半径,es 为开普勒椭圆的偏心率;fs 为真近点角,它描述了任意时刻卫星在轨道上相对近地点的位置,是时间的函数。 (2)开普勒第二定律 卫星的地心向径在单位时间内所扫过的面积相等。表明卫星在椭圆轨道上的运行速度是不断变化的,在近地点处速度最大,在远地点处速度最小。 近地点 远地点 s s s s f e e a r cos 1)1(2+-=

全球卫星导航定位行业分析报告

全球卫星导航定位行业分析报告 一、全球卫星发展概况 卫星导航定位技术指利用全球卫星导航定位系统所提供的位置、速度及时间信息对各种目标进行定位、导航及监管的一项新兴技术。与传统的导航定位技术相比,由于卫星导航定位技术具有全时空、全天候、连续实时地提供导航、定位和定时的特点,已成为人类活动中普遍采用的导航定位技术。因此,全球卫星导航定位系统一经问世,在市场需求的牵动下很快就深入到各国军事、安全、经济领域的方方面面,使航空、航海、测绘、机械控制等传统产业的工作方式发生了根本的改变,开拓了移动位置服务等全新的信息服务领域,并迅速发展成为一个新兴的产业——卫星导航定位产业。 以美国GPS为代表的卫星导航定位产业已经成为当今国际公认的八大无线电产业之一。在人类信息社会中,有80%以上的信息与“位置”和“时间”有关,在卫星导航定位技术出现以后,它可以迅速将位置、时间信息数字化,进入互联网和各行各业的信息应用系统,被人们所使用。 目前世界上投入正式运行的卫星导航定位系统有美国的GPS系统、俄罗斯的Glonass系统和我国的北斗卫星导航定位系统。其中GPS的应用最为广泛,占到全球应用的95%以上。鉴于民用需求的巨大与旺盛,为了摆脱对美国GPS系统的依赖,打破美国对全球卫星导航产业的垄断,欧盟在2002年提出建设Galileo 系统,俄罗斯则计划在2010年全面恢复Glonass系统,我国在2006年对外公布建设我国新一代北斗卫星导航定位系统,卫星导航定位产业步入了一个多系统并存、多技术融合的发展新阶段。 我国的卫星导航定位应用是在全球卫星导航定位系统逐步开放、透明的大环境下,通过学习、引进、消化、吸收再创新的方式发展起来的。美国的GPS系统在20世纪80年代建设初期是一个严加保密的纯军事系统。随着全球政治格局和经济一体化的发展,其已从最初的“军用为主、民用为辅”发展到“强军护民、以民养军”的新阶段。美国GPS政策的每一次开放调整,都有力地推动了本国及全球卫星导航定位产业的市场发展。随着卫星导航定位在我国应用领域的不断拓展和深入以及自主的北斗卫星导航定位系统的建设,使我国在卫星导航定位系统技术和导航信号处理技术、卫星导航定位芯片技术和板卡、高精度接收机产品等方面取得重大突破,积累了应用经验,卫星导航定位技术与产品已呈现自主创新,集成创新,引进、消化、吸收再创新的多元并举发展的格局。 二、全球卫星导航系统发展历程 GPS可以说是最早也是目前最为完善成熟的全球卫星导航定位系统,最为当今最完善、覆盖率最高卫星导航定位,GPS的发展历程就代表了全球卫星导航定位行业的发展。 1、50年代末至60年代末是GPS研发的初级积累阶段 1958年底,美国海军武器实验室委托霍布金斯大学应用物理实验室,研究为美国军用舰艇导航服务的卫星系统,即海军导航卫星系统。60年代末,美国在此基础上着手研制新的卫星导航系统,以满足海陆空三军和民用部门对导航越来越高的要求。

GPS广播星历计算卫星位置和速度-Read

“GPS广播星历计算卫星位置和速度” 及“GPS伪距定位”计算试验 1.试验内容及上交成果 1.1 试验内容 应用C语言按预定格式(函数、输入输出变量之名称、类型)编写“GPS广播星历计算卫星位置和速度”函数SatPos_Vel( )、“GPS伪距定位”函数Positioning( )。将此两个函数组成文件F2.cpp,并包含于文件GPS_Positioning.cpp中。编译、连接并运行文件GPS_Positioning.cpp,逐一时刻读取广播星历(Ephemeris.dat)、观测时间及伪距、卫星号(Observation.dat)信息,计算WGS84坐标系中观测时刻相应的卫星位置、速度以及载体位置,结果保存于文件Position.dat中。 1.2 上交成果 磁盘文件F2.cpp、Position.dat,并存于“学号作者中文姓名”目录中。 2.函数说明 2.1 星历文件读取函数 void EFileReading(Efile) 功能:读取星历文件,给星历数据结构体Ephemeris赋值。 输入变量:EFile 字符串,文件名。 2.2 观测数据读取函数 int ObsReading(fp_Obs,Time,Rho,Mark) 功能:从文件Observation.dat中读取某一时刻的伪距、卫星号。读取成功函数值返回“1”,失败返回“-1”(读错,或至文件尾)。 输入变量:fp_Obs 文件指针; 输出变量:Time double,时间(秒); Rho double[12],伪距(米); Mark int[12],卫星号,“-1”表示此通道无卫星、无伪距。 2.3 最小二乘估计函数 int LeastSquareEstimation(Y,A,P,m,n, X) 功能:最小二乘方法求解观测方程Y=AX+ε,其中观测值方差阵的逆阵为P(也称为权阵),得未知参数X。成功返回“1”,失败返回“-1”(亏秩)。 输入变量:Y double[m],观测方程自由项(米); A double[m×n],系数阵(无量纲),按第1行第1、2……n元素,

全球卫星导航系统的发展现状

0.引言 GPS的投入运行对当今社会经济、军事产生了革命性影响,各个国家对它的依赖性不断加大。同时,为了避免受制于人,各国纷纷研制自己的全球卫星导航系统。紧随美国之后,俄罗斯建成了GLONASS 系统,但由于资金长期短缺以及其他种种原因,导致在轨工作卫星曾大量空缺,不能提供全天候、全球性的定位服务。而欧盟正在开发的伽利略(GALILEO)卫星导航系统是一个独立的,性能优于GPS,与现有全球卫星导航系统具有互用性的民用全球卫星导航系统。争奇斗艳的全球卫星导航定位系统将会给当今的信息社会带来深远的影响。 1.美国GPS的发展现状 1.1GPS导航定位原理GPS是在美国海军导航卫星系统的基础上发展起来的以卫星为基础的无线电导航定位系统。它具有全能性、全球性、全天候、连续性和实时性的导航、定位和定时功能,能为用户提供精密的三维坐标、速度和时间。 GPS系统由空间卫星星座、地面监控系统及用户设备组成。GPS 空间星座部分由24颗GPS卫星(含3颗备用卫星)组成,卫星均匀分布于倾角为55°的6个轨道面上,轨道平均高度约为20200km。每颗GPS卫星发射两个载波(1575.42MHz/L1和1227.60MHz/L2)信号,在其上用相位调制技术加载了测距码和导航电文,供用户接收机使用。地面监控系统由一个主控站、3个注入站和5个监控站组成,其主要功能是采集数据、编算GPS导航电文及系统维护等。用户设备是实现GPS卫星导航定位的终端设备,由GPS接收机硬件和数据处理软件组成,它通过接收并处理GPS卫星信号,可得到用户的时间、位置、速度等参数[1][2]。 1.2GPS自身的缺陷 现行的GPS系统存在如下的缺陷:BlockⅡ(BlockⅡA)GPS卫星信号的强度极其微弱(天顶运行的GPS卫星的信号强度仅有3.5E-16W),几乎淹没于背景噪音之下,并能被建筑物等阻挡物反射,产生多路径效应。 调制于L1载波上的C/A码和P码都位于L1的中心频带,易于受到人为干扰。通常情况下,对P码的捕获和跟踪是通过先捕获C/A码和巧用Z计数的方法实现的。这样,如果人为地干扰C/A码的接收,也就等效于P码受到干扰。 民间用户难以同时获得L1-P码伪距和L2-P码伪距,无法实现GPS双频观测的电离层效应距离偏差改正,限制了GPS单点定位精度的提高。 GPS的系统组成和信号结构都不能满足当前的需要。例如:在高纬度地区,严重影响导航和定位,在中、低纬度地区,每天总有两次盲区、每次盲区历时20~30分钟,盲区时,PDOP值远大于20,给导航和定位带来很大的误差。 为确保导航定位的精度,GPS的卫星导航电文必须每天更新一次,地面监控系统担负着编算和注入导航电文的重要任务,一旦地面监控系统受到破坏,军用和民用用户都不能得到高精度的GPS导航定位服务。 1.3GPS现代化的举措[3] 针对上述情况,GPS执行委员会(IGEB)、GPS顾问委员会(GIAC)和导航学会(ION)召开多次国际会议,讨论GPS现代化的问题。根据GPS 执行委员会有关资料,GPS现代化的主要措施主要有: 取消了GPS SA政策,给民用用户带来了明显的效益。 发射BlockⅡR卫星更换BlockⅡ/ⅡA卫星。与BlockⅡ/ⅡA卫星相比,BlockⅡR卫星在功能上有如下扩充:在L2载波上增设C/A码(或L2C码);在L1和L2载波上各增设一个军用伪噪声码(M码);可根据指令增强L2载波上的P(Y)码、L1载波上的P(Y)码和C/A的功率。BlockⅡR-M卫星的功能更进一步加强:能作卫星之间的距离测量;能在轨自主更新和精化GPS卫星的广播星历和星钟A系数;能进行星间在轨数据通讯,在无地面监控系统干预的情况下,可进行自主导航。 发射BlockⅡF卫星。BlockⅡF卫星除具有BlockⅡR卫星的全部功能外,还在保护波段增加第三民用信号L5(1176.45MHz),并增加了卫星间的数据通道。到2008年6月,GPS在轨卫星共有31颗,其中BlockⅡA卫星13颗,BlockⅡR卫星12颗,BlockⅡR-M卫星6颗。 发射BlockⅢ(GPSⅢ)卫星。目前正在研究未来GPS卫星导航的需求,讨论制定GPSⅢ型卫星系统结构,系统安全性、可靠程度和各种可能的风险。计划在2009年发射GPSⅢ的第一颗实验卫星,2030年完成整个星座的更新。 地面监控系统现代化的措施主要有:给监测站装备数字式GPS 信号接收机和计算机;用分布式结构计算设备替换现有的主计算机;采用精度改善技术建立卫星控制集成网络,完善BlockⅡR卫星的全运行能力;在美国本土(卡纳维拉尔角)增建一个监控站(使监控站增至6个);在范登堡空军基地建立一个备用主控站;增强BlockⅡR卫星的指令和控制能力。 2.俄罗斯GLONASS的发展现状 2.1GLONASS简介 为了应对美国的全球卫星定位系统GPS,前苏联从上世纪80年代初开始建设与美国GPS系统相类似的卫星定位系统GLONASS (Global Orbiting Navigation Satellite System),于1995年12月将其发展成为由24颗GLONASS卫星组成的工作星座。该系统也由空间卫星星座、地面监测控制站和用户设备三部分组成。空间卫星星座为21颗卫星分布在夹角为120°的3个倾角为64.8°轨道面上,另外3颗卫星备用。GLONASS通过两个频率发射导航信号,但它的每颗卫星的频率都不相同。 GLONASS可供国防、民间使用,不带任何限制,也不计划对用户收费,并声明不引入选择可用性(SA)。但由于俄罗斯经济困难,卫星的补充和维护得不到保证,GLONASS在轨卫星曾大量空缺(2000年情况最严重时只剩下6颗卫星),破坏了其星座完整程度,致使该系统的可用性大大下降。 2.2GLONASS的恢复和现代化 GLONASS的危机引起了俄方的重视,俄罗斯认识到“出于国家安全战略的考虑,俄罗斯应该使用本国的GLONASS系统,而非美国的GPS或者是欧洲的GALILEO导航系统”。随着经济复苏,俄政府在本世纪初制定了“拯救GLONASS”的补星计划,并决定启动逐步改善和提高GLONASS性能的现代化改造。 补星和现代化计划共分三个阶段:第一阶段为补充新的卫星以满足GLONASS系统正常运行的最低要求。第二阶段为GLONASS-M计划,即研制新的GLONASS-M卫星。新的GLONASS-M卫星搭载了铯钟,增强了信号的稳定性;改善了信号结构,增加了附加信息;安装了滤波器,消除了1601.6MHz~1613.8MHz以及1660.0MHz~ 1670.0MHz频段的信号干扰;与此同时,其寿命也由原来的3年延长至7~8年;该阶段计划达到18颗在轨运行卫星(包括GLONASS卫星 全球卫星导航系统的发展现状 项鑫1刘红旗2李军杰3 (1.中国地质大学<武汉>地空学院湖北武汉430074;2.平顶山煤业集团土建公司河南平顶山467000; 3.河南城建学院河南平顶山467000) 【摘要】GPS现代化计划提出了更新星座和地面系统、增加第三民用信号L5、增加卫星间的数据通道、发射BlockⅢ(GPSⅢ)卫星等措施,GLONASS正在逐步实施补星和现代化计划,GALILEO可望提供六项更优的服务。分析了全球导航定位系统的发展与应用状况,讨论了导航定位信息的融合情况与应用前景。 【关键词】GPS;GLONASS;Galileo;CNSS;信息融合 66

计算卫星位置的程序

计算卫星位置 一、C语言程序 #include #include #include #define bGM84 3.986005e14 #define bOMEGAE84 7.2921151467e-5 void main() { long double roota=0.515365263176E+04; //轨道长半轴的平方根(根号a) long double toe=0.720000000000E+04; //观测时刻toe long double m0=-0.290282040486E+00; //参考时刻toe的平近点角 long double e=0.678421219345E-02; //轨道偏心率e long double delta_n=0.451411660250E-08;//卫星的摄动改正数△n long double smallomega=-0.258419417299E+01;//近地点角距ω long double cus=0.912137329578E-05;//纬度幅角正弦调和项改正的振幅(弧度)long double cuc=0.189989805222E-06;//纬度幅角余弦调和项改正的振幅(弧度)long double crs=0.406250000000E+01;//轨道半径的余弦调和项改正的振幅(m)long double crc=0.201875000000E+03;//轨道半径的正弦调和项改正的振幅(m)long double cis=0.949949026108E-07;//轨道倾角的余弦调和项改正的振幅(弧度)long double cic=0.130385160446E-07;//轨道倾角的正弦调和项改正的振幅(弧度)long double idot=-0.253939149013E-09;//轨道倾角变化率I long double i0=0.958512160302E+00; //轨道倾角(弧度) long double bigomega0=-0.137835982556E+01;//升交点赤经 long double earthrate=bOMEGAE84; //地球自转的速率we long double bigomegadot=-0.856928551657e-08; long double t=0.720000000000E+04; //加入卫星钟差改正的归化时间 long double A; long double n0=0,n,tk; long double mk,ek,tak,ik,omegak,phik,uk,rk; long double corr_u,corr_r,corr_i; long double xpk,ypk,xk,yk,zk; int i; printf("输入的数据:\n"); printf("√a=%e \n",roota); printf("toe=%e \n",toe); printf("e=%e \n",e); printf("i0=%e \n",i0); printf("ω=%e \n",smallomega); printf("△n=%e \n",delta_n); printf("Ω0=%e \n",bigomega0); printf("I=%e \n",idot); printf("Cuc=%e \n",cuc);

我国及世界各国导航卫星发展状况综述

我国及世界各国导航卫星发展状况综述 China and the world of the development of navigation satellite 摘要随着卫星导航技术的飞速发展,卫星导航已基本取代了无线电导航、天文导航等传统导航技术,成为一种普遍采用的导航定位技术,并在精度、实时性、全天候等方面取得了较大提高。目前世界上采用的定位系统主要为美国的全球定位系统(GPS ),俄罗斯的全球卫星导航系统(GLONASS),欧洲的伽利略系统(GALILEO ),中国的“北斗一号”导航系统以及日本的准天顶卫星系。 关键词GPS GLONASS 伽利略全球卫星导航定位系统“北斗一号”导航系统准天顶卫星系统 一、GPS全球定位系统 GPS是“Global Positioning System”即“全球定位系统”的简称。该系统原是美国国防部为其星球大战计划投资10多亿美元而建立的。其作用是为美军方在全球的舰船、飞机导航并指挥陆军作战。GPS系统的研制计划分为三个阶段。第一阶段(1973-1978)是方案论证阶段。第二阶段(1979-1985)是工程研制和系统试验阶段,测试结果令人满意,系统达到了预定设计目标,当时有7颗实验卫星在轨道上飞行,已提供了有限的导航能力。第三阶段为改善系统性能,为整个系统投人使用阶段。原计划从1986年起,由航天飞机分批把工作型卫星送入轨道,1989年系统全面组网实用,达到三维定位能力。由于航天飞机失事,GPS 系统的第三阶段计划被推迟到1989年2月才开始执行。1990年左右,轨道上已有12颗卫星,实现二维定位能力;1992年左右,GPS系统已全面组网进人实用阶段。1993年GPS太空卫星网完全建成。 GPS是24颗卫星组成的全球定位、导航及授时系统。这24颗卫星分布在高度为2万公里的6个轨道上绕地球飞行。每条轨道上拥有4颗卫星,在地球上任何一点,任何时刻都可以同时接受到来自4颗以上卫星的信号。也就是说GPS 的卫星所发射的信息覆盖着整个地球表面。 目前GPS的发展主要分为以下几个阶段: 1、GPS现代化第一阶段:发射12颗改进型的GPS BLOCKⅡR型卫星,它们具有一些新的功能。既能发射第二民用码,即在L2上加载CA码;在L1和L2上播发P( y)码的同时,在这两个频率上还试验性的同时加载新的军码(M码); ⅡR 型的信号发射功率,不论在民用通道还是军用通道上都有很大提高。 2、GPS现代化第二阶段:发射6颗GPS BLOCKⅡF (“ⅡF Lite" )。GPS BLOCK ⅡF 型卫星除了有上面提到的GPS BLOCK ⅡR型卫星的功能外,还进一步强化发射M码的功率和增加发射第三民用频率,即L5频道。GPSⅡF型卫星的第一颗的发射不迟于2005年。到2008年在空中运行的GPS卫星中,至少有18颗ⅡF型卫星,以保证M码的全球覆盖。到2016年GPS卫星系统应全部以ⅡF卫星运行,共计24+3颗。 3、GPS现代化计划的第三阶段:发射的GPS BLOCK Ⅲ型卫星,在2003年

卫星位置计算程序

#include #include"math.h" #include"float.h" using namespace std; double kpro(double mk,double e){ double f[2000],ek; int i=0; f[0]=mk; do{ f[i+1]=mk+e*sin(f[i]); i++; }while(abs(f[i+1]-f[i])>=0.005); ek=f[i+1]; return ek; } #define PI 3.14159265357589 int main(void){ double toc,a2,a1,a0,dotn,t1,m0,e,roota,toe,cic,crc,cis,crs,cuc,cus,omega0,omega,i0,omegadot,idot; double n,n0,dott,t,tk,mk,ek,vk,ak,u,r,i,uk,rk,ik,xk,yk,wk,we,x,y,z; int k,j; cout<<"输o?入¨?秒?数oy据Y参?数oy toc\n"; cin>>toc; cout<<"输o?入¨?秒?数oy据Y幂Y数oy\n"; cin>>k; toc=toc*pow(10,k); cout<<"输o?入¨?时o?à钟¨?修T正y2 a2\n"; cin>>a2; cout<<"输o?入¨?时o?à钟¨?修T正y1 a1\n"; cin>>a1; cout<<"输o?入¨?时o?à钟¨?修T正y0 a0\n"; cin>>a0; cout<<"输o?入¨?摄|?动?¥改?正y数oy dn\n"; cin>>dotn; cout<<"输o?入¨?观?测a时o?à间? t'\n"; cin>>t1; cout<<"输o?入¨?反¤??常?ê m0\n"; cin>>m0; cout<<"输o?入¨?偏?心?率¨o e\n"; cin>>e; cout<<"输o?入¨?长?è半??径?平?方¤?根¨′ roota\n"; cin>>roota; cout<<"输o?入¨?星?历¤¨2基¨′准á?时o?à间?系|ì数oy toe\n"; cin>>toe; cout<<"输o?入¨?星?历¤¨2基¨′准á?时o?à间?幂Y数oy\n"; cin>>j; toe=toe*pow(10,j); cout<<"输o?入¨?对?倾?角?余?¨¤弦¨?校?ê正y值|ì cic\n"; cin>>cic;

GPS卫星位置的计算

GPS卫星位置的计算 利用C++编写了一段能计算单一瞬时卫星坐标的程序,在运行程序之前,需做部分准备工作:(1)在F盘下建立一名为“单一卫星广播星历”的txt文件。 (2)从“广播星历.txt”文件中拷贝从卫星PRN号开始的8行数据到“单一卫星广播星历.txt”中 (3)在编辑选项中,将全部的“D”替换为“E”。 下面为我所选取的一个广播星历: 18 06 8 25 6 0 0.0-2.472363412380E-04-1.023*********E-12 0.000000000000E+00 1.410000000000E+02-1.721875000000E+01 4.502687555010E-09 1.413760604187E+00 -7.990747690201E-07 7.598234573379E-03 1.118145883083E-05 5.153709835052E+03 4.536000000000E+05-1.303851604462E-08-1.095067942661E-01 1.527369022369E-07 9.571235745530E-01 1.640000000000E+02-2.656176299285E+00-8.0374********E-09 -5.193073455211E-10 1.000000000000E+00 1.389000000000E+03 0.000000000000E+00 2.000000000000E+00 0.000000000000E+00-1.024*********E-08 1.410000000000E+02 4.464490000000E+05 4.000000000000E+00 程序设计部分: #include #include int main() { int i = 0; double n[50], n0, nn, t, tk, Mk, Ek, Vk, Yk, Gu, Gr, Gi, uk, rk, ik, xk, yk, zk, X, Y, Z, Lk, UT, yy, mm, JD, gpsz; FILE *fp; fp = fopen("F:\\单一卫星广播星历.txt", "r"); if (fp == NULL) { printf ("文件打开失败!\n"); return 0; } while (! feof (fp)) { fscanf(fp, "%lf", &n[i]); i++; } n0 = (sqrt(3986005E+8))/pow(n[17], 3); nn = n0 + n[12];/*计算卫星运行的平均角速度*/ UT = n[4] + (n[5] / 60) + (n[7] / 3600);/*民用日的时分秒化为实数时*/ if (n[1] >= 80)/*广播星历中年只有后两位,化为4位,参考1980年1月6日0点*/ { if (n[1] == 80 && n[2] == 1 && n[3] < 6) { n[1] = n[1] + 2000; } n[1] = n[1] + 1900;

北斗、Galileo、GLONASS、GPS定位导航系统对比

世界有四大定位导航系统,分别是中国的北斗卫星定位系统、欧盟的Galieo、俄罗斯的GLONASS、美国人的GPS定位系统。 目前在世界上运用最广泛的是GPS定位导航系统()。 全球导航卫星系统 GLONASS的起步晚于GPS 9年。从前苏联1982年10月12日发射第一颗GLONASS卫星开始,到1996年,13年时间内历经周折,虽然遭遇了苏联的解体,由俄罗斯接替部署,但始终没有终止或中断GLONASS卫星的发射。1995年初只有16颗GLONASS卫星在轨工作,19 95年进行了三次成功发射,将9颗卫星送入轨道,完成了24颗工作卫星加1颗备用卫星的布局。经过数据加载、调整和检验,已于1996年1月18日.整个系统正常运行。 1卫星星座 GLONASS卫星星座的轨道为三个等间隔椭圆轨道,轨道面间的夹角为120度,轨道倾角64.8度,轨道的偏心率为o.01,每个轨道上等间隔地分布8颗卫星。卫星离地面高度19 100km,绕地运行周期约11小时15分,地迹重复周期8天,轨道同步周期17困。 由于GLONASS卫星的轨道倾角大于GPS卫星的轨道倾角,所以在高纬度(50度以上)地区的可视性较好。 每颗GLONASS卫星上装有艳原子钟以产生卫星上高稳定时标,并向所有星载设备的处理提供同步信号。星载计算机将从地面控制站接收到的专用信息进行处理,生成导航电文向用户广播。导航电文包括:①星历参数;②星钟相对于GLONASS时的偏移值;③时间标记; ④GLONASS历书。 GLONASS卫星向空间发射两种载波信号。L1频率为—.L2频率为1.246—1.256MHz 为民用,L2供军用。 2.地面探制系统

卫星导航定位算法与程序设计_单点定位程序流程

GPS 单点定位程序流程 、计算流程 读取RINEX N 文件,将所有星历放到一个列表(数组) ephlst 中。 数据预处理 根据epoch 中的卫星号和历元时刻T R 在ephlst 查找相应的卫星星历, 1、 2、 读取RINEX 以件,读取一个历元观测值epoch 3、 4、 准则T R TOE 3600.0s 。 程序初始化,置测站概略位置为X r ,接收机钟差初值dt r 。 X o X 0 X Y dt Z 第一次迭代,取X 。 o cdt r 0 0 0 5、选择epoch 中一颗卫星S i 观测值,设其伪距为 S 6、计算卫星§的信号发射的概略时刻T*方法如下: a )卫星S i 的信号传播时间:0S Si / c dt r dt Si ;dt Si 为卫星钟差,需要进行相 对论改正; b )卫星S i 的信号发射时刻:T S T R Si ; c )卫星S i 在T Si 时刻的位置X S T Si X S Y Si Z Si d )对卫星位置X Si T Si 进行地球自转改正,得到 Xj e )根据X W i T Si 和测站概略位置X r 计算卫星和测站的几何距离 R S f )根据几何距离R Si 求信号传播时间I S R S /c

g ) 如果/ o S 10 7,则退出迭代。T 1Si T R :即为卫星信号发射时刻 h ) 否则0s i Si ,回带到b )进行迭代。 7、 求卫星§方向余弦 V V s i VW S 77S s 入入 I S 丫丫 s ZZ s A t o ' S — ,b i S ,炬’ S ,b ; 1 R i R S R S 8、 求卫星S 在观测方程式中的余数项: 其中: Si —— 卫星S j 的伪距观测值; R Si —— 卫星S 到测站的几何距离; c dt S 以米表示的卫星S i 的钟差; d trop —— 对流层延迟改正量,单位米,用简化的 hopfield 模型计算; d iono —— 电离层延迟改正量,单位米,采用无电离层伪距组合观测值时,此项为 0; D RTCM ——对伪距的差分改正值,此处为 0; 10、 重复第6— 9步,计算每颗卫星的系数和余数项 11、 将所有卫星的系数组成误差方程,以 x,y,z,cdt r 为未知参数进行求解,形 式应该是:AX L b S 0 t 1So 玻。 1 b? b* b ; 1 T S S S A 2 X x y z cdt L I s0 l S1 L l Si M M M M b S b Si b ; 1 i 0,1,L ,svnum 1 12、 求解法方程X A T PA 1 A T PL ,求出定位结果 |Si Si R Si c dt Si d trop d iono D RTC M 9、 选择epoch 中下一颗卫星S j 观测值,设其伪距为 S j

相关文档
相关文档 最新文档