卫星坐标计算实验

合集下载

GPS卫星的坐标计算

GPS卫星的坐标计算

GPS卫星的坐标计算第三章GPS 卫星的坐标计算在⽤GPS 信号进⾏导航定位以及制订观测计划时,都必须已知GPS 卫星在空间的瞬间位置。

卫星位置的计算是根据卫星导航电⽂所提供的轨道参数按⼀定的公式计算的。

3.1卫星运动的轨道参数3.1.1基本概念 1.作⽤在卫星上⼒卫星受的作⽤⼒主要有:地球对卫星的引⼒,太阳、⽉亮对卫星的引⼒,⼤⽓阻⼒,⼤⽓光压,地球潮汐⼒等。

中⼼⼒:假设地球为匀质球体的引⼒(质量集中于球体的中⼼),即地球的中⼼引⼒,它决定卫星运动的基本规律和特征,决定卫星轨道,是分析卫星实际轨道的基础。

此种理想状态时卫星的运动称为⽆摄运动,卫星的轨道称为⽆摄轨道。

摄动⼒:也称⾮中⼼⼒,包括地球⾮球形对称的作⽤⼒、⽇⽉引⼒、⼤⽓阻⼒、⼤⽓光压、地球潮汐⼒等。

摄动⼒使卫星运动产⽣⼀些⼩的附加变化⽽偏离理想轨道,同时这种偏离量的⼤⼩随时间⽽改变。

此种状态时卫星的运动称为受摄运动,卫星的轨道称为受摄轨道。

虽然作⽤在卫星上的⼒很多,但这些⼒的⼤⼩却相差很悬殊。

如果将地球引⼒当作1的话,其它作⽤⼒均⼩于10-5。

2.⼆体问题研究两个质点在万有引⼒作⽤下的运动规律问题称为⼆体问题。

3.卫星轨道和卫星轨道参数卫星在空间运⾏的轨迹称为卫星轨道。

描述卫星轨道状态和位置的参数称为轨道参数。

3.1.2卫星运动的开普勒定律(1)开普勒第⼀定律卫星运⾏的轨道为⼀椭圆,该椭圆的⼀个焦点与地球质⼼重合。

此定律阐明了卫星运⾏轨道的基本形态及其与地⼼的关系。

由万有引⼒定律可得卫星绕地球质⼼运动的轨道⽅程。

r 为卫星的地⼼距离,as 为开普勒椭圆的长半径,es 为开普勒椭圆的偏⼼率;fs 为真近点⾓,它描述了任意时刻卫星在轨道上相对近地点的位置,是时间的函数。

(2)开普勒第⼆定律卫星的地⼼向径在单位时间内所扫过的⾯积相等。

表明卫星在椭圆轨道上的运⾏速度是不断变化的,在近地点处速度最⼤,在远地点处速度最⼩。

