Access analysis object belonging to scenario
The Access object defines an access analysis object belonging to a
ConicalSensor object. Use
this object to determine if the line-of-sight (LOS) between two objects exists.
For more information see, Algorithms.
Sequence — IDs of satellites, ground stations, or conical sensors
vector of positive numbers
IDs of the satellites, ground stations, and conical sensors defining access analysis, specified as a vector of positive numbers.
LineWidth — Visual width of access analysis object
1 (default) | scalar
Visual width of access analysis object in pixels, specified as a scalar in the range (0, 10].
The line width cannot be thinner than the width of a pixel. If you set the line width to a value that is less than the width of a pixel on your system, the line displays as one pixel wide.
LineColor — Color of analysis line
[0.5 0 1] (default) | RGB triplet | hexadecimal color code | color name | short name
Color of access analysis line, specified as an RGB triplet, hexadecimal color code, a color name, or a short name.
For a custom color, specify an RGB triplet or a hexadecimal color code.
An RGB triplet is a three-element row vector whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range
[0,1], for example,
[0.4 0.6 0.7].
A hexadecimal color code is a string scalar or character vector that starts with a hash symbol (
#) followed by three or six hexadecimal digits, which can range from
F. The values are not case sensitive. Therefore, the color codes
Alternatively, you can specify some common colors by name. This table lists the named color options, the equivalent RGB triplets, and hexadecimal color codes.
|Color Name||Short Name||RGB Triplet||Hexadecimal Color Code||Appearance|
|Not applicable||Not applicable||Not applicable||No color|
Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB® uses in many types of plots.
|RGB Triplet||Hexadecimal Color Code||Appearance|
[0 0 1]
|Show object in satellite scenario viewer|
|Status of access between first and last node defining access analysis|
|Intervals during which access status is true|
|Percentage of time when access exists between first and last node in access analysis|
|Hide satellite scenario entity from viewer|
Add Ground Stations to Scenario and Visualize Access Intervals
Create a satellite scenario and add ground stations from latitudes and longitudes.
startTime = datetime(2020,5,1,11,36,0); stopTime = startTime + days(1); sampleTime = 60; sc = satelliteScenario(startTime,stopTime,sampleTime); lat = 10; lon = -30; gs = groundStation(sc,lat,lon);
Add satellites using Keplerian elements.
semiMajorAxis = 10000000; eccentricity = 0; inclination = 10; rightAscensionOfAscendingNode = 0; argumentOfPeriapsis = 0; trueAnomaly = 0; sat = satellite(sc,semiMajorAxis,eccentricity,inclination, ... rightAscensionOfAscendingNode,argumentOfPeriapsis,trueAnomaly);
Add access analysis to the scenario and obtain the table of intervals of access between the satellite and the ground station.
ac = access(sat,gs); intvls = accessIntervals(ac)
intvls=8×8 table Source Target IntervalNumber StartTime EndTime Duration StartOrbit EndOrbit _____________ __________________ ______________ ____________________ ____________________ ________ __________ ________ "Satellite 2" "Ground station 1" 1 01-May-2020 11:36:00 01-May-2020 12:04:00 1680 1 1 "Satellite 2" "Ground station 1" 2 01-May-2020 14:20:00 01-May-2020 15:11:00 3060 1 2 "Satellite 2" "Ground station 1" 3 01-May-2020 17:27:00 01-May-2020 18:18:00 3060 3 3 "Satellite 2" "Ground station 1" 4 01-May-2020 20:34:00 01-May-2020 21:25:00 3060 4 4 "Satellite 2" "Ground station 1" 5 01-May-2020 23:41:00 02-May-2020 00:32:00 3060 5 5 "Satellite 2" "Ground station 1" 6 02-May-2020 02:50:00 02-May-2020 03:39:00 2940 6 6 "Satellite 2" "Ground station 1" 7 02-May-2020 05:59:00 02-May-2020 06:47:00 2880 7 7 "Satellite 2" "Ground station 1" 8 02-May-2020 09:06:00 02-May-2020 09:56:00 3000 8 9
Play the scenario to visualize the ground stations.
In order for access to exist:
Between two satellites, line of sight must exist between the two satellites.
Between a satellite and a ground station, line of sight must exist between the two. In addition, the elevation angle of the satellite and the ground station must be greater than the MinElevationAngle of the ground station.
Between two ground stations, line of sight must exist between the two and the elevation angle with respect to one another must be above the MinElevationAngle of the other.
Between a conical sensor not attached to the satellite, line of sight must exist between the conical sensor and the satellite and the satellite must be in the field of view of the conical sensor. The field of view is a region of cone whose vertex is at the conical sensor location and extends indefinitely along the z axis of the cone. The cone angle is defined by the MaxViewAngle of the conical sensor. In addition, if the conical sensor is attached to a ground station (directly or via a gimbal), the elevation angle of the satellite with respect to that ground station must be greater than or equal to each MinElevationAngle of the ground station. There is always access between the conical sensor and the satellite, if the conical sensor is attached to the same satellite
Between two conical sensors not attached to the same satellite, line of sight must exist between the two sensors, and each sensor must be inside the field of view of the other. If a conical sensor is attached to a ground station, the elevation angle of the other conical sensor with respect to the ground station must be greater than or equal to the MinElevationAngle. There is always access between two conical sensors, if the conical sensors are attached to the same satellite or ground station directly or via gimbals
Between a conical sensor not attached to a ground station, there must be line of sight between the two, the elevation angle of the conical sensor with respect to the ground station must be greater than or equal to its MinElevationAngle, and the ground station must be inside the field of view of the sensor. there is always access if the conical sensor is attached to this ground station directly or via a gimbal
The above just described access between two nodes. However, you can have more than two nodes by chaining them, such as going from a ground station to a conical sensor on a satellite, then down to another ground station. In such a case, access must exist between each individual pair of adjacent nodes. For instance:
sc = satelliteScenario; sat = satellite(sc,10000000,0,0,0,0,0); c = conicalSensor(sat); gs1 = groundStation(sc); gs2 = groundStation(sc,0,0);
ac = access(gs1,c,gs2); s = accessStatus(ac,sc.StartTime)
s will be true when there is access between gs1 and c, and c and gs2. Also, the following must be true at sc.StartTime:
Line of sight must exist between gs1 and c.
Elevation angle of c with respect to gs1 must be greater than or equal to
gs1 must be inside the field of view of c.
Line of sight must exist between c and gs2.
Elevation angle of c with respect to gs2 must be greater than or equal to
gs2 must be inside the field of view of c.
For more information, see Satellite Constellation Access to Ground Station.
Introduced in R2021a