GroundStation
Description
The GroundStation
object defines a ground station object belonging
to a satellite scenario.
Creation
You can create GroundStation
object using the groundStation
object function
of the satelliteScenario
object.
Properties
You can set this property only when calling the groundStation
function. After you call groundStation
function, this property is
read-only.
GroundStation name, specified as a comma-separated pair consisting of
'Name'
and a string scalar, string vector, character vector or a
cell array of character vectors.
If only one GroundStation is added, specify
Name
as a string scalar or a character vector.If multiple GroundStations are added, specify
Name
as a string scalar, character vector, string vector or a cell array of character vectors. All GroundStations added as a string scalar or a character vector are assigned the same specified name. The number of elements in the string vector or cell array of character vector must equal the number of GroundStations being added. Each GroundStation is assigned the corresponding name from the vector or cell array.
In the default value, idx is the ID assigned by satellite scenario.
Data Types: char
| string
This property is set internally by the simulator and is read-only.
GroundStation ID assigned by the simulator, specified as a positive scalar.
You can set this property only when calling GroundStation. After you call GroundStation, this property is read-only.
Geodetic latitude of ground stations, specified as a scalar. Values must be in the range [-90, 90].
If you add only one ground station, specify Latitude as a scalar double.
If you add multiple ground stations, specify Latitude as a vector double whose length is equal to the number of ground stations being added.
When latitude and longitude are specified as lat, lon
inputs to
GroundStation, Latitude specified as a name-value argument takes precedence.
Data Types: double
You can set this property only when calling GroundStation. After you call GroundStation, this property is read-only.
Geodetic longitude of ground stations, specified as a scalar or a vector. Values must be in the range [-180, 180].
If you add only one ground station, specify longitude as a scalar.
If you add multiple ground stations, specify longitude as a vector whose length is equal to the number of ground stations being added.
When longitude and longitude are specified as lat, lon
inputs to
GroundStation, longitude specified as a name-value argument takes precedence.
Data Types: double
You can set this property only when calling GroundStation. After you call GroundStation, this property is read-only.
Altitude of ground stations, specified as a scalar or a vector.
If you specify
Altitude
as a scalar, the value is assigned to each ground station in the GroundStation.If you specify
Altitude
as a vector, the vector length must be equal to the number of ground stations in the GroundStation.
When latitude and longitude are specified as lat, lon
inputs to
GroundStation, Latitude specified as a name-value argument takes precedence.
Data Types: double
You can set this property only when calling coordinateAxes
.
After you call coordinateAxes
,
this property is read-only.
Coordinate axes triad graphic object, specified as CoordinateAxes
object.
Minimum elevation angle of a satellite for the satellite to be visible from the ground
station, and for the ground station to be visible from the satellite in degrees,
specified as a scalar or row vector. Values must be in the range [–90, 90]. For access
and link closure to be possible, the elevation angle must be at least equal to the value
specified in MinElevationAngle
.
If you specify
MinElevationAngle
as a scalar, the value is assigned to each ground station in the GroundStation.If you specify
MinElevationAngle
as a vector, the vector length must be equal to the number of ground stations in the GroundStation.
When the AutoSimulate
property of the satellite scenario is
false
, MinElevationAngle
property can be
modified while the SimulationStatus
is NotStarted
or
InProgress
.
Data Types: double
Elevation angles for visibility mask in degrees, specified as a scalar, an N-element row vector , or a 2-D matrix. This property works
with MaskAzimuthEdges
to create a visibility mask. The length of the
MaskElevationAngle
row vector must be one shorter than the
MaskAzimuthEdges
row vector.
The value of all MaskElevationAngle
angles must be from -90 to 90.
N is m-1, where m is the number
of elements in MaskAzimuthEdges
.
If
MaskElevationAngle
is a scalar double or row vector double, this value is assigned to each ground station in theGroundStation
object.If
MaskElevationAngle
is a 2-D matrix double, the number of rows must be equal to the number of ground stations in theGroundStation
object.
When the AutoSimulate
property of the satellite scenario is false
,
MaskElevationAngle
property can be modified while the SimulationStatus
is NotStarted
or
InProgress
.
Data Types: double
Azimuth angles for the visibility mask in degrees, specified as a row vector of angles,
or a 2-D matrix. This parameter works with MaskElevationAngle
property
to create a visibility mask. The length of the MaskAzimuthEdges
property row vector must be one longer than the MaskElevationAngle
property row vector. The value of all MaskAzimuthEdges
angles must be
from 0 to 360 degrees.
If
MaskAzimuthEdges
is a row vector, this value is assigned to each ground station added to theGroundStation
object.If
MaskAzimuthEdges
is a 2-D matrix, the number of rows in the matrix must be equal to the number of ground stations in theGroundStation
object.If
MaskAzimuthEdges
is not specified, this value is automatically generated for each ground station as a linearly spaced row vector from 0 to 360 degrees. The row vector is one value longer than the correspondingMaskElevationAngle
row vector.
When the AutoSimulate
property of the satellite scenario is false
,
MaskAzimuthEdges
property can be modified while the SimulationStatus
is NotStarted
or
InProgress
.
Data Types: double
You can set this property only when calling access
.
After you call access
, this property is
read-only.
Access analysis objects, specified as a row vector of
Access
objects.
You can set this property only when calling eclipse
. After you
call access
, this property is read-only.
Eclipse analysis object, specified as an empty or a scalar Eclipse
object.
You can set this property only when calling
the conicalSensor
. After you
call the conicalSensor
function, this property is read-only.
Conical sensors attached to the GroundStation, specified as a row vector of conical sensors.
Color of the marker, specified as a comma-separated pair consisting of
'MarkerColor'
and either an RGB triplet or a string or
character vector of a color 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 from0
toF
. The values are not case sensitive. Therefore, the color codes"#FF8800"
,"#ff8800"
,"#F80"
, and"#f80"
are equivalent.
Alternatively, you can specify some common colors by name. This table lists the named color options, the equivalent RGB triplets, and the hexadecimal color codes.
Color Name | Short Name | RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|---|---|
"red"
|
"r"
|
[1 0 0]
|
"#FF0000"
|
|
"green"
|
"g"
|
[0 1 0]
|
"#00FF00"
|
|
"blue"
|
"b"
|
[0 0 1]
|
"#0000FF"
|
|
"cyan"
|
"c"
|
[0 1 1]
|
"#00FFFF"
|
|
"magenta"
|
"m"
|
[1 0 1]
|
"#FF00FF"
|
|
"yellow"
|
"y"
|
[1 1 0]
|
"#FFFF00"
|
|
"black"
|
"k"
|
[0 0 0]
|
"#000000"
|
|
"white"
|
"w"
|
[1 1 1]
|
"#FFFFFF"
|
|
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.4470 0.7410]
|
"#0072BD"
|
|
[0.8500 0.3250 0.0980]
|
"#D95319"
|
|
[0.9290 0.6940 0.1250]
|
"#EDB120"
|
|
[0.4940 0.1840 0.5560]
|
"#7E2F8E"
|
|
[0.4660 0.6740 0.1880]
|
"#77AC30"
|
|
[0.3010 0.7450 0.9330]
|
"#4DBEEE"
|
|
[0.6350 0.0780 0.1840]
|
"#A2142F"
|
|
Size of the marker, specified as a comma-separated pair consisting of
'MarkerSize'
and a real positive scalar less than 30. The unit
is in pixels.
State of GroundStation label visibility, specified as a
comma-separated pair consisting of
'ShowLabel'
and numerical or
logical value of 1
(true
) or 0
(false
).
Data Types: logical
Font size of the GroundStation label, specified as a comma-separated pair consisting of
'LabelFontSize'
and a positive scalar in the range [6
30].
Font color of the GroundStationlabel, specified as a comma-separated pair consisting of
'LabelFontColor'
and either an RGB triplet or a string or
character vector of a color 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 from0
toF
. The values are not case sensitive. Therefore, the color codes"#FF8800"
,"#ff8800"
,"#F80"
, and"#f80"
are equivalent.
Alternatively, you can specify some common colors by name. This table lists the named color options, the equivalent RGB triplets, and the hexadecimal color codes.
Color Name | Short Name | RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|---|---|
"red"
|
"r"
|
[1 0 0]
|
"#FF0000"
|
|
"green"
|
"g"
|
[0 1 0]
|
"#00FF00"
|
|
"blue"
|
"b"
|
[0 0 1]
|
"#0000FF"
|
|
"cyan"
|
"c"
|
[0 1 1]
|
"#00FFFF"
|
|
"magenta"
|
"m"
|
[1 0 1]
|
"#FF00FF"
|
|
"yellow"
|
"y"
|
[1 1 0]
|
"#FFFF00"
|
|
"black"
|
"k"
|
[0 0 0]
|
"#000000"
|
|
"white"
|
"w"
|
[1 1 1]
|
"#FFFFFF"
|
|
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.4470 0.7410]
|
"#0072BD"
|
|
[0.8500 0.3250 0.0980]
|
"#D95319"
|
|
[0.9290 0.6940 0.1250]
|
"#EDB120"
|
|
[0.4940 0.1840 0.5560]
|
"#7E2F8E"
|
|
[0.4660 0.6740 0.1880]
|
"#77AC30"
|
|
[0.3010 0.7450 0.9330]
|
"#4DBEEE"
|
|
[0.6350 0.0780 0.1840]
|
"#A2142F"
|
|
Object Functions
access | Add access analysis objects to satellite scenario |
conicalSensor | Add conical sensor to satellite scenario |
gimbal | Add gimbal to satellite, platform, or ground station |
coordinateAxes | Visualize coordinate axes triad of satellite scenario assets |
eclipse | Add eclipse analysis object to satellite or ground station |
show | Show object in satellite scenario viewer |
aer | Calculate azimuth angle, elevation angle, and range of another satellite or ground station in NED frame |
hide | Hide satellite scenario entity from viewer |
updateMask (Satellite Communications Toolbox) | Updates visibility mask |
Examples
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:31:00 3000 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:58:00 02-May-2020 06:47:00 2940 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.
play(sc)
Version History
Introduced in R2021aStarting in R2025a, using the MinElevationAngle
property to specify
the minimum elevation angle between the satellite and the ground station is discouraged.
Instead, use the MaskElevationAngle
and the
MaskAzimuthEdges
properties in the ground station object and function
to account for local obstructions.
See Also
Objects
Functions
show
|play
|hide
|satellite
|access
|groundStation
|conicalSensor
Topics
- Satellite Visibility Analysis Using Terrain (Satellite Communications Toolbox)
- Model, Visualize, and Analyze Satellite Scenario
- Satellite Scenario Key Concepts
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.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)