Main Content

access

Add access analysis objects to satellite scenario

Since R2021a

Description

access(asset1,asset2,...) adds Access analysis objects defined by nodes asset1, asset2, and so on.

example

ac = access(___,'Viewer',Viewer) sets the viewer in addition to any input argument combination from previous syntaxes. For example, 'Viewer',v1 picks the viewer v1.

ac = access(___) returns added access analysis objects in the row vector ac.

Examples

collapse all

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)

Create a satellite scenario.

startTime = datetime(2020,5,1,11,36,0);
stopTime = startTime + days(1);
sampleTime = 60;
sc = satelliteScenario(startTime,stopTime,sampleTime);
lat = 10;
lon = -30;

Add a platform using the given trajectory in the satellite scenario.

trajectory = geoTrajectory([40.6413,-73.7781,10600;32.3634,-64.7053,10600],[0,2*3600],AutoPitch=true,AutoBank=true);
pltf = platform(sc,trajectory);

Add a satellite 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 platform.

ac = access(sat,pltf);
intvls = accessIntervals(ac)
intvls=7×8 table
       Source           Target       IntervalNumber         StartTime                EndTime           Duration    StartOrbit    EndOrbit
    _____________    ____________    ______________    ____________________    ____________________    ________    __________    ________

    "Satellite 2"    "Platform 1"          1           01-May-2020 14:07:00    01-May-2020 14:54:00      2820          1            2    
    "Satellite 2"    "Platform 1"          2           01-May-2020 17:11:00    01-May-2020 18:01:00      3000          3            3    
    "Satellite 2"    "Platform 1"          3           01-May-2020 20:16:00    01-May-2020 21:06:00      3000          4            4    
    "Satellite 2"    "Platform 1"          4           01-May-2020 23:22:00    02-May-2020 00:11:00      2940          5            5    
    "Satellite 2"    "Platform 1"          5           02-May-2020 02:31:00    02-May-2020 03:15:00      2640          6            6    
    "Satellite 2"    "Platform 1"          6           02-May-2020 05:43:00    02-May-2020 06:22:00      2340          7            7    
    "Satellite 2"    "Platform 1"          7           02-May-2020 08:54:00    02-May-2020 09:33:00      2340          8            8    

Play the scenario to visualize the platform and the satellite.

play(sc)

platform_accessintervals_example.png

Input Arguments

collapse all

Satellite, GroundStation, ConicalSensors,or Platform object, specified as a scalar or vector. These objects must belong to the same satelliteScenario object. The function adds the access analysis object to the Accesses property of the corresponding asset in asset1.

  • If the asset in a given node is a scalar, every analysis object uses the same asset for that node position.

  • If the asset in a given node is a vector, its length must equal the number of access analysis objects. Each access analysis object uses the corresponding element of the asset vector for that node location.

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.

Output Arguments

collapse all

Access analysis between input objects, returned as either a scalar or vector. For more information about access analysis, see the Access object.

Data Types: matlabshared.satellitescenario.Access

Note

When the AutoSimulate property is set to false, SimulationStatus must be NotStarted to call access function. Otherwise, use the restart function to reset the SimulationStatus to NotStarted. Note that restart also erases the simulation data.

Version History

Introduced in R2021a