eclipseIntervals
Description
returns a table, interval_table = eclipseIntervals(eclipse_objects)interval_table, of solar occultation intervals. During
each interval, the eclipse status corresponding to each eclipse object in the input vector
eclipse_objects is nonzero.
Examples
Add an eclipse analysis object to a satellite, sat, and ground station, gs, and calculate the eclipse intervals, intvls.
Create a satellite scenario object, sc.
startTime = datetime(2023,4,20);
stopTime = startTime + days(1);
sampleTime = 10; % seconds
sc = satelliteScenario(startTime,stopTime,sampleTime);Add a ground station, gs, to the scenario, sc.
gs = groundStation(sc, ... 1.038102, ... % latitude, degrees 135.980085); % longitude, degrees
Add a satellite, sat, to the scenario, sc. Set the orbit propagator as a two-body-keplerian.
sat = satellite(sc, ... 10000000, ... % semimajor axis, meters 0, ... % eccentricity 0, ... % inclination, degrees 0, ... % right ascension of ascending node, degrees 0, ... % argument of periapsis, degrees 0, ... % true anomaly, degrees OrbitPropagator="two-body-keplerian");
Add the eclipse analysis object to the ground station, gs. Include the lunar eclipse in the analysis. By default, the eclipse model is for a dual-cone.
eclGs = eclipse(gs,IncludeLunarEclipse=true)
eclGs =
Eclipse with properties:
EclipseModel: "dual-cone"
IncludeLunarEclipse: 1
Add the eclipse analysis object to the satellite, sat. Include the lunar eclipse in the analysis. By default, the eclipse model is for a dual-cone.
eclSat = eclipse(sat,IncludeLunarEclipse=true)
eclSat =
Eclipse with properties:
EclipseModel: "dual-cone"
IncludeLunarEclipse: 1
Inspect the satellite and ground station object properties. Note that their Eclipse properties are nonempty, which indicates that the eclipse analyses have been added.
Eclipse: [1x1 Aero.satellitescenario.Eclipse]
sat
sat =
Satellite with properties:
Name: Satellite 2
ID: 2
ConicalSensors: [1x0 matlabshared.satellitescenario.ConicalSensor]
Gimbals: [1x0 matlabshared.satellitescenario.Gimbal]
Transmitters: [1x0 satcom.satellitescenario.Transmitter]
Receivers: [1x0 satcom.satellitescenario.Receiver]
Accesses: [1x0 matlabshared.satellitescenario.Access]
Eclipse: [1x1 Aero.satellitescenario.Eclipse]
GroundTrack: [1x1 matlabshared.satellitescenario.GroundTrack]
Orbit: [1x1 matlabshared.satellitescenario.Orbit]
CoordinateAxes: [1x1 matlabshared.satellitescenario.CoordinateAxes]
OrbitPropagator: two-body-keplerian
MarkerColor: [0.059 1 1]
MarkerSize: 6
ShowLabel: true
LabelFontColor: [1 1 1]
LabelFontSize: 15
Visual3DModel:
Visual3DModelScale: 1
gs
gs =
GroundStation with properties:
Name: Ground station 1
ID: 1
Latitude: 1.0381 degrees
Longitude: 135.98 degrees
Altitude: 0 meters
MaskElevationAngle: 0 degrees
MaskAzimuthEdges: [0 360]
ConicalSensors: [1x0 matlabshared.satellitescenario.ConicalSensor]
Gimbals: [1x0 matlabshared.satellitescenario.Gimbal]
Transmitters: [1x0 satcom.satellitescenario.Transmitter]
Receivers: [1x0 satcom.satellitescenario.Receiver]
Accesses: [1x0 matlabshared.satellitescenario.Access]
Eclipse: [1x1 Aero.satellitescenario.Eclipse]
CoordinateAxes: [1x1 matlabshared.satellitescenario.CoordinateAxes]
MarkerColor: [1 0.4118 0.1608]
MarkerSize: 6
ShowLabel: true
LabelFontColor: [1 1 1]
LabelFontSize: 15
Calculate the eclipse intervals for both eclipse objects, specified as the vector [eclGs eclSat].
intvls = eclipseIntervals(eclSat)
intvls=12×9 table
Asset EclipsingBody IntervalNumber StartTime EndTime Duration MinimumEclipseStatus StartOrbit EndOrbit
_____________ ________________ ______________ ____________________ ____________________ ________ ____________________ __________ ________
"Satellite 2" "Earth" 1 20-Apr-2023 01:17:50 20-Apr-2023 01:53:10 2120 0 1 1
"Satellite 2" "Moon" 2 20-Apr-2023 02:43:30 20-Apr-2023 02:56:40 790 0.87839 1 2
"Satellite 2" "Earth" 3 20-Apr-2023 04:03:50 20-Apr-2023 04:39:10 2120 0 2 2
"Satellite 2" "Moon" 4 20-Apr-2023 05:53:50 20-Apr-2023 06:49:40 3350 0.17465 3 3
"Satellite 2" "Earth and Moon" 5 20-Apr-2023 06:49:40 20-Apr-2023 06:51:20 100 0 3 3
"Satellite 2" "Earth" 6 20-Apr-2023 06:51:20 20-Apr-2023 07:25:00 2020 0 3 3
"Satellite 2" "Earth" 7 20-Apr-2023 09:35:40 20-Apr-2023 10:11:00 2120 0 4 4
"Satellite 2" "Earth" 8 20-Apr-2023 12:21:30 20-Apr-2023 12:56:50 2120 0 5 5
"Satellite 2" "Earth" 9 20-Apr-2023 15:07:30 20-Apr-2023 15:42:50 2120 0 6 6
"Satellite 2" "Earth" 10 20-Apr-2023 17:53:20 20-Apr-2023 18:28:40 2120 0 7 7
"Satellite 2" "Earth" 11 20-Apr-2023 20:39:20 20-Apr-2023 21:14:40 2120 0 8 8
"Satellite 2" "Earth" 12 20-Apr-2023 23:25:10 21-Apr-2023 00:00:00 2090 0 9 9
Input Arguments
Vector of eclipse objects, specified as a vector of Eclipse objects.
Example: eclSat, where eclSat is a vector
eclipse objects added to satellites.
Output Arguments
Solar occultation interval table, returned as a table. Each row of the table denotes a specific interval.
| Column | Description |
|---|---|
| Name of |
| Name of body (Earth, Moon, or Earth and Moon) occulting the Sun. |
| Eclipse interval number for
|
| Start time of the interval. |
| End time of the interval. |
| Duration of the interval, returned in seconds. |
| Minimum eclipse status in the interval, returned as a value between
|
| Orbit number counted from scenario start time that corresponds to
the interval start time. For ground stations, this value is
|
| Orbit number counted from scenario start time corresponding to the
interval end time. For ground stations, this value is
|
Limitations
The function ignores:
Atmospheric refractions.
Sunlight transit time delays.
The function assumes Earth, Moon, and Sun possess spherical geometries, with radii equal to their equatorial radii.
When the value of
EclipsingBodyfrom the solar occultation interval table isEarth and Moon, the predicted value ofMinimumEclipseStatusis lower than the actual value.
Version History
Introduced in R2023b
See Also
Objects
Functions
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)