近地点远地点ss s s f e e a r cos 1)1(2+-=(3卫星运⾏周期的平⽅与轨道椭圆长半径的⽴⽅之⽐为⼀常量,等于GM 的倒数。

卫星坐标计算实验

卫星坐标计算实验

卫星坐标计算实验
1.准备工作:首先,需要准备一台GPS接收机,该接收机能够接收卫星信号,并能够测量接收机与卫星之间的距离。

同时,需要准备地面控制点,这些点的坐标已经被精确测量过。

2.数据采集:在测量过程中,需要将接收机安装在需要测量的位置,并进行信号接收和数据采集。

通常,需要同时接收至少4颗卫星的信号,以便进行测量。

采集的数据包括每颗卫星的位置和接收机与卫星之间的距离。

3.数据处理:采集到的数据被传输到计算机中进行处理。

首先,通过信号传播速度和接收时间的差异,可以计算出接收机与卫星之间的距离。

然后,利用解算算法,可以计算出接收机的坐标。

4.坐标计算:在计算过程中,需要使用地面控制点的坐标作为参考。

通过对接收机与卫星之间的距离进行多次计算和优化,可以得到更准确的坐标信息。

卫星坐标计算实验的目的是为了确定地球上其中一点的准确位置。

这项实验在地理测量、航海、导航等领域都有广泛的应用。

例如,在地理测量中,通过测量多个地面控制点的坐标,可以绘制出地球的三维模型。

在航海中,通过测量船只的坐标,可以确定船只的位置和航线。

在导航中,通过接收GPS信号,可以确定当前位置并寻找最优路径。

总之,卫星坐标计算实验是一项复杂的技术任务,但它为人们提供了一种准确、高效的方法来确定地球上的位置。

通过这项实验,我们可以更好地了解地球的结构和特征,并且可以在航海、导航等领域中提供准确的位置信息。

GPS卫星的坐标计算

GPS卫星的坐标计算

第三章GPS 卫星的坐标计算在用GPS 信号进行导航定位以及制订观测计划时,都必须已知GPS 卫星在空间的瞬间位置。

卫星位置的计算是根据卫星导航电文所提供的轨道参数按一定的公式计算的。

3.1卫星运动的轨道参数3.1.1基本概念 1.作用在卫星上力卫星受的作用力主要有:地球对卫星的引力,太阳、月亮对卫星的引力,大气阻力,大气光压,地球潮汐力等。

中心力:假设地球为匀质球体的引力(质量集中于球体的中心),即地球的中心引力,它决定卫星运动的基本规律和特征,决定卫星轨道,是分析卫星实际轨道的基础。

此种理想状态时卫星的运动称为无摄运动,卫星的轨道称为无摄轨道。

摄动力:也称非中心力,包括地球非球形对称的作用力、日月引力、大气阻力、大气光压、地球潮汐力等。

摄动力使卫星运动产生一些小的附加变化而偏离理想轨道,同时这种偏离量的大小随时间而改变。

此种状态时卫星的运动称为受摄运动,卫星的轨道称为受摄轨道。

虽然作用在卫星上的力很多,但这些力的大小却相差很悬殊。

如果将地球引力当作1的话,其它作用力均小于10-5。

2.二体问题研究两个质点在万有引力作用下的运动规律问题称为二体问题。

3.卫星轨道和卫星轨道参数卫星在空间运行的轨迹称为卫星轨道。

描述卫星轨道状态和位置的参数称为轨道参数。

3.1.2卫星运动的开普勒定律 (1)开普勒第一定律卫星运行的轨道为一椭圆,该椭圆的一个焦点与地球质心重合。

此定律阐明了卫星运行轨道的基本形态及其与地心的关系。

由万有引力定律可得卫星绕地球质心运动的轨道方程。

r 为卫星的地心距离,as 为开普勒椭圆的长半径,es 为开普勒椭圆的偏心率;fs 为真近点角,它描述了任意时刻卫星在轨道上相对近地点的位置,是时间的函数。

(2)开普勒第二定律卫星的地心向径在单位时间内所扫过的面积相等。

表明卫星在椭圆轨道上的运行速度是不断变化的,在近地点处速度最大,在远地点处速度最小。

近地点远地点ss s s f e e a r cos 1)1(2+-=(3卫星运行周期的平方与轨道椭圆长半径的立方之比为一常量,等于GM 的倒数。

gnss解算坐标

gnss解算坐标

gnss解算坐标
全球导航卫星系统(GNSS)是一种利用卫星信号进行定位和导航的技术。

通过接收至少四颗卫星的信号,可以确定接收设备的位置。

GNSS 解算坐标的过程通常涉及以下步骤:
1. 卫星信号接收:接收设备(如 GPS 接收器)接收来自卫星的信号。

这些信号包含了卫星的位置和时间信息。

2. 信号处理:接收设备对卫星信号进行处理,包括捕获、跟踪和解调。

这有助于提取有用的信息,如卫星的伪距和相位。

3. 位置计算:利用接收到的卫星信号,接收设备可以计算出与每个卫星的距离。

通过至少四颗卫星的距离信息,可以使用三角测量原理确定接收设备的位置。

4. 坐标转换:确定的位置通常以地球坐标系(如 WGS84)表示。

如果需要将其转换为其他坐标系(如UTM 或当地坐标系),则需要进行坐标转换。

5. 误差修正:由于各种因素(如卫星信号传播延迟、多径效应等),GNSS 测量存在误差。

为了提高定位精度,通常会使用各种误差修正模型和算法来减少这些误差。

需要注意的是,GNSS 解算坐标的精度受到多种因素的影响,包括卫星几何分布、信号遮挡、多径效应、大气影响等。

在实际应用中,可能需要使用辅助技术(如差分 GPS)来提高定位精度。

以上是 GNSS 解算坐标的一般过程。

具体的实现方式可能因使用的设备和算法而有所不同。

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+001.410000000000E+02-1.721875000000E+01 4.502687555010E-09 1.413760604187E+00-7.990747690201E-07 7.598234573379E-03 1.118145883083E-05 5.153709835052E+034.536000000000E+05-1.303851604462E-08-1.095067942661E-01 1.527369022369E-079.571235745530E-01 1.640000000000E+02-2.656176299285E+00-8.0374********E-09-5.193073455211E-10 1.000000000000E+00 1.389000000000E+03 0.000000000000E+002.000000000000E+00 0.000000000000E+00-1.024*********E-08 1.410000000000E+024.464490000000E+05 4.000000000000E+00程序设计部分:#include<stdio.h>#include<math.h>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 mY = 24133486.931401 mZ = 6032585.919385 m。

GPS用户位置求解Matlab仿真121118

GPS用户位置求解Matlab仿真121118
( x x ) 2 ( y y ) 2 ( z z ) 2 c u u u u 1 1 1 1 2 ( x2 xu ) 2 ( y2 yu ) 2 ( z2 zu ) 2 c u 2 2 2 N ( xN xu ) ( y N yu ) ( z N zu ) c u
2、伪距测量模拟函数 CalculatePseudoRange
function Prange=CalculatePseudoRange(SatellitePosition,UserPosition) 算机模拟伪距测量 %计
c=3e5; %光速,单位:km/s; DeltaT=1e-4; %钟差为 1e-4 数量级秒,假设卫星钟间时钟一致,DeltaT=Tu-Ts;钟差不 宜超过 3e-4,否则不收敛; VisSatNum=0; %首先找出可以观测到的卫星数量 SatellitePosNew=[]; for k=1:24 if SatellitePosition(k,4)==1 VisSatNum=VisSatNum+1; SatellitePosNew=[SatellitePosNew; SatellitePosition(k,1:3)];
end %if end %for Prange=ones(1,VisSatNum); %求解用户接收机收到的伪距信息 for n=1:VisSatNum Prange(1,n)=sqrt( (SatellitePosNew(n,:)-UserPosition) (SatellitePosNew(n,:)-UserPosition)' + c*DeltaT ); end
三、实验内容
1、熟悉 Matlab 编程的语法、环境。 2、定位程序是一个迭代运算程序,卫星坐标和用户坐标由上述语句给出,运行程序,

计算卫星位置

计算卫星位置

3. 卫星视位置计算
3. 卫星视位置计算
• 已知条件
➢ 测站在地心地固坐标系中的坐标 ➢ 卫星在地心地固坐标系中的坐标
X P ,YP , Z P
XS ,Y S ,Z S
• 未知数
➢ 卫星在站心直角坐标系中的坐标 N , E,U
➢ 卫星在站心极坐标系中的坐标 A, h, d
(1)站心直角坐标系
• 坐标原点:P点 • N:指向真北 • E:指向东方 • U:法向 • 左手坐标系
d
Rz G
dt
X Y Z
cs
Rz
G
X
Y
Z
cs
d
Rz G
dt
e
地球自转角速度
(4)协议地球坐标系的速度
X
X
Y Ry (xp )Rx ( yp ) Y
Z
CTS
Z
et
X Y Z
CTS
X
R2( xp )R1( yp ) Y Z
et
§2.4 二体问题的卫星星历计算
• 1. 卫星的瞬时位置 • 2. 卫星的运行速度 • 3. 卫星视位置计算 • 4. 卫星位置和速度计算的实用方法
知识回顾
Z
赤道
地心
ω
春分点
Ω
f 近地点
i
Y
X
轨道
升交点
b
a
• a:轨道椭圆长半轴。
• e:轨道椭圆的偏心率。
以上2个参数,确定了开普勒椭圆的形状和 大小。
知识回顾
Z
赤道
地心
ω
春分点
Ω
f 近地点
i
Y
X
轨道
升交点
ω:近地点角距。即在轨道平面上,升交点与近地点之间的地心夹角。 这1个参数表达了开普勒椭圆在轨道面上的定向。

GPS卫星坐标计算分解

GPS卫星坐标计算分解
第二章 GPS卫星位置的计算
主要内容 2.1卫星坐标系简介 2.2偏近点角E与真近点角f的关系公式推导 2.3卫星位置计算推导过程 2.4二体问题的星位置计算解析
第二章 GPS卫星位置的计算
2.1卫星坐标系简介
一、WGS-84大地坐标系 1、WGS-84大地坐标系定义
WGS-84(World Geodetic System,1984年)是美国国防 部研制确定的大地坐标系,其 坐标系的几何定义是:
顶为正),以子午线方向为x轴(向北为正 ),y轴与x、z轴垂直(向东为正)。
站心赤道直角坐标系与站心地平直角坐 标系之间的关系
X sin B cos L
Y
sin
B
sin
L
Z
站赤
cos B
sin L cos L
0
cos B cos L x
cos
B
sin
L
y
sin B z 地平
站心地平直角坐标系与球心空间直角坐
椭球第一偏心率: e2=0.00669437999013 地球引力常数: GM=(39860050.6)108(m3/s2)
正常化二阶带谐系数:J2=(–484.166851.30)10–9(rad/s) 地球自转角速度: ω=(72921150.1500)10–11(rad/s)
国际大地测量与地球物理联合会(IUGG)——International Union of Geodesy and Geophysics
1 e2 sin E
cos f
,sin f
1 e cos E
1 e cos E
第二章 GPS卫星坐标的计算 2.3 卫星在轨瞬时位置计算
2.3.1 广播星历
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西南交通大学
《卫星坐标计算实验》
实验报告
专业:
班级:
姓名:
学号:
成绩:
2017年3月20日
一、实验步骤:
1、将星历文件中需要的数据作为矩阵导入MA TLAB 中的变量。

2、编写计算程序代码
1)计算平均角速度0n :
03GM n a
=
2)改正平角速度n : 0n n n =+∆
3)计算平近点角t M :
0()t e M M n t t =+⨯-
4)通过迭代计算,计算偏近点角t E :
sin t t t E M e E =+
5)计算真近点角ν:
21sin =atan cos t t e E E e
ν-- 6)计算升交距角0u :
0u νω=+
7)计算卫星轨道摄动项改正数:
2cos sin cos sin cos sin u u Cuc Cus r Crc Crs i Cic Cis ϕϕϕ
ϕϕ
ϕϕ
=⨯∆=+∆=+∆=+
8)计算改正后的真近点角ν: 0t u u u =+∆
9)计算改正后的向径t r :
0t r r r =+∆
10)计算改正后的倾角t i :
0()t e i i i i t t =+∆+⨯-
11)计算轨道平面内的坐标:
cos sin 0t t t t t
t t x r u y r u z ⎡⎤⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦
12)计算观测瞬间升交点的经度t l :
0()t e e e
l l t t t ω=+Ω++ 13)计算旋转矩阵:
1000cos()sin()0sin()cos()x t t t t R i i i i ⎡⎤
⎢⎥=-⎢⎥⎢⎥⎣⎦ cos()sin()0sin()cos()
000
1t t z
t t
l l R l l -⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦
14)卫星坐标:
t z x t t X x Y R R y Z z ⎡⎤⎡⎤
⎢⎥⎢

