地球卫星三维运行轨道MATLAB仿真

合集下载

GPS卫星轨道计算及其MATLAB仿真

GPS卫星轨道计算及其MATLAB仿真

GPS卫星轨道计算及其MATLAB仿真黎奇,白征东,李帅,陈波波(清华大学地球空间信息研究所,北京 100084)一、程序设计思路1. 读取RINEX文件(注意:文件路径)2. 计算测量日周积秒(测量日的格里历→GPST)3. 按卫星轨道计算步骤计算WGS-84坐标系坐标(内插)4. 按需要将WGS-84坐标系下坐标转换为所需坐标系坐标5. 画图输出二、n 文件说明及读取程序参考时刻oe t 的RINEX 格式的 “”广播星历文件具体如下:(加粗部分为本次轨道化Ω,率i ,弧度/秒4-22)标svacc ,米)收到的卫星信号解,秒)文件名:RinexNreader.m 输 入:文件地址,卫星编号三、计算测量日的周积秒文件名:GCtoGPS.m (其中调用函数:GCtoJD.m)输入:指定公历的年、月、日、时、分、秒文件名:GCtoJD.m输 入:指定公历的 年、月、日四、GPS 卫星轨道计算步骤及计算程序1. 计算卫星运动的平均角速度n平均角速度()03n =经摄动参数n ∆改正后的平均角速度0n n n =+∆3#61-79),n ∆(2#42-60);14323.98600510/GM m s =⨯ 2. 计算归化时间k t说明:①广播星历是oe t 时刻的,对应的轨道参数也是oe t 时刻的,而观测时间在t 时刻,显然oe t t <。

所以,要想获得t 时刻的轨道参数,需要知道t 与oe t 之间的差值即k t 。

以此,按照oe t 时刻轨道参数,外推t 时刻轨道参数。

②k t 的起算时间是星期六/星期日子夜0点,当302400k t s >时,604800k t s -;当302400k t s <-时,+604800k t s 。

