Main Content

groundStation

Add ground station to satellite scenario

Description

example

groundStation(scenario) adds a default GroundStation object to the specified satellite scenario.

groundStation(scenario,lat,lon) sets the Latitude and Longitude properties of the ground station to lat and lon, respectively. lat and lon must be of the same length. This length specifies the number of ground stations that the function adds to the input scenario. Together, lat and lon indicate the locations of the ground stations.

groundStation(___,Name,Value) sets options using one or more name-value arguments in addition to any input argument combination from previous syntaxes. For example, 'MinElevationAngle',10 specifies a minimum elevation angle of 10 degrees.

gs = groundStation(___) returns a vector of handles to the added ground stations. Specify any input argument combination from previous syntaxes.

Examples

collapse all

Create 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.

play(sc)

Input Arguments

collapse all

Satellite scenario, specified as a satelliteScenario object.

Latitude and longitude of the ground station, specified as a real-valued scalar or real-valued vector.

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: 'MinElevationAngle',10 specifies a minimum elevation angle of 10 degrees.

Satellite scenario viewer, specified as a scalar, vector, or array of satelliteScenarioViewer objects. If the AutoSimulate property of the scenario is false, adding a satellite to the scenario disables any previously available timeline and playback widgets.

You can set this property only when calling the satellite function. After you call satellite, 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 of the groundStations added by the groundStation object function.

Data Types: char | string

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

Minimum elevation angle of a satellite for the satellite to be visible from the ground station, 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 AutoSimulate of the satellite scenario is false, MinElevationAngle can be modified while the SimulationStatus is NotStarted or InProgress.

Data Types: double

Output Arguments

collapse all

Ground station in the scenario, returned as a GroundStation object belonging to the satellite scenario specified by the input scenario.

You can modify the GroundStation object by changing its property values. The name-value arguments used when calling this function correspond to property names.

Version History

Introduced in R2021a