=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦
15)计算钟差:
2012()()e e t a a t t a t t ∆=+⨯-+⨯-
二、实现代码:
function pos=SPOS(br,dt)
GM=3.986005e+14;
we=7.2921151467e-5;
%a0 a1 a2
a0=br(1,2);
a1=br(1,3);
a2=br(1,4);
% IODE Crs dn M0
Crs=br(2,2);
dn=br(2,3);
M0=br(2,4);
% Cuc e Cus sqA
Cuc=br(3,1);
e=br(3,2);
Cus=br(3,3);
sqA=br(3,4);
% toe Cic OM0 Cis
toe =br(4,1);
Cic =br(4,2);
OM0 =br(4,3);
Cis =br(4,4);
% i0 Crc w DOM
i0 =br(5,1);
Crc =br(5,2);
w =br(5,3);
DOM =br(5,4);
% Di week
Di=br(6,1);
n0=sqrt(GM)/sqA^3;
n=n0+dn;
Mk=M0+n*dt;
Ek=Mk;Te=inf;
while abs(Te-Ek)>1e-14
Te=Ek;
Ek=Mk+e*sin(Ek);
end
xx=cos(Ek)-e;yy=sqrt(1-e*e)*sin(Ek);
v=atan2(yy,xx);
u=v+w;
du=Cuc*cos(2*u)+Cus*sin(2*u);
dr=Crc*cos(2*u)+Crs*sin(2*u);
di=Cic*cos(2*u)+Cis*sin(2*u);
uk=u+du;
rk=sqA*sqA*(1-e*cos(Ek))+dr;
ik=i0+di+Di*dt;
X=[rk*cos(uk);rk*sin(uk);0];
Rx=[1 0 0;0 cos(ik) -sin(ik);0 sin(ik) cos(ik)]; lt=OM0+(DOM-we)*(toe+dt)-DOM*toe;
Rz=[cos(lt) -sin(lt) 0;sin(lt) cos(lt) 0;0 0 1];
%计算钟差
ddt=a0+a1*(dt-toe)+a2*(dt-toe)^2;
disp(ddt);
pos=Rz*Rx*X;
end
三、实验结果:。

相关文档
最新文档