2021-08-22 13:32:47 索煒達(dá)電子 1772
項目編號:B346
文件大?。?.3M
源碼說明:帶中文注釋
開發(fā)環(huán)境:Matlab2016
簡要概述
軌道設(shè)計工具包
該庫使用Matlab的編寫,面向?qū)ο缶幊?,一共有X個庫
設(shè)計報告:
0.單位制
該工具包使用國際制單位。為了設(shè)計者直觀理解,角度用deg,deg轉(zhuǎn)rad全部封裝進(jìn)了庫里,不需要設(shè)計者考慮。
1.天文常數(shù)
例如調(diào)用光速:constants.AstroConstants.c
2.時間系統(tǒng)
時間系統(tǒng)對象的初始化輸入為UTC(協(xié)調(diào)世界時間)和地理經(jīng)度。時間數(shù)據(jù)類型為datetime或double(秒)。 UTC可以是數(shù)組,地理經(jīng)度目前要求是標(biāo)量。
UTC = datetime(2019,11,27,21,10,10);
lambda = 24.583;
timesystem = timeSystem.TimeSystem(UTC,lambda)
timesystem =
TimeSystem with properties:
UTC: 2019-11-27 21:10:10
lambdaG: 24.5830
lambda: 24.5830
TAI: 2019-11-27 21:10:11
TT: 2019-12-30 01:35:08
TDT: 2019-12-30 01:35:08
ET: 2019-12-30 01:35:08
UT1: 2019-11-27 21:10:10
Smean: 6.2995e+08
S: 6.2995e+08
smean: 6.2995e+08
s: 6.2995e+08
3.軌道確定
3.1測站數(shù)據(jù)預(yù)處理
根據(jù)
測站緯度、真太陽時、海拔(或高程)
航天器方位角、高低角、距離、方位角變化率、高低角變化率和距離變化率
算出
測站位置(在地心慣性系下)
航天器方向余弦(測站地平坐標(biāo)系下)
航天器位置(在地心慣性系下)
航天器速度(在地心慣性系下)
注意,緯度和海拔數(shù)據(jù)必須是標(biāo)量,其余可以是數(shù)組
preprocessing = orbitDefine.Preprocessing(latitude,timesystem.s/3600*15,altitude,azimuth,elevation,distance,Dazimuth,Delevation,Ddistance)
preprocessing =
Preprocessing with properties:
Glatitude: 0.1024
s: [30×1 double]
altitude: 0
azimuth: [30×1 double]
elevation: [30×1 double]
distance: [30×1 double]
Dazimuth: [30×1 double]
Delevation: [30×1 double]
Ddistance: [30×1 double]
stationPos: [30×3 double]
spacecraftDir: [30×3 double]
spacecraftPos: [30×3 double]
spacecraftVel: [30×3 double]
3.2根據(jù)單組位置和速度定軌
orbitDefine.usingSinglePosVel(r0,v0,UTC(1))
ans =
usingSinglePosVel with properties:
a: 9.2000e+06
e_: [3×1 double]
e: 0.1200
Omega: 126.0000
omega: 36.9999
i: 96.5000
tao: 2019-11-27 18:28:09
f0: 51.1051
E0: 7.0366
M0: 6.9545
h: [3×1 double]
p: 9.0675e+06
3.3根據(jù)航天器方向定軌之拉普拉斯方法
輸入地心慣性坐標(biāo)系下測站位置和航天器方向,以及當(dāng)?shù)卣婧阈菚r和初始時刻的UTC,求得軌道要素。
orbit_L = orbitDefine.LaplaceMethod(preprocessing.stationPos,preprocessing.spacecraftDir,timesystem.s)
orbit_L =
LaplaceMethod with properties:
r0: [3×1 double]
v0: [3×1 double]
orbitDefine.usingSinglePosVel(orbit_L.r0,orbit_L.v0,timesystem.UTC(1))
orbit_L =
LaplaceMethod with properties:
r0: [3×1 double]
v0: [3×1 double]
a: 8.2619e+06
e: 0.0456
Omega: 60.2791
omega: 129.6670
i: 54.9207
tao: 2019-11-27 19:53:45
f0: 217.5681
E0: 219.1920
M0: 220.8440
3.4根據(jù)航天器方向定軌之高斯方法
3.5根據(jù)多組位置定軌
輸入地心慣性坐標(biāo)系下航天器位置,以及初始時刻的UTC,求得軌道要素。
orbit=orbitDefine.usingMultiPos(preprocessing.spacecraftPos,UTC)
orbit =
usingMultiPos with properties:
a: 8.2099e+06
e: 0.0491
Omega: 60.2193
omega: 134.1086
i: 54.9040
tao: 2019-11-27 19:56:00
f0: 213.2022
E0: 214.7746
M0: 216.3779
p: 8.1901e+06
結(jié)果與分析
最終,當(dāng)軌道面數(shù)量為8,也就是一共有八顆衛(wèi)星時,符合設(shè)計要求。軌道空間配置如圖4所示,星下點軌跡如圖5所示,覆蓋時間圖像如圖6所示。八個軌道的參數(shù)如表1所示。
目錄│文件列表:
└ orbit_design_toolkit
└ orbit_design_toolkit
│ coverage_time.dat
│ data.xlsx
│ homework1.mlx
│ homework2.mlx
│ 大作業(yè)報告.docx
├ +constants
│ └ @AstroConstants
│ └ AstroConstants.m
├ +coordinateTransformation
│ │ inertial2orbit.m
│ │ station2inertial.m
│ └ @Inertial2Orbit
│ └ Inertial2Orbit.m
├ +Equations
│ └ KeplerEquation.m
├ +orbitDefine
│ ├ @GaussianMethod
│ │ └ GaussianMethod.m
│ ├ @LaplaceMethod
│ │ └ LaplaceMethod.m
│ ├ @preprocessing
│ │ └ preprocessing.m
│ ├ @usingMultiPos
│ │ └ usingMultiPos.m
│ ├ @usingMultiPos_contrast
│ │ └ usingMultiPos_contrast.m
│ └ @usingSinglePosVel
│ └ usingSinglePosVel.m
├ +timeSystem
│ └ @TimeSystem
│ └ TimeSystem.m
└ +universalVariables
└ fcn_U.m