(604800s=1周) =k oe t t t -,且604800302400604800302400k k k k k k t t t t t t =-⎧⎨=+⎩> <-已知:oe t (1#4-21)3. 计算观测时刻的平近点角k M0k k M M nt =+已知:0M (2#61-79),n (见1),k t (见2) 4. 计算观测时刻的偏近点角k Esin k k k E M e E =+已知:k M (见3),e (3#23-41)方法:迭代解算,设初值0k k E M =,迭代2次基本收敛。

matelab星体运动轨迹

matelab星体运动轨迹

嫦娥一号与月亮、地球、太阳关系演示图欧阳仕粮学号:20084051014(吉首大学物理与机电工程学院,湖南吉首416000)摘要:用matlab模拟嫦娥一号人造卫星运围绕月球做周期性运动时,人造卫星、月球、地球相对于太阳的运动轨迹动画。

展现了人造卫星绕月飞行时相对与参照物太阳的运动轨迹,便于直观的了解卫星相对于太阳的相对运动。

关键词:卫星运动轨迹;相对运动;数学软件matlab1、引言大家都知道我们所了解的地球围绕太阳做近似圆周运动的规则运动,当然月球,人造地球卫星也是如此,而我们一直以来所关注的登月工程的探月卫星也是这样一种情况。

那月球、探月卫星嫦娥一号相对于太阳是一个怎样的情形,下面通过计算机软件matlab,来模拟一下月球、嫦娥一号相对太阳的运动动画,并描绘出轨迹。

2、原理假设我们所研究的所有星体处在同一水平面上。

地球距太阳的的平均距离为R,月球距地球的平均距离为r1,嫦娥一号距月球的平均距离为r2,地球公转角速度w1,月亮公转角速度w2,嫦娥一号绕月亮公转角速度w3。

我们从0每隔0.01到2 取一个弧度s1。

地球相对太阳转过的角度sita1,月亮相对地球转过的角度sita2,嫦娥一号相对月球转过的角度sita3,设开始时间为t=0,然后每隔时间T进行一次取样计算,计算各个星体的的位置坐标。

首先,确定太阳的位置为(0,0),根据圆周运动的轨迹方程确定地球的运行轨道(R*cos(s1),R*sin(s1)),确定月球围绕地球公转的轨道(R*cos(sita1)+r1*cos(s1),R*sin(sita1)+r1*sin(s1)),再确定画嫦娥一号绕月亮公转轨道(R*cos(sita1)+r1*cos(sita1)+r2*cos(s1),R*sin(sita1)+r1*sin(sita1)+r2*sin(s1)),这样就找出了地球、月球、嫦娥一号的轨迹。

分别在matlab中用plot函数画出。

基于Matlab虚拟现实3D动画显示模块的卫星地面仿真系统

基于Matlab虚拟现实3D动画显示模块的卫星地面仿真系统

lt n o b ts a e,o v l p 3 diply s s e wih Op nGL nd D3 t c i ue whih a e ie o r i t t r de e o D s a y t m t e a D e hn q c r
ve y ha d a d tm e c ns m i . So, t p p r i s a r r n i o u ng he a e g ve ne w d sgn o t e Sa e lt G r un e i f h t lie o d S m u a i s e b s d o it a iy 3 D iply M od lofM a l b w h c a a e i l ton Sy t m a e n V r ue Re lt D s a e ta i h c n m ke us oft e e s i g m od li a l b t s a ih t a h m a ia o la he d s a y t m . h xitn e n M ta o e t bls he m t e tc lm de nd t ipl y s s e
戴 路 , 金 光 , 徐 伟 , 谷 松
( 国 科学 院 长 春 光 学 精 密 机 械 与 物 理 研究 所 , 中 吉林 长 春 1 0 3 , — i: di @ y h oc i.n 3 0 3 Ema z al l j u a o .o c ) n
摘 要 :由 于 传 统 的 地 面 仿 真 系 统 往 往 是 基 于 VC +语 言 开 发 的 , 发 过 程 非 常 复 杂 , 且 进 行 卫 星模 拟 在 + 开 并
Vi t e R e lt D ipl y M o e fM a l b r u a iy 3 D s a d lo ta

GPS卫星运动及定位matlab仿真设计毕业设计

GPS卫星运动及定位matlab仿真设计毕业设计

GPS卫星运动及定位matlab仿真设计毕业设计目录第一章前言 (1)1.1课题背景 (1)1.2本课题研究的意义和方法 (2)1.3GPS前景 (2)第二章 GPS测量原理 (4)2.1伪距测量的原理 (4)2.1.1 计算卫星位置 (5)2.1.2 用户位置的计算 (5)2.1.3 最小二乘法介绍 (5)2.2载波相位测量原理 (6)第三章 GPS的坐标、时间系统 (10)3.1坐标系统 (10)3.1.1 天球坐标系 (10)3.1.2 地球坐标系 (12)3.2时间系统 (13)3.2.1 世界时系统 (14)3.2.2 原子时系统 (15)3.2.3动力学时系统 (16)3.2.4协调世界时 (16)3.2.5 GPS时间系统 (16)第四章卫星运动基本定律及其求解 (18)4.1开普勒第一定律 (18)4.2开普勒第二定律 (19)4.3开普勒第三定律 (20)4.4卫星的无摄运动参数 (20)4.5真近点角的概念及其求解 (21)4.6卫星瞬时位置的求解 (22)第五章 GPS的MATLAB仿真 (25)5.1卫星可见性的估算 (25)5.2GPS卫星运动的MATLAB仿真 (26)结论 (38)致谢 (40)参考文献 (41)附录 (42)第一章前言1.1 课题背景GPS系统的前身为美军研制的一种子午仪卫星定位系统(Transit),1958年研制,64年正式投入使用。

该系统用5到6颗卫星组成的星网工作,每天最多绕过地球13次,并且无法给出高度信息,在定位精度方面也不尽如人意。

然而,子午仪系统使得研发部门对卫星定位取得了初步的经验,并验证了由卫星系统进行定位的可行性,为GPS系统的研制埋下了铺垫。

由于卫星定位显示出在导航方面的巨大优越性及子午仪系统存在对潜艇和舰船导航方面的巨大缺陷。

美国海陆空三军及民用部门都感到迫切需要一种新的卫星导航系统[13]。

1973年12月 ,美国国防部批准它的陆海空三军联合研制新的卫星导航系统: NAVSTAR/GPS。

基于Matlab虚拟现实3D动画显示模块的卫星地面仿真系统

基于Matlab虚拟现实3D动画显示模块的卫星地面仿真系统
第 26 卷 第 5 期 2011 年 10 月
液 晶 与 显 示
Chinese Journal of Liquid Crystals and Displays
文 章 编 号 :1007-2780(2011)05-0688-05
Vol.26,No.5 Oct.,2011
基于 Matlab虚拟现实3D 动画显示模块的 卫星地面仿真系统
q = 12Ω(ωBN)·q
(2)
从式(1)、(2)可 以 看 出,模 型 是 一 个 非 常 复 杂的 非 线 性 微 分 方 程,如 进 行 VC+ + 编 程 难 度
Satellite Ground Simulation System Based on Virtue Reality 3D Display Model of Matlab
DAI Lu,JIN Guang,XU Wei,GU Shong
(Changchun Institute of Optics,Fine Mechanics and Physics,Chinese Academy of Sciences, Changchun 130033,China,E-mail:zjdailu@yahoo.com.cn)
TSC695
CAN
卫星在轨状态实时 动画显示计算机
姿态控制计算机
测控数传计算机
热控电源计算机
UDP
载荷计算机
虚拟环境及姿 态信息计算机
图 1 地 面 仿 真 系 统 结 构 图 Fig.1 Structure of the ground simulation system
实时仿真信息产生及发送系统的功能是为地 面仿真系统提供一个尽量贴近真实情况的仿真环 境。以往,这种环 境 信 息 都 由 一 台 计 算 机 搭 配 专 门编写的仿真软件进行仿真。这种做法有明显的 缺 点 ,就 是 针 对 性 太 强 ,系 统 不 具 备 快 速 修 改 调 整 的能力;并 且 这 种 专 门 的 软 件 一 般 采 用 VC+ + 进 行 编 写 ,软 件 规 模 很 大 ,实 现 过 程 非 常 复 杂 。 针 对上 述 缺 点,仿 真 系 统 拟 采 用 基 于 Matlab real time windows target模 块 的 仿 真 环 境 。 这 种 模 块 有以下优点:

matlab中crtbp函数的用法

matlab中crtbp函数的用法

matlab中crtbp函数的用法全文共四篇示例,供读者参考第一篇示例:MATLAB是一种强大的计算工具,在工程和科学领域拥有广泛的应用。

在使用MATLAB进行动力学仿真时,经常会用到在空间中存在多个天体的情况。

为了模拟这种情况,MATLAB提供了一个重要的函数——crtbp函数。

crtbp函数的全称是Circular Restricted Three Body Problem,即圆限制性三体问题。

这个函数是用来解决在环绕两个天体旋转的半径相等、角速度相等的惯性系中的一个质点的运动问题。

在地球和月球之间飞行的航天器就是一个广为人知的实例。

这个系统中,地球和月球是两个主天体,航天器是一个小的质点,它在重力场中受到地球和月球的引力。

在MATLAB中,使用crtbp函数可以方便地模拟这种情况。

这个函数的语法如下:```matlab[T,Y] = crtbp(tspan, y0);```tspan是仿真的时间区间,y0是初始条件。

T是仿真的时间点,Y 是对应的状态变量矩阵。

状态变量矩阵的每一行是一个时间点的状态变量,包括位置和速度。

在使用crtbp函数时,需要先定义两个主天体的质量和半径。

然后,需要设置初始条件y0,包括质点的初始位置和速度。

接着,调用crtbp函数进行仿真,得到时间和状态变量的矩阵。

可以用绘图函数将仿真结果可视化,分析质点的轨迹和运动规律。

这个函数的灵活性和便捷性使得它在航天器轨道设计、实时飞行控制等方面得到了广泛的应用。

通过对crtbp函数的调用,工程师和科学家能够更好地理解和预测天体运动的规律,为航天器的设计和控制提供有力的支持。

MATLAB中的crtbp函数是一个非常有用的工具,可以帮助用户解决圆限制性三体问题,模拟多天体系统的运动。

通过灵活的参数设置和强大的计算能力,crtbp函数将为工程师和科学家们在空间探索和飞行控制领域带来更多的启发和帮助。

第二篇示例:MATLAB中的crtbp函数是一个非常实用的工具,用于求解三体问题中贝瑞·曼恩核。

MATLAB图形及三维动画仿真设计

MATLAB图形及三维动画仿真设计

[X,Y]=meshgrid(x,y);
p=sqrt(4-X.^2/9-Y.^2/4);
subplot(3,2,1);mesh(p); %有网格 格子图,色调方向:有上
subplot(3,2,2);surf(p); %默认的方向:色调方向:有上到
subplot(3,2,3);surfc(p); %带等高线;色调方向:有上到下
axis([0 6 8 18])
z=f(x,y) — 根据x,y坐标找出z的高度 例:绘制z=x2+y2的三维网线图形
>>x=-5:5; y=x; >>[X,Y]=meshgrid(x,y); >>Z=X.^2+Y.^2 ; >>mesh(X,Y,Z)
(五)三维曲面图
■ surf —— 三维曲面绘图函数,与网格图看起来一样 与三维网线图的区别: 网线图:线条有颜色,内部是黑色的(无颜色) 曲面图:线条是黑色的,内部有颜色(把线条之间的空


■ fill3(x,y,z,"w"); ■ hold on; ■ plot3(x,y,z,"ro") ■ grid on ■ xlabel("x轴"),ylabel("y轴"),zlabel("z轴") ■ axis([0 10 0 10 0 10])
(四)三维网格图
所谓网格图,是指把相邻的数据点连接起来形成的网状曲 面。利用在X-Y平面的矩形网格点上的Z轴坐标值,Matlab 定义了一个网格曲面。三维网格图的形成原理为:在X-Y平 面上指定一个长方形区域,采用与坐标轴平行的直线将其分 格;计算矩形网格点上的函数值,即Z轴的值,得到三维空 间的数据点;将这些数据点分别用处于X-Z或者平行面内的 曲线和处于Y-Z或者平行面的曲面连接起来,即形成网格图。 网格图对于显示大型的数值矩阵很有用处。

地球卫星三维运行轨道MATLAB仿真

地球卫星三维运行轨道MATLAB仿真

地球卫星三维运行轨道MATLAB 仿真1、问题的描述轨道上运行的地球卫星,根据牛顿第二定律F=ma 以及万有引力定律3E F=-GmM*r/r ,可得3E a=-GM*r/r ,即3E 3E 3E x''= -GM*x/ry''= -GM*y/r; z''= -GM*z/r⎧⎪⎨⎪⎩(1)式中,(x ,y ,z )表示卫星的三维坐标,为-1122G=6.672*10(Nm /kg ∙引力常数,24E M =5.97*10(kg是地球的质量。

假定卫星的三个方向的初始位置和速度如下[x(0,y(0,z(0,x'(0,y'(0,z'(0]=[2043922.17 8186504.63 4343461.71 -5379.54 -407.10 3516.05]。

该卫星轨道求解过程实际上是求解一个二阶常微分方程,可首先将该方程转换为一阶常微分方程,令TX=[x,y,z,x',y',z'],故公式(1)可转化为 3E (4(5(6X'( ==-GM/r(1(2(3X X X t A A X A X A X ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥*⎢⎥⎢⎥*⎢⎥*⎣⎦(2)初始条件即为X(0=[2043922.17 8186504.63 4343461.71 -5379.54 -407.10 3516.05]。

2、MATLAB 仿真代码分两段程序:(1)子程序将二阶微分方程转换为一阶微分方程,代码如下function fy=vdp(t,xr=x(1^2+x(2^2+x(3^2;G=3.986005e14;A=-G/r^(3/2;fy=[x(4x(5x(6A*x(1A*x(2A*x(3];End(2)主程序如下,注意:为更好地查看卫星轨道与地球的相对位置关系,此处将地球模型图的绘制代码一并给出clear allclose allclcy0=[2043922.166765 8186504.631471 4343461.714791 -5379.544693 -407.095342 3516.052656];[t,result]=ode45(@vdp,[0:1:9000],y0;x=result(:,1;y=result(:,2;z=result(:,3;[X,Y,Z]=sphere(200;RE=0.64e7;X=RE*X;Y=RE*Y;Z=RE*Z;figure(1hold ongrid onmesh(X,Y,Z%绘制地球plot3(x,y,z%绘制卫星轨道仿真结果如下(给出两张图):-10-8-6-4-202468x 106-1 01x 107-8-6-4-22468x 106-17 -8-6 -4 -2 2468。

太阳地球月亮运动轨迹MATLAB仿真程序

太阳地球月亮运动轨迹MATLAB仿真程序

太阳地球月亮运动轨迹MATLAB仿真程序太阳、地球、月亮运动轨迹MATLAB仿真程序该代码包含了地球绕太阳运动,月亮绕地球运动的MATLAB轨迹仿真程序,实时显示地球、月亮的运动轨迹。

有兴趣的朋友可以购买,以供交流。

程序从第二页开始。

M文件1:draw_ball.m% 画三维球体的函数% (x0,y0,z0)为球心% r为球半径function draw_ball(x0, y0, z0, r) [x1, y1, z1]=sphere;x = x1*r + x0;y = y1*r + y0;z = z1*r + z0;surf(x,y,z);M文件2:draw_circle.m% 画二维圆形% (x0,y0)为圆心% r为圆半径function draw_circle(x0, y0, r) theta = 0:pi/100:2*pi;x = r*cos(theta)+x0;y = r*sin(theta)+y0;plot(x,y,'-r');M文件3:RungeKutta_EarthSun.m % 四阶Runge-kutta法解地日微分方程function yh = RungeKutta_EarthSun(w, h)oldy = w;k1 = dery(oldy);midy = oldy + k1*h/2;k2 = dery(midy);midy = oldy + k2*h/2;k3 = dery(midy);midy = oldy + k3*h;k4 = dery(midy);yh = oldy + (k1 + 2*k2 + 2*k3 + k4)*h/6;% 地日微分方程组function dy = dery(w)G = 6.674e-11; Ms = 1.989e30; miu_s = G * Ms; r2 = w(4)^2+w(5)^2;dy(1) = 1;dy(2) = (-1)*miu_s*w(4)/r2^1.5; dy(3) = (-1)*miu_s*w(5)/r2^1.5; dy(4) = w(2);dy(5) = w(3);M文件4:RungeKutta_MoonEarth.m % 四阶Runge-kutta法解地月微分方程function yh = RungeKutta_MoonEarth(w, h)oldy = w;k1 = dery(oldy);midy = oldy + k1*h/2;k2 = dery(midy);midy = oldy + k2*h/2;k3 = dery(midy);midy = oldy + k3*h;k4 = dery(midy);yh = oldy + (k1 + 2*k2 + 2*k3 + k4)*h/6;% 地月微分方程组function dy = dery(w)G = 6.674e-11; Me = 5.972e24; miu_e = G * Me; r2 = w(4)^2+w(5)^2;dy(1) = 1;dy(2) = (-1)*miu_e*w(4)/r2^1.5; dy(3) = (-1)*miu_e*w(5)/r2^1.5; dy(4) = w(2);dy(5) = w(3);M文件5:sun_earth_moon.m% 地月日全运动动态仿真程序clc; clear all; close all;G = 6.674e-11;% 引力常数Ms = 1.989e30; Rs = 696300e3;% 太阳的质量和半径Me = 5.972e24; Re = 6378e3;% 地球的质量和半径Mm = 7.348e22; Rm = 3678e3;% 月球的质量和半径sim_time = 3600*24*375;% 总仿真时间,375天,即约1年 h = 3600*24;%仿真步长,24小时,即1天w_e = [0 0 29535.6 1.52171522e11 0];% 地球相对太阳的初始位置 w_m =[w_e(1) 0 990.32 405500e3 0];% 月球相对地球的初始位置i = 1;% 用于记录解算的步数while w_e(1) <= sim_time% 解算地球相对于太阳的轨迹trajectory_earth2sun(:, i) = w_e;% trajectory_earth2sun存储地球相对于太阳的轨迹数据ye = RungeKutta_EarthSun(w_e, h);% 4阶Runge-kutta法解算地日微分方程w_e = ye;% 用于Runge-kutta法解算微分方程的初值i = i+1;% 解算一步则在步数上+1endi = 1;% 用于记录解算的步数while w_m(1) <= sim_time% 解算月球相对于地球的轨迹trajectory_moon2earth(:, i) = w_m;% trajectory_moon2earth存储月球相对于地球的轨迹数据ym = RungeKutta_MoonEarth(w_m, h);% 4阶Runge-kutta法解算地月微分方程w_m = ym;% 同上i = i+1;% 同上end% 计算月球相对于太阳的轨迹,trajectory_moon2sun存储月球相对于太阳的轨迹数据 trajectory_moon2sun(1,:) = trajectory_moon2earth(4,:) + trajectory_earth2sun(4,:);trajectory_moon2sun(2,:) = trajectory_moon2earth(5,:) +trajectory_earth2sun(5,:);size_enlge = 40;% 放大系数,用于放大太阳、地球、月球的半径,以便视觉观测figure;% /01/画出地日三维动态轨迹for j=1:i-1draw_ball(0, 0, 0, Rs*size_enlge); hold on;% 画太阳的三维模型title('地日-动态轨迹'); xlabel('x/m');ylabel('y/m');zlabel('z/m'); grid on;plot(trajectory_earth2sun(4, :), trajectory_earth2sun(5, :), '-r');% 画地球相对于太阳的轨迹线axis equal;draw_ball(trajectory_earth2sun(4, 1), trajectory_earth2sun(5, 1), 0, Re*size_enlge^2);% 初始位置的地球三维模型draw_ball(trajectory_earth2sun(4, j), trajectory_earth2sun(5, j), 0, Re*size_enlge^2);% 轨迹点上的地球三维模型pause(0.001);hold off;endfigure;% /02/画出地月三维动态轨迹for j=1:i-1draw_ball(0, 0, 0, Re*size_enlge/4); hold on;% 画地球的三维模型title('地月-动态轨迹'); xlabel('x/m');ylabel('y/m');zlabel('z/m'); grid on;plot(trajectory_moon2earth(4, :), trajectory_moon2earth(5, :), '-r');% 画月球相对于地球的轨迹线axis equal;draw_ball(trajectory_moon2earth(4, 1), trajectory_moon2earth(5, 1), 0, Rm*size_enlge/4);%初始位置的月球三维模型draw_ball(trajectory_moon2earth(4, j), trajectory_moon2earth(5, j), 0, Rm*size_enlge/4);%轨迹点上的月球三维模型pause(0.001);hold off;endfigure;% /03/画出地月日三维动态轨迹for j=1:i-1draw_ball(0, 0, 0, Rs*size_enlge); hold on;% 画太阳的三维模型title('地月日-动态轨迹'); xlabel('x/m');ylabel('y/m');zlabel('z/m'); grid on;plot(trajectory_earth2sun(4, :), trajectory_earth2sun(5, :), '-r');% 画地球相对于太阳的轨迹线plot(trajectory_moon2sun(1, :), trajectory_moon2sun(2, :), '-b');% 画月球相对于太阳的轨迹线axis equal;draw_ball(trajectory_earth2sun(4, 1), trajectory_earth2sun(5, 1), 0, Re*size_enlge/2);% 初始位置的地球三维模型draw_ball(trajectory_moon2sun(1, 1), trajectory_moon2sun(2, 1), 0, Rm*size_enlge/2);%初始位置的月球三维模型draw_ball(trajectory_earth2sun(4, j), trajectory_earth2sun(5, j), 0, Re*size_enlge/2);% 轨迹点上的地球三维模型draw_ball(trajectory_moon2sun(1, j), trajectory_moon2sun(2, j), 0, Rm*size_enlge/2);% 轨迹点上的月球三维模型pause(0.001);hold off;end% 放大地月之间的相对位置,以便三维视觉显示size_up = 15;% 放大倍数,用于放大地月之间的相对位置% trajectory_moon2earth_up存储放大后的月球到地球的位置数据trajectory_moon2earth_up(1,:) = size_up* (trajectory_moon2sun(1,:)-trajectory_earth2sun(4,:));trajectory_moon2earth_up(2,:) = size_up* (trajectory_moon2sun(2,:)-trajectory_earth2sun(5,:));% trajectory_moon2sun_up存储放大后的月球相对于太阳的轨迹数据trajectory_moon2sun_up(1,:) =(trajectory_earth2sun(4,:)+trajectory_moon2earth_up(1,:));trajectory_moon2sun_up(2,:) =(trajectory_earth2sun(5,:)+trajectory_moon2earth_up(2,:));figure;% /04/画出放大后的地月日三维动态轨迹for j=1:i-1draw_ball(0, 0, 0, Rs*size_enlge); hold on;% 画太阳的三维模型title('地月日-动态轨迹(放大)');xlabel('x/m');ylabel('y/m');zlabel('z/m'); grid on;plot(trajectory_earth2sun(4, :), trajectory_earth2sun(5, :), '-r');% 画地球相对于太阳的轨迹线plot(trajectory_moon2sun_up(1, :), trajectory_moon2sun_up(2, :), '-b');% 画月球相对于太阳的轨迹线axis equal;draw_ball(trajectory_earth2sun(4, 1), trajectory_earth2sun(5, 1), 0, Re*size_enlge*10);%初始位置的地球三维模型draw_ball(trajectory_moon2sun_up(1, 1), trajectory_moon2sun_up(2, 1), 0, Rm*size_enlge*10);% 初始位置的月球三维模型draw_ball(trajectory_earth2sun(4, j), trajectory_earth2sun(5, j), 0, Re*size_enlge*10);% 轨迹点上的地球三维模型draw_ball(trajectory_moon2sun_up(1, j), trajectory_moon2sun_up(2, j), 0,Rm*size_enlge*10);% 轨迹点上的月球三维模型pause(0.001);hold off;endfigure;% /05/画出地月日真实的二维动态轨迹for j=1:i-1draw_circle(0, 0, Rs*5); hold on;% 画太阳的二维模型title('地月日二维真实轨迹');xlabel('x/m');ylabel('y/m');zlabel('z/m'); grid on;plot(trajectory_earth2sun(4, :), trajectory_earth2sun(5, :), '-r');% 画地球相对于太阳的轨迹线plot(trajectory_moon2sun(1, :), trajectory_moon2sun(2, :), '-b');% 画月球相对于太阳的轨迹线axis equal;plot(trajectory_earth2sun(4, j), trajectory_earth2sun(5, j), 'r*');% 轨迹点上的地球点plot(trajectory_moon2sun(1, j), trajectory_moon2sun(2, j), 'k*');% 轨迹点上的月球点pause(0.001);hold off;endfigure;% /06/画出地月日放大的二维动态轨迹for j=1:i-1draw_circle(0, 0, Rs*5); hold on;% 画太阳的二维模型title('地月日二维放大轨迹');xlabel('x/m');ylabel('y/m');zlabel('z/m'); grid on;plot(trajectory_earth2sun(4, :), trajectory_earth2sun(5, :), '-r');% 画地球相对于太阳的轨迹线plot(trajectory_moon2sun_up(1, :), trajectory_moon2sun_up(2, :), '-b');% 画月球相对于太阳的轨迹线plot(trajectory_earth2sun(4, j), trajectory_earth2sun(5, j), 'r*');% 轨迹点上的地球点plot(trajectory_moon2sun_up(1, j), trajectory_moon2sun_up(2, j),'k*');% 轨迹点上的月球点pause(0.001);hold off;endM文件6:sun_earth_moon_2Dsingle.m % 地月日全运动动态仿真程序clc;clear all;close all;G = 6.674e-11;Ms = 1.989e30;Rs = 696300e3;Me = 5.972e24;Re = 6378e3;Mm = 7.348e22;Rm = 3678e3;sim_time = 3600*24*375*3;h = 3600*24;i = 1;w_e = [0 0 29535.6 1.52171522e11 0];w_m = [w_e(1) 0 990.32 405500e3 0];while w_e(1) <= sim_timetrajectory_earth2sun(:, i) = w_e;ye = RungeKutta_EarthSun(w_e, h);w_e = ye;i = i+1;endi=1;while w_m(1) <= sim_timetrajectory_moon2earth(:, i) = w_m;ym = RungeKutta_MoonEarth(w_m, h);w_m = ym;i = i+1;endtrajectory_moon2sun(1,:) = trajectory_moon2earth(4,:) +trajectory_earth2sun(4,:); trajectory_moon2sun(2,:) =trajectory_moon2earth(5,:) + trajectory_earth2sun(5,:); size_enlge = 40; size_up = 15;trajectory_moon2earth_up(1,:) = size_up* (trajectory_moon2sun(1,:)-trajectory_earth2sun(4,:)); trajectory_moon2earth_up(2,:) = size_up* (trajectory_moon2sun(2,:)-trajectory_earth2sun(5,:));trajectory_moon2sun_up(1,:) =(trajectory_earth2sun(4,:)+trajectory_moon2earth_up(1,:));trajectory_moon2sun_up(2,:) =(trajectory_earth2sun(5,:)+trajectory_moon2earth_up(2,:)); figure;for j=1:i-1draw_circle(0, 0, Rs*5);hold on;title('地月日二维真实轨迹');xlabel('x/m');ylabel('y/m');zlabel('z/m');grid on;plot(trajectory_earth2sun(4, :), trajectory_earth2sun(5, :), '-r');% plot(trajectory_moon2sun_up(1, :), trajectory_moon2sun_up(2, :), '-b');axis equal;plot(trajectory_earth2sun(4, j), trajectory_earth2sun(5, j), 'r*');plot(trajectory_moon2sun_up(1, j), trajectory_moon2sun_up(2, j),'k*');pause(0.001);hold off;end。

基于MATLAB的卫星二次曲线轨道的模拟

基于MATLAB的卫星二次曲线轨道的模拟

������������ ������������
-------------------------------------------利用 Matlab 模拟卫星的二次曲线轨道----------------------------------------
������̇ 2
=
(���������������0���2
·地球是均匀密度的球体,认为地球引力源自于地心; ·航天器的质量不变,方程 F=ma 适用; ·地心赤道坐标系是完全惯性的,牛顿定律适用。 经过如上假设,对于航天器只剩下地球引力的作用,所以有运动方程:
∑ ������外力 = ������地球引力 = ������������ = ������ ���⃗���̈

2������������ ������02
������)
为了能使用形式为 ������������ 的积分,上式中分母做变换:
������√������2−������2
√2������������002������

(������2

2������������ ������02
������
+
������������ 2 (������02 ) )
x1=r.*sin(th); y1=r.*cos(th); plot(x1,y1,'b-'),axis equal,hold on;
-------------------------------------------利用 Matlab 模拟卫星的二次曲线轨道----------------------------------------
分别用三个宇宙速度和一个随机的介于一二宇 宙速度之间的速度,替换代码中初始速度 vx 改 变计算参数在同一坐标系下作图作图。得到如下 轨迹图样:

卫星运动及定位matlab仿真设计

卫星运动及定位matlab仿真设计

毕业设计论文GPS卫星运动及定位matlab仿真摘要全球定位系统是具有全球性、全能性、全天候优势的导航定位、定时和测速系统,现在在全球很多领域获得了应用。

GPS卫星的定位是一个比较复杂的系统,其包含参数众多,如时间系统、空间坐标系统等。

此次设计是针对卫星运动定位的matlab仿真实现,因要求不高,所以对卫星运动做了理想化处理,摄动力对卫星的影响忽略不计(所以为无摄运动),采用开普勒定律及最小二乘法计算其轨道参数,对其运动规律进行简略分析,并使用matlab编程仿真实现了卫星的运功轨道平面、运动动态、可见卫星的分布及利用可见卫星计算出用户位置。

通过此次设计,对于GPS卫星有了初步的认识,对于静态单点定位、伪距等相关概念有一定了解。

关键字:GPS卫星无摄运动伪距matlab仿真The movement and location of GPS satellite onMA TLABAbstract:Global positioning system is a global, versatility, all-weather advantage of navigation and positioning, timing and speed system, now there has many application in many fields.GPS satellite positioning is a complex system, which includes many parameters, such as time and space coordinates system.This design is based on the matlab simulation of satellite motion and location, because demand is not high, so to do the idealized satellite movement, and ignore the disturbed motion ( so call it non-disturbed motion ).Using the Kepler and least-square method for calculating the parameters of orbital motion, for the characteristics of motion to make a simple analysis, and use the matlab simulation to program achieve the orbital plane of satellite, the dynamic motion, the distribution of visible satellites and using visible satellites to calculate the users’ home.Through the design have primary understanding for the GPS satellite, and understanding the static single-point, pseudorange and so on.Key words:GPS satellite non-disturbed motion pseudorange matlab simulation目录第一章前言 (1)1.1课题背景 (1)1.2本课题研究的意义和方法 (2)1.3GPS前景 (2)第二章 GPS测量原理 (4)2.1伪距测量的原理 (4)2.1.1 计算卫星位置 (5)2.1.2 用户位置的计算 (5)2.1.3 最小二乘法介绍 (5)2.2载波相位测量原理 (6)第三章 GPS的坐标、时间系统 (10)3.1坐标系统 (10)3.1.1 天球坐标系 (10)3.1.2 地球坐标系 (12)3.2时间系统 (13)3.2.1 世界时系统 (14)3.2.2 原子时系统 (15)3.2.3动力学时系统 (16)3.2.4协调世界时 (16)3.2.5 GPS时间系统 (17)第四章卫星运动基本定律及其求解 (18)4.1开普勒第一定律 (18)4.2开普勒第二定律 (19)4.3开普勒第三定律 (20)4.4卫星的无摄运动参数 (20)4.5真近点角的概念及其求解 (21)4.6卫星瞬时位置的求解 (22)第五章 GPS的MATLAB仿真 (25)5.1卫星可见性的估算 (25)5.2GPS卫星运动的MATLAB仿真 (26)结论 (38)致谢 (40)参考文献 (41)附录 (42)第一章前言1.1 课题背景GPS系统的前身为美军研制的一种子午仪卫星定位系统(Transit),1958年研制,64年正式投入使用。

matlab中crtbp函数的用法

matlab中crtbp函数的用法

matlab中crtbp函数的用法全文共四篇示例,供读者参考第一篇示例:Matlab中的crtbp函数是一个非常常用的函数,用来模拟三体问题中的地月问题。

在地月问题中,太阳是一个质点,地球和月球则分别是两个质点,它们之间通过引力相互作用。

这种模拟可以帮助我们更好地理解三体问题的复杂性,研究宇宙中各种天体之间的运动规律。

在使用crtbp函数之前,我们首先需要了解它的基本用法和参数。

crtbp函数的格式为:\[crtbp(mu0, mu1, mu2)\],其中mu0代表地球-月球系统的质量参数,mu1和mu2则分别表示地球和月球与太阳系统的质量参数。

在地月问题中,mu0通常取值为0.0123,mu1为0.81,mu2为0.0123,这是一个标准的设定。

crtbp函数的返回值是一个6维向量\[y(1), y(2), y(3), y(4), y(5),y(6)\],其中y(1)和y(2)表示小行星的x和y坐标,y(3)和y(4)表示小行星的x和y方向的速度,y(5)和y(6)则表示小行星相对于质心的z坐标和速度。

crtbp函数的用法非常简单,只需要输入地球-月球系统和地球-月球-太阳系统的质量参数,就可以得到小行星在这个系统中的运动轨迹。

我们可以利用这个函数来研究小行星在地月系统中的运动规律,以及判断可能的稳定轨道和不稳定轨道。

除了直接调用crtbp函数进行数值模拟外,我们还可以结合其他函数和工具箱,进一步分析三体问题的性质和演化过程。

在Matlab中,有许多内置函数和工具箱可以用来处理复杂的动力学系统,例如ode45函数用于求解常微分方程组,对动力学系统的演化进行模拟。

通过在Matlab中使用crtbp函数和其他相关工具,我们可以更好地了解三体问题的行为,预测小行星在地月系统中的轨道变化,甚至研究可能的碰撞事件和轨道交叉。

这对于理解宇宙中各种天体之间的相互作用,以及预测一些潜在的天体运动的影响具有重要的意义。

基于Matlab和地球高程数据的三维可视化弹道仿真

基于Matlab和地球高程数据的三维可视化弹道仿真
t r a n s f o r mi n g c o o r d i n a t e s b a s e d o n t h e Ea r t h mo d e l a b o v e . Th e s i mu l a t i o n r e s u l t s s h o w t h a t t h e mo d e l p r o p o s e d b y t h i s p a p e r h a s
弹道仿 真是弹道导 弹总体设计及弹道设计 的重要 内容 , 许多学者在进行 弹道仿真时往往注重 的是 弹道的数值计算 , 并进行二 维 的平 面弹道演示 。由于弹道导弹 飞行 过程中受到各种 因素 的干扰 , 尤其 是对于远程弹道导 弹来说 , 导 弹的飞行 轨迹会偏离预先 设计 的弹道平 面 , 实 际的弹道轨迹 为三维的空间曲线 , 因此有必要研究 弹道的三维仿真 , 以给 出更加直观及逼真 的弹道演示效 果。
Ke y w o r d s : d i g i t l a e l e v a t i o n d a t a ; t h r e e — — d i me n s i o n l a v i s u a l i z a t i o n ; t r a j e c t o y r s i mu l a t i o n ; c o l o r — — ma p p i n g
( J i a n g s u Au t o ma t i o n Re s e a r c h I n s t i t u t e , L i a n y u n g a n g 2 2 2 0 6 1, C h i n a )
A bs t r ac t :As t he t r a di t i on a l t e xt u r e ma p pi ng me t ho d o f d r a wi ng Ea r t h h a s t he s h or t c o mi ng of g r e a t a l noun t o f c o l o r da t a ,hi g h

基于MATLAB的GPS信号的仿真研究

基于MATLAB的GPS信号的仿真研究

基于MATLAB的GPS信号的仿真研究一、本文概述随着全球定位系统(GPS)技术的广泛应用,其在导航、定位、授时等领域的重要性日益凸显。

为了更好地理解GPS信号的特性,提高GPS接收机的设计水平和性能,对GPS信号进行仿真研究显得尤为重要。

本文旨在探讨基于MATLAB的GPS信号仿真方法,分析GPS信号的特点,以及如何利用MATLAB这一强大的数值计算环境和图形化编程工具,对GPS信号进行高效、精确的仿真。

文章首先介绍了GPS系统的发展历程、基本原理和信号特性,为后续的信号仿真提供了理论基础。

随后,详细阐述了GPS信号仿真的一般流程,包括信号生成、传播模型、噪声添加等关键环节。

在此基础上,重点介绍了如何利用MATLAB编写GPS信号仿真程序,包括信号生成、传播模型建立、噪声模拟等方面的具体实现方法。

文章还通过实际案例,展示了基于MATLAB的GPS信号仿真在接收机设计、性能评估等方面的应用。

通过仿真实验,可以深入了解GPS信号在不同环境下的传播特性,为接收机算法优化和性能提升提供有力支持。

本文的研究不仅有助于加深对GPS信号特性和仿真方法的理解,也为GPS接收机的研究和开发提供了一种有效的技术手段。

通过MATLAB的仿真研究,可以更加直观地揭示GPS信号的本质规律,为实际应用提供有力指导。

二、GPS信号原理及特性全球定位系统(GPS)是一种基于卫星的无线电导航系统,它利用一组在地球轨道上运行的卫星来提供全球范围内的定位和时间服务。

每个GPS卫星都不断地向地球表面发射射频信号,这些信号被地面上的接收器接收并处理,从而确定接收器的三维位置和速度,以及精确的时间信息。

GPS卫星发射的信号是L波段的射频信号,分为两个频段:L1(142 MHz)和L2(160 MHz)。

每个频段都包含两种类型的信号:C/A码(粗捕获码)和P码(精密码)。

C/A码是对公众开放的,用于民用和商业应用,而P码则用于军事和特定的高精度应用。

matlab绕球体飞行轨迹问题

matlab绕球体飞行轨迹问题

一、问题背景介绍在航空航天领域,飞行轨迹设计是一个重要的问题。

尤其是在制导与控制系统设计中,对于飞行轨迹的分析与规划显得尤为重要。

在球体绕行问题中,航天器或飞行器绕过一个球形天体以达到预定的轨道和航向的问题是经典且具有挑战性的。

二、matlab在绕球体飞行轨迹问题中的应用1. MATLAB的工具箱MATLAB是一种用于智能安排、交互式、数字数学的高级编程语言和环境。

MATLAB在飞行轨迹设计问题中的强大功能能够帮助工程师规划出最佳的飞行轨迹。

MATLAB的Aerospace工具箱和Control System工具箱等工具箱为解决飞行轨迹问题提供了强大的支持,MATLAB还具有丰富的数学函数和画图功能,能够快速方便的进行求解和可视化操作。

2. 绕球体飞行轨迹问题的数学模型绕球体飞行轨迹问题实质上是一个多体动力学问题,需要用到牛顿力学和控制理论等数学原理。

在MATLAB环境下,可以将绕球体飞行轨迹问题建模成一个动力学系统,利用微分方程进行描述,通过数值模拟或数值求解的方式获得问题的解。

三、绕球体飞行轨迹设计实例1. 绕地球飞行轨迹设计假设一艘航天器需要绕地球飞行一周,并最终返回出发点,如何设计最佳的飞行轨迹?利用MATLAB可以建立地球-航天器系统动力学模型,通过数值求解计算出地球飞行轨迹的参数,并进行可视化展示。

2. 绕太阳行星飞行轨迹设计航天器需要绕太阳系某一行星进行飞行,如何规划出最佳的飞行轨迹?在MATLAB中,可以建立整个太阳系行星-航天器系统的动力学模型,根据不同的任务需求,设计出最优的飞行轨迹,并对行星引力场、太阳引力场等因素进行考虑。

3. 绕人造卫星飞行轨迹设计目前,人造卫星数量越来越多,如何规划绕人造卫星的飞行轨迹成为热门问题。

在MATLAB中,可以建立人造卫星-航天器系统的动力学模型,针对不同的卫星轨道设计出最佳的绕球体飞行轨迹,并考虑到卫星自身运行轨迹的影响。

四、绕球体飞行轨迹问题的挑战与展望1. 飞行轨迹稳定性绕球体飞行轨迹设计中的一个关键问题是轨迹的稳定性。

基于Matlab和地球高程数据的三维可视化弹道仿真

基于Matlab和地球高程数据的三维可视化弹道仿真

基于Matlab和地球高程数据的三维可视化弹道仿真作者:李红伟来源:《电脑知识与技术》2013年第16期摘要:针对常规的纹理映射方法制作三维地球时存在的颜色数据量大、对硬件图形显示要求较高及立体感不强的弊端,运用Matlab提供的专业的地球高程数据颜色映射表,提出了一种基于地球高程数据的三维地球模型制作方法,并通过坐标变化将弹道位置参数转化为地心大地直角坐标,从而在三维彩色地球的基础上,绘制出了三维弹道曲线,仿真试验表明,所制作的三维弹道模型立体感及真实感较强,为弹道仿真提供了一种有效手段。

关键词:数字高程;三维可视化;弹道仿真;颜色映射中图分类号:TP302.8 文献标识码:A 文章编号:1009-3044(2013)16-3823-03弹道仿真是弹道导弹总体设计及弹道设计的重要内容,许多学者在进行弹道仿真时往往注重的是弹道的数值计算,并进行二维的平面弹道演示。

由于弹道导弹飞行过程中受到各种因素的干扰,尤其是对于远程弹道导弹来说,导弹的飞行轨迹会偏离预先设计的弹道平面,实际的弹道轨迹为三维的空间曲线,因此有必要研究弹道的三维仿真,以给出更加直观及逼真的弹道演示效果。

对于远程弹道导弹来说,由于其射程往往达到几千公里,进行三维弹道仿真时应考虑画出完整的三维地球,在三维地球的基础上绘制三维弹道曲线。

制作三维地球模型,常见的方法是纹理映射,即将一幅世界地图图片作为纹理映射到一个三维圆球体上[1],这样制作的地球比较清晰美观,但有两个弊端,一是由于世界地图图片包含的大量颜色信息数据,在进行三维弹道飞行轨迹演示时对电脑硬件的图形显示效果要求较高,二是缺乏立体感。

本文考虑利用地球高程数据制作三维地球,在此基础上据通过适当转换将弹道坐标数据变换到地心大地直角坐标系中,从而绘制出三维弹道曲线。

利用地球高程数据制作的三维地球模型立体感较好,且数据量不大,非常适合一般的弹道仿真及演示。

1 地球高程数据数字高程模型(Digital Elevation Model,简称DEM),是数字地形模型(digital terrain model,简称DTM)的一个分支[2]。

利用Matlab进行航空航天系统仿真与分析

利用Matlab进行航空航天系统仿真与分析

利用Matlab进行航空航天系统仿真与分析航空航天系统仿真与分析是现代航空航天工程中不可或缺的重要环节。

利用Matlab这一强大的数学软件工具,工程师们能够模拟和分析各种航空航天系统的性能和行为,为设计、优化和决策提供有力的支持。

首先,Matlab提供了丰富的数学建模和仿真功能,使得航空航天系统的振动、力学、控制等方面可以被准确地描述和分析。

例如,对于一个飞机的结构设计,可以使用Matlab建立系统的有限元模型,通过求解方程组得到结构的模态振动频率和模态形状,进而评估结构的稳定性和动力特性。

这有助于工程师们在设计过程中及早发现潜在问题并加以解决,从而提高飞机的安全性和性能。

其次,Matlab还提供了强大的信号处理和控制系统设计工具,为航空航天系统的控制和导航问题提供了有效的解决方案。

例如,对于一个航天器的姿态控制系统,可以利用Matlab进行系统建模和仿真,验证控制策略的有效性和稳定性。

此外,Matlab还提供了模糊控制、神经网络等先进的控制方法的工具包,使得工程师们能够更精确地设计和优化航空航天系统的控制算法。

在航空航天系统仿真与分析过程中,数据的处理和可视化是不可或缺的步骤。

Matlab提供了强大的数据处理工具和图像绘制功能,使得工程师们能够对仿真结果进行全面的分析和展示。

例如,利用Matlab的统计分析工具,可以对仿真结果进行参数敏感性分析,从而得到系统的性能指标和工作状态的分布情况。

此外,Matlab还提供了各种绘图函数和工具箱,使得工程师们能够直观地展示数据和结果,为后续决策提供可靠的依据。

最后,对于复杂的航空航天系统,其仿真模型往往由多个不同的子系统组成,需要进行集成和协同仿真。

Matlab提供了强大的系统建模和集成仿真工具,使得不同子系统之间的交互与协同可以被准确地模拟和分析。

例如,对于一个飞行器的动力学和控制系统,可以使用Matlab进行整机级别的系统建模和仿真,对系统的整体性能和响应进行分析。

MATLAB模拟双星系统中行星运动

MATLAB模拟双星系统中行星运动

MATLAB模拟多星系统中行星运动摘要自古人类就在仰望星空,思考宇宙的奥秘。

人类在宇宙中是否是孤单的,有没有外星生命,这是一个许多人都想知道的问题,人们对现实宇宙进行了许多的研究,想要诞生生命,有一颗可以为行星提供稳定且适合能量的恒星是必不可少的。

在旧版《星球大战》电影中,有一幕标志性的场景,卢克·天行者在塔图因沙漠欣赏令人震撼的双落日奇观。

那么这种双星甚至多星系统,行星的运动是怎样的呢?本文就此问题利用MATLAB进行了仿真模拟。

关键词:多星系统,MATLAB仿真,行星运动1 研究背景与意义太阳,对于我们地球上的万物来说,非常重要,将太阳称为“万物之源”也不为过。

我们地球之所以能够具备孕育生命的条件,一个很重要的因素就是地球处于太阳系的宜居地带,如果不是在太阳系的宜居地带,而是离太阳很近或者比较遥远,意味着地球表面的温度会比较高或者比较低,要么像水星、金星那样高温,要么像土星、木星那样寒冷。

天空中出现一个太阳,对于我们来说刚刚好的,如果多一个太阳,地球可能就会变得很高温,地球是否还能孕育生命都是一个大问题。

那么多星系统中,是否也可以存在宜居带呢?行星在多星系统中的运动又是如何呢?双星系统中的行星是一个三体问题,用现有的数学工具无法给出一般情况下的解析解。

本文模拟了一颗行星围绕一颗双星的轨道,该双星由一颗具有太阳质量的恒星和另一颗具有太阳质量一半的恒星组成。

恒星系统的周期是30个地球日。

本文的研究范围进一步缩小到恒星系统平面内的行星运动,有效地使其成为一个二维问题。

行星可能环绕整个恒星系统运行,可能是两颗恒星中的一颗,也可能是拉格朗日点。

本文采用数值积分方法模拟了行星的运动。

定义恒星系的时变引力场,然后制定描述行星运动的微分方程。

在模拟结束时,检查这颗行星是否仍然在围绕恒星系统的轨道上。

2 天体运动理论2.1 双星系统的运动方程首先,我们看一下恒星系统中恒星的运动方程。

这是一个两体问题,可以通过在原点放置一颗恒星而转化为一个等效的一体问题。

matlab布尔莎七参数

matlab布尔莎七参数

matlab布尔莎七参数MATLAB布尔莎七参数是一种用于测量地球形状、尺寸和定位的方法。

该参数根据地球椭球体的大小和形状,以及大地水准面的高度确定了三维坐标系的原点和方向。

在本文中,我们将详细介绍MATLAB布尔莎七参数的步骤和应用。

步骤1:数据收集MATLAB布尔莎七参数需要收集的数据包括:- GPS卫星的升交点(ASC)和卫星轨道倾角(INC);- 观测点的经纬度信息;- 作为参考基准的大地水准面高度数据。

步骤2:计算天球坐标系在天球坐标系中,原点是地球的质心,与地球椭球体重心在同一位置。

平均赤道面和平均黄道面定位在天球中,在这些面上定义了一个圆柱坐标系。

利用天球坐标系中的位置向量、速度向量和加速度向量,可以确定一个时间的GPS卫星的升交点和卫星轨道倾角。

步骤3:计算地球椭球面坐标系地球椭球面坐标系有一个中心坐标系,位于地球椭球面上。

该坐标系固定在地球上,其原点是地球质心。

在该坐标系下,地球的形状近似于椭球体。

利用地球椭球面坐标系可以确定观测点的经纬度和高度,并确定地球椭球体的大小和形状。

步骤4:计算大地水准面坐标系大地水准面是一种参考平面,用于确定地球上任何点的高度。

该坐标系固定于大地水准面上,其原点通常位于每个国家的主要测量站。

在该坐标系下,通过高程测量可以确定地球上任何点的高度。

步骤5:通过MATLAB编写算法在收集数据并计算出天球坐标系、地球椭球面坐标系和大地水准面坐标系之后,我们可以通过MATLAB编写算法来计算布尔莎七参数。

算法的核心包括利用观测点和GPS卫星的排列来确定参数。

步骤6:参数应用MATLAB布尔莎七参数可以通过各种应用来使用。

其中包括全球定位系统(GPS)、地图和地理信息系统(GIS)和空间任务计划系统(STPS)。

在GPS中,该参数有助于确定GPS系统经过的距离和方向,从而帮助用户找到其目的地。

在GIS中,该参数可用于确定各种地图和卫星图像之间的连接和位置。

在STPS中,该参数可以帮助计算航天器行驶的轨迹和方向。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

地球卫星三维运行轨道MATLAB 仿真
1、问题的描述
轨道上运行的地球卫星,根据牛顿第二定律F=ma 以及万有引力定律3
E F=-GmM *r/r ,可得3E a=-GM *r/r ,即
3E 3E 3
E x''= -GM *x/r y''= -GM *y/r ;
z''= -GM *z/r ⎧⎪⎨⎪⎩ (1)
式中,(x ,y ,z )表示卫星的三维坐标,为-1122
G=6.672*10(N m /kg )∙引力常数,24E M =5.97*10(kg)是地球的质量。

假定卫星的三个方向的初始位置和速度如下
[x(0),y(0),z(0),x'(0),y'(0),z'(0)]=[2043922.17 8186504.63 4343461.71 -5379.54 -407.10 3516.05]。

该卫星轨道求解过程实际上是求解一个二阶常微分方程,可首先将该方程转换为一阶常微分方程,令T
X=[x,y,z,x',y',z'],故公式(1)可转化为 3E (4)(5)(6)X'() ==-GM /r (1)(2)(3)X X X t A A X A X A X ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥*⎢⎥⎢⎥*⎢⎥*⎣⎦ (2)
初始条件即为X(0)=[2043922.17 8186504.63 4343461.71 -5379.54 -407.10 3516.05]。

2、MATLAB 仿真代码
分两段程序:(1)子程序将二阶微分方程转换为一阶微分方程,代码如下
function fy=vdp(t,x)
r=x(1)^2+x(2)^2+x(3)^2;
G=3.986005e14;
A=-G/r^(3/2);
fy=[x(4)
x(5)
x(6)
A*x(1)
A*x(2)
A*x(3)];
End
(2)主程序如下,注意:为更好地查看卫星轨道与地球的相对位置关系,此处将地球模型
图的绘制代码一并给出
clear all
close all
clc
y0=[2043922.166765 8186504.631471 4343461.714791 -5379.544693 -407.095342 3516.052656];
[t,result]=ode45(@vdp,[0:1:9000],y0);
x=result(:,1);
y=result(:,2);
z=result(:,3);
[X,Y,Z]=sphere(200);
RE=0.64e7;
X=RE*X;
Y=RE*Y;
Z=RE*Z;
figure(1)
hold on
grid on
mesh(X,Y,Z)%绘制地球
plot3(x,y,z)%绘制卫星轨道
仿真结果如下(给出两张图):
-10-8-6-4-202468x 106-1
01x 107-8-6
-4
-2
2
4
6
8
x 10
6
7
-8-6
-4
-2
2
4
6
8
Welcome !!! 欢迎您的下载,资料仅供参考!。

相关文档
最新文档