Calculation of the tilt range or distance between a satellite in a circular orbit and a ground station.
Library
EngeeSatellites
Syntax
Function call
dist = slantRangeCircularOrbit(el,hs,hg) — calculates the distance in meters between a satellite moving in a circular orbit and a ground station at a given elevation angle el, the height of the satellite hs and the height of the ground station hg.
The spherical shape of the Earth and the lack of rotation of the Earth;
Constant communication between the satellite and the ground station;
The syntax is applicable to any type of orbit, regardless of its shape.
dist = slantRangeCircularOrbit(el,hs,hg,time) — sets time points for calculating the distance between a satellite moving in a circular orbit and a ground station.
Location of the ground station at the North Pole (positive axis ) and the beginning of the satellite 's movement from the initial angle of the location el in the second quadrant of the plane ;
The movement of the satellite in a circular orbit clockwise.
The satellite’s location angle in degrees, set as a real scalar or vector. The function treats each corner of the location as corresponding to a separate satellite. The nominal range of seat angles is from 0 before 90 degrees. However, this function supports any entered location angle, allowing you to position the satellite anywhere in the orbit.
For example, the following figure shows the case when for the input argument el the value is set [45 135 225]. In this case, the function assumes the presence of three independent satellites.:
The time in seconds used to calculate the distance between a satellite in a circular orbit and a ground station, specified as a real scalar or vector.
Negative value time corresponds to the movement of the satellite counterclockwise.
When you specify an argument time, the function uses the input data el, hs and hg as initial values in 0 seconds.
Типы данных
Float64
Output arguments
#dist —
the distance between a satellite moving in a circular orbit and a ground station
+
scalar | vector | the matrix
Details
The distance in meters between a satellite moving in a circular orbit and a ground station, returned as a scalar, vector, or matrix.
When you set the argument el as a length vector NumEL and the argument time as a length vector NumTIME, then the output argument is dist It is a matrix of size NumEL on NumTIME. Each line dist represents the range of inclination for the appropriate location angle.
The smallest tilt range between the satellite and the ground station is at the zenith, which can be observed in the Examples section.
Типы данных
Float64
Examples
Calculation and plotting of the slope range for changing location angles
Details
Let’s calculate the tilt range for a satellite moving in a circular orbit, and then plot the dependence of the tilt range on the angle of the location.
Let’s set the satellite’s height to 10000 km and height of the ground station — 120 m.
hs = 10000e3 # m
hg = 120 # m
Let the angle of the place change from 0 before 90 degrees.
el = 0:90 # deg
Calculate the tilt range for different angles of the place.
Let’s plot the dependence of the slope range on the angle of the place.
plot(el, dist, marker = :x,
title = "Slant Range vs Elevation Angle",
xlabel = "Elevation Angle (degrees)",
ylabel = "Slant Range (meters)")
Visualization of changes in the tilt range during one satellite orbital period
Details
We visualize the changes in the tilt range over one orbital period of the satellite.
Let’s set the satellite’s height to 1500 km, the starting angle of the place — 45 degrees. Assume that the height of the ground station is 0 m.
hs = 1500e3 # m
el = 45 # deg
hg = 0 # m
For a given satellite height 1500 The km orbital period is 6949.518 seconds. To cover one orbital period, we set the maximum time interval to 6950 seconds.
time = 0:6950 # s
Calculate the slope range for the specified time intervals.
Let’s plot the dependence of the slope range on time.
plot(time, dist,
title = "Slant Range vs Time",
xlabel = "Time (seconds)",
ylabel = "Slant Range (meters)")
Additional Info
Calculation of the tilt range
Details
This figure shows a satellite moving in a clockwise circular orbit, with a location angle of relative to the ground station on Earth. The ground station is located at the North Pole (positive axis ). The angle of rotation of the satellite, measured from the center of the Earth, is .
To derive the formula used to calculate the tilt range or distance between a satellite moving in a circular orbit and a ground station, you first need to calculate the satellite’s rotation angle. , measured at the center of the Earth, at a given location angle el, the height of the satellite hs and the height of the ground station hg:
where
m is the radius of the Earth;
— height of the ground station;
— satellite height;
— the angle of the satellite’s location.
For each orbital period, the angle is equal to 360 degrees. The satellite’s orbital period can be calculated as follows:
where — the speed of the satellite, determined by the following equation:
where
m3kg-1s-2 is the gravitational constant (Newtonian gravitational constant);
kg is the mass of the Earth.
When specifying the time for calculating the tilt range, the initial time for the initial rotation angle is given by the formula .
The time points at which the function calculates the slope range are equal to the sum of the initial time and the values specified in the argument. time.
The function calculates the slope range using the following formula, where corresponds to the new rotation angles of the satellite at the specified time points time: