Main Content

satelliteScenario

Create satellite scenario object

    Description

    The satelliteScenario object represents a 3-D arena consisting of satellites, ground stations, and the interactions between them. Use this object to model satellite constellations, model ground station networks, perform access analyses between the satellites and the ground stations, and visualize the results.

    Creation

    Description

    sc = satelliteScenario creates a default satellite scenario object.

    example

    sc = satelliteScenario(startTime,stopTime,sampleTime) sets the StartTime, StopTime, and SampleTime properties to the values of startTime, stopTime, and sampleTime respectively.

    Properties

    expand all

    Start time of the satellite scenario simulation in Universal Time Coordinated (UTC), specified as a datetime scalar. If you specify the StartTime, StopTime, or SampleTime properties, the object no longer updates StartTime property with further additions of satellites from TLE files.

    Example: datetime(2020,5,11,12,35,38);

    Data Types: datetime

    Stop time of the satellite scenario simulation in UTC, specified as a datetime scalar. If you specify the StartTime, StopTime, or SampleTime properties, the object no longer updates StartTime property with further additions of satellites from TLE files.

    Example: datetime(2020,5,11,12,35,38);

    Data Types: datetime

    Sample time of the satellite scenario simulation, specified as a real-valued scalar. If you specify the StartTime, StopTime, or SampleTime properties, the object no longer updates, the SampleTime property updated with further additions of satellites from TLE files.

    Data Types: double

    This property is read-only.

    Satellites in the scenario, returned as a vector of Satellite objects. To create a Satellite object and add it to the satellite scenario, see the satellite object function.

    This property is read-only.

    Ground stations in the scenario, returned as a row vector of GroundStation objects. To create a GroundStation object and add it to the satellite scenario, see the groundStation object function.

    Option to automatically show graphics, specified as a numeric or logical value of 1 (true) or 0 (false). This property determines if entities added to the scenario are automatically shown in an open satelliteScenarioViewer.

    Object Functions

    groundStationAdd ground station to satellite scenario
    satelliteAdd satellites to satellite scenario
    satelliteScenarioViewerCreate viewer for satellite scenario
    playPlay satellite scenario simulation results on viewer

    Examples

    collapse all

    Specify the start time in the current time zone as yesterday. The simulation lasts for half a day.

    startTime = datetime("yesterday","TimeZone","local");
    stopTime = startTime + days(0.5);

    Specify the sample time as 60 seconds. Create a satellite scenario object, specifying the start time, stop time, and sample time.

    sampleTime = 60;
    sc = satelliteScenario(startTime,stopTime,sampleTime)
    sc = 
      satelliteScenario with properties:
    
             StartTime: 18-Nov-2021 05:00:00
              StopTime: 18-Nov-2021 17:00:00
            SampleTime: 60
               Viewers: [0x0 matlabshared.satellitescenario.Viewer]
            Satellites: [1x0 matlabshared.satellitescenario.Satellite]
        GroundStations: [1x0 matlabshared.satellitescenario.GroundStation]
              AutoShow: 1
    
    

    Create a satellite scenario with a start time of 02-June-2020 8:23:00 AM UTC, and the stop time set to one day later. Set the simulation sample time to 60 seconds.

    startTime = datetime(2020,6,02,8,23,0);
    stopTime = startTime + days(1);
    sampleTime = 60;
    sc = satelliteScenario(startTime,stopTime,sampleTime);

    Add two satellites to the scenario using their Keplerian elements.

    semiMajorAxis = [10000000; 15000000];
    eccentricity = [0.01; 0.02];
    inclination = [0; 10];
    rightAscensionOfAscendingNode = [0; 15];
    argumentOfPeriapsis = [0; 30];
    trueAnomaly = [0; 20];
    
    sat = satellite(sc, semiMajorAxis, eccentricity, inclination, ...
        rightAscensionOfAscendingNode, argumentOfPeriapsis, trueAnomaly)
    sat = 
      1×2 Satellite array with properties:
    
        Name
        ID
        ConicalSensors
        Gimbals
        Transmitters
        Receivers
        Accesses
        GroundTrack
        Orbit
        OrbitPropagator
        MarkerColor
        MarkerSize
        ShowLabel
        LabelFontSize
        LabelFontColor
    
    

    View the satellites in orbit and the ground tracks over one hour.

    show(sat)
    groundTrack(sat,'LeadTime',3600)
    ans=1×2 object
      1×2 GroundTrack array with properties:
    
        LeadTime
        TrailTime
        LineWidth
        TrailLineColor
        LeadLineColor
        VisibilityMode
    
    
    play(sc)

    Tips

    • When saving the satellite scenario, either save the entire workspace containing the scenario object or save the scenario object itself.

    Introduced in R2021a