AnyMath 文档

slantRangeCircularOrbit碌录莽拢潞赂漏卯芦禄忙猫

计算圆形轨道卫星与地面站之间的倾斜范围或距离。

库::`[医]工程师`

语法

函数调用

  • dist=slantRangeCircularOrbit(el,hs,hg) -计算在圆形轨道上移动的卫星与给定仰角的地面站之间的距离(以米为单位) [参数:el],卫星的高度 [参数:hs] 和地面站的高度 [参数:hg].

    有关详细信息,请参阅倾斜范围的计算

    功能 slantRangeCircularOrbit 假设:

    *地球的球形和地球缺乏旋转; *卫星与地面站之间的持续通信; *语法适用于任何类型的轨道,无论其形状如何。

  • dist=slantRangeCircularOrbit(el,hs,hg,time) -设定计算在圆形轨道上移动的卫星与地面站之间距离的时间点。

    有关详细信息,请参阅倾斜范围的计算

    功能 slantRangeCircularOrbit 它还假定:

    *北极地面站的位置(正轴 )和卫星从位置初始角度开始运动的开始 [参数:el] 在平面的第二象限 *卫星顺时针在圆形轨道上的运动。

争论

输入参数

# 埃尔 — 卫星定位角度

+ 标量,标量 | 向量资料

Details

卫星的位置角以度为单位,设置为一个真正的标量或矢量. 该函数将位置的每个角落视为对应于单独的卫星。 座椅角度的标称范围是从 0 以前 90 度。 但是,此功能支持任何输入的位置角度,允许您将卫星定位在轨道的任何位置。

例如,下图显示了输入参数的情况 埃尔 值设置 [45 135 225]. 在这种情况下,该函数假定存在三个独立的卫星。:

*卫星1具有位置角 ; *带座椅角度的卫星2 ; *卫星3与位置角度 .

doppler shift circular orbit 1 cn

数据类型

漂浮64</无翻译>

# *hs*是 卫星的高度

+ 标量,标量

Details

卫星的高度以米为单位,设置为正标量。

数据类型

漂浮64</无翻译>

# hg — 地面站高度

+ 标量,标量

Details

以米为单位的地面站的高度,设置为非负标量。 意义 汞,汞 必须小于该值 [参数:hs].

数据类型

漂浮64</无翻译>

# 时间 — 时间

+ 标量,标量 | 向量资料

Details

用于计算圆形轨道卫星与地面站之间距离的时间(以秒为单位),指定为实标量或矢量。

负值 时间 对应于卫星逆时针方向的运动。

指定参数时 时间,函数使用输入数据 [参数:el], [参数:hs][参数:hg] 作为初始值 0 几秒钟。

数据类型

漂浮64</无翻译>

输出参数

# — 在圆形轨道上移动的卫星与地面站之间的距离

+ 标量,标量 | 向量资料 | 矩阵

Details

在圆形轨道上移动的卫星与地面站之间的距离(以米为单位),以标量、矢量或矩阵形式返回。

当你设置参数 [参数:el] 作为长度向量 努梅尔 和论点 [参数:时间] 作为长度向量 N.时间,则输出参数为 区划 它是大小的矩阵 努梅尔N.时间. 每行 区划 表示适合的位置角度的倾斜范围。

卫星与地面站之间最小的倾斜范围在天顶,可以在例子:部分观察到。

数据类型

漂浮64</无翻译>

例子:

改变位置角度的斜率范围的计算和绘图

Details

让我们计算在圆形轨道上移动的卫星的倾斜范围,然后绘制倾斜范围与位置角度的关系。

让我们把卫星的高度设置为 10000 地面站的公里及高度 — 120 m.

hs = 10000e3 # m
hg = 120     # m

让地方的角度从 0 以前 90 度。

el = 0:90    # deg

地的不同角度计算倾斜范围。

import EngeeSatellites.Functions: slantRangeCircularOrbit

dist = slantRangeCircularOrbit(el, hs, hg)

让我们绘制斜率范围对地方角度的依赖性。

plot(el, dist, marker = :x,
     title = "Slant Range vs Elevation Angle",
     xlabel = "Elevation Angle (degrees)",
     ylabel = "Slant Range (meters)")

slantrco 1

一个卫星轨道周期内倾斜范围变化的可视化

Details

我们可视化卫星一个轨道周期的倾斜范围的变化。

让我们把卫星的高度设置为 1500 公里,起始角度的地方 — 45 度。 假设地面站的高度为 0 m.

hs = 1500e3   # m
el = 45       # deg
hg = 0        # m

对于给定的卫星高度 1500 公里轨道周期为 6949.518 几秒钟。 要复盖一个轨道周期,请将最大时间间隔设置为 6950 几秒钟。

time = 0:6950 # s

计算指定时间间隔的斜率范围。

import EngeeSatellites.Functions: slantRangeCircularOrbit

dist = slantRangeCircularOrbit.(el, hs, hg, time)

让我们绘制斜率范围对时间的依赖性。

plot(time, dist,
     title = "Slant Range vs Time",
     xlabel = "Time (seconds)",
     ylabel = "Slant Range (meters)")

slantrco 2

此外

倾斜范围的计算

Details

该图显示了一颗卫星在顺时针圆形轨道上运动,其位置角为 相对于地球上的地面站。 地面站位于北极(正轴 ). 卫星的旋转角度,从地球中心测量,是 .

doppler shift circular orbit 2 cn

要推导出用于计算在圆形轨道上移动的卫星与地面站之间的倾斜范围或距离的公式,首先需要计算卫星的旋转角度。 ,在地球中心测量,在给定的位置角度 [参数:el],卫星的高度 [参数:hs] 和地面站的高度 [参数:hg]:

哪里

  • m是地球的半径;

  • -地面站的高度;

  • -卫星高度;

  • -卫星位置的角度。

对于每个轨道周期,角度为 等于 360 度。 卫星的轨道周期可以计算如下:

哪里 -卫星的速度,由以下等式确定:

哪里

  • m3kg-1s-2是引力常数(牛顿引力常数);

  • 千克是地球的质量。

当指定用于计算倾斜范围的时间时,用于初始旋转角度的初始时间由公式给出 .

函数计算斜率范围的时间点等于初始时间与自变量中指定的值之和。 [参数:时间].

该函数使用以下公式计算斜率范围,其中 对应于卫星在指定时间点的新旋转角度 [参数:时间]: