dopplerShiftCircularOrbit
Calculation of the Doppler shift at the ground station caused by the motion of the satellite in a circular orbit.
| Library |
|
Syntax
Function call
-
shift = dopplerShiftCircularOrbit(el,hs,hg,freq)— calculates the Doppler frequency shift in Hz at a ground station caused by the movement of a satellite in a circular orbit at a given elevation angleel, the height of the satellitehs, the height of the ground stationhgand the satellite carrier frequencyfreq.For more information, see Calculation of the Doppler effect.
Function
dopplerShiftCircularOrbitassumes:-
The spherical shape of the Earth, the immobility of the ground station and the absence of rotation of the Earth;
-
Constant communication between the satellite and the 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
elin the second quadrant of the plane ; -
The movement of the satellite in a circular orbit clockwise.
-
Arguments
Input arguments
# el — satellite location angle
+
scalar | vector
Details
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 angle value, 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.:
-
Satellite 1 with a location angle ;
-
Satellite 2 with a seat angle ;
-
Satellite 3 with a seat angle .
| Типы данных |
|
# hs is the height of the satellite
+
scalar
Details
The satellite’s height in meters, set as a positive scalar.
| Типы данных |
|
# freq — satellite carrier frequency
+
scalar
Details
The satellite carrier frequency in Hz, set as a non-negative scalar.
| Типы данных |
|
# time — time
+
scalar | vector
Details
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.
| Типы данных |
|
Output arguments
# shift — Doppler shift
+
scalar | vector | the matrix
Details
The Doppler shift in Hz at a ground station caused by the motion of a satellite in a circular orbit, 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 shift It is a matrix of size NumEL on NumTIME. Each line shift It represents the Doppler offset for the corresponding elevation angle.
The Doppler shift continuously changes as the satellite passes over the ground station. As the satellite rises above the horizon and approaches the zenith, the Doppler shift gradually decreases, becoming equal 0 at the zenith. As the satellite moves away from the zenith, the Doppler shift increases again, but in a negative direction, until the Doppler shift reaches its maximum value. To illustrate this behavior, see the example Visualization of Doppler shift changes during one satellite orbital period.
| Типы данных |
|
Examples
Calculation and plotting of the Doppler shift for changing location angles
Details
Let’s calculate the Doppler shift for a satellite moving in a circular orbit, and then plot the dependence of the Doppler shift on the angle of the location.
Let’s set the satellite’s height to 10000 km, height of the ground station — 120 m and the satellite carrier frequency — 20 GHz.
hs = 10000e3 # m
hg = 120 # m
freq = 20e9 # Hz
Let the angle of the place change from 0 before 90 degrees.
el = 0:90 # deg
Let’s calculate the Doppler shift for different angles of the place.
import EngeeSatellites.Functions: dopplerShiftCircularOrbit
shift = dopplerShiftCircularOrbit(el, hs, hg, freq)
Let’s plot the dependence of the Doppler shift on the angle of the seat.
plot(el, shift, marker = :x,
title = "Doppler Shift vs Elevation Angle",
xlabel = "Elevation Angle (degrees)",
ylabel = "Doppler Shift (Hz)")
Visualization of Doppler shift changes during one satellite orbital period
Details
We visualize the changes in the Doppler shift 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 and the satellite carrier frequency — 5 GHz. Assume that the height of the ground station is 0 m.
hs = 1500e3 # m
el = 45 # deg
freq = 5e9 # Hz
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 Doppler shift for the specified time intervals.
import EngeeSatellites.Functions: dopplerShiftCircularOrbit
shift = dopplerShiftCircularOrbit.(el, hs, hg, freq, time)
Let’s plot the dependence of the Doppler shift on time.
plot(time, shift,
title = "Doppler Shift vs Time",
xlabel = "Time (seconds)",
ylabel = "Doppler Shift (Hz)")
Additional Info
Calculation of the Doppler effect
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 .
Considering that the satellite in the drawing is moving in a plane , the satellite position vector [X; Y; Z] It is defined as follows:
where
-
m is the radius of the Earth;
-
— height of the ground station;
-
— satellite height;
-
m3kg-1s-2 is the gravitational constant (Newtonian gravitational constant);
-
kg is the mass of the Earth.
Using the satellite’s position vector, the velocity vector is determined as follows:
Since the function assumes that the ground station is stationary, it has the following position and velocity vectors:
-
The position of the ground station: ;
-
Ground station speed: .
To derive a formula for the Doppler shift at a ground station caused by the motion of a satellite in a circular orbit using the position of the source , the speed of the source , goal position and the target’s speed , apply the following equations:
-
The unit vector from the source to the target is
where denotes the Euclidean norm.
-
The velocity of the source in a single direction is
If the angle between and It ranges from
0before90degrees, then positively. Positive value indicates that the source is moving towards the target. Negative value indicates that the source is moving away from the target. -
The relative velocity of the source and the target in the direction from the source to the target is
-
The Doppler frequency observed in the target is
where — the speed of light in m/s.
-
The Doppler shift in the target is