Main Content


Receiver object belonging to satellite scenario


    The Receiver object defines a receiver object function belonging to the satellite scenario.


    You can create Receiver object using the receiver object function of the Satellite, GroundStation, or Gimbal object.


    expand all

    You can set this property only when calling Receiver. After you call Receiver, this property is read-only.

    Receiver 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 Receiver is added, specify Name as a string scalar or a character vector.

    • If multiple Receivers are added, specify Name as a string vector or a cell array of character vectors. The number of elements in the string vector or cell array must be equal to the number of satellites being added.

    In the default value, idx is the count of the Receiver added by the Receiver object function. If another Receiver of the same name exists, a suffix _idx2 is added, where idx2 is an integer that is incremented by 1 starting from 1 until the name duplication is resolved.

    Data Types: char | string

    This property is set internally by the simulator and is read-only.

    Receiver ID assigned by the simulator, specified as a positive scalar.

    Mounting location with respect to the parent object, specified as a three-element row vector of positive numbers in meters. The position vector is specified in the body frame of the input parent.

    Mounting orientation with respect to parent object, specified as a three-element row vector of positive numbers in degrees. The elements of the vector correspond to yaw, pitch, and roll in that order. Yaw, pitch, and roll are positive rotations about the parent's z - axis, intermediate y - axis and intermediate x - axis of the parent.

    Example: [0; 30; 60]

    Antenna object associated with the Receiver, specified as an antenna object. This object can be the default gaussianAntenna object, or one from the Antenna Toolbox or Phased Array System Toolbox. The default gaussian antenna has a dish diameter of 1 m and an aperture efficiency of 0.65.

    Total loss in the Receiver, specified as a real positive scalar. Units are in dB.

    Gain to noise temperature ratio of the antenna, specified as the comma-separated pair consisting of 'GainToNoiseTemperatureRatio' and a scalar. Units are in dB/K.

    Lowest energy per bit to noise power spectral density ratio (Eb/No) necessary for link closure, specified as the comma-separated pair consisting of 'RequiredEbNo' and a positive scalar. Units are in dB.

    Object Functions

    gaussianAntennaAdd Gaussian antennas


    collapse all

    Create a satellite scenario object.

    startTime = datetime(2020,11,25,0,0,0);
    stopTime = startTime + days(1);
    sampleTime = 60;                                     % seconds
    sc = satelliteScenario(startTime,stopTime,sampleTime)
    sc = 
      satelliteScenario with properties:
             StartTime: 25-Nov-2020
              StopTime: 26-Nov-2020
            SampleTime: 60
               Viewers: [0x0 matlabshared.satellitescenario.Viewer]
            Satellites: [1x0 matlabshared.satellitescenario.Satellite]
        GroundStations: [1x0 matlabshared.satellitescenario.GroundStation]
              AutoShow: 1

    Add a satellite to the scenario.

    semiMajorAxis = 10000000;                                                                  % meters
    eccentricity = 0;
    inclination = 60;                                                                          % degrees
    rightAscensionOfAscendingNode = 0;                                                         % degrees
    argumentOfPeriapsis = 0;                                                                   % degrees
    trueAnomaly = 0;                                                                           % degrees
    sat = satellite(sc,semiMajorAxis,eccentricity,inclination,rightAscensionOfAscendingNode,...

    Add a transmitter to the satellite.

    frequency = 27e9;                                                                             % Hz
    power = 20;                                                                                   % dBW
    bitRate = 20;                                                                                 % Mbps
    systemLoss = 3;                                                                               % dB
    txSat = transmitter(sat,"Name","Satellite Transmitter","Frequency",frequency,"power",power,...
    txSat = 
      Transmitter with properties:
                    Name:  Satellite Transmitter
                      ID:  2
        MountingLocation:  [0; 0; 0] meters
          MountingAngles:  [0; 0; 0] degrees
                 Antenna:  [1x1 satcom.satellitescenario.GaussianAntenna]
              SystemLoss:  3 decibels
               Frequency:  2.7e+10 Hertz
                 BitRate:  20 Mbps
                   Power:  20 decibel-watts
                   Links:  [1x0 satcom.satellitescenario.Link]

    Add a receiver to the satellite.

    gainToNoiseTemperatureRatio = 5;                                                                              % dB/K
    systemLoss = 3;                                                                                               % dB
    rxSat = receiver(sat,"Name","Satellite Receiver","GainToNoiseTemperatureRatio",gainToNoiseTemperatureRatio,...
    rxSat = 
      Receiver with properties:
                               Name:  Satellite Receiver
                                 ID:  3
                   MountingLocation:  [0; 0; 0] meters
                     MountingAngles:  [0; 0; 0] degrees
                            Antenna:  [1x1 satcom.satellitescenario.GaussianAntenna]
                         SystemLoss:  3 decibels
        GainToNoiseTemperatureRatio:  5 decibels/Kelvin
                       RequiredEbNo:  10 decibels

    Specify the antenna specifications of the repeater.

    dishDiameter = 0.5;                                                                        % meters
    apertureEfficiency = 0.5;

    Add two ground stations to the scenario.

    gs1 = groundStation(sc,"Name","Ground Station 1");
    latitude = 52.2294963;                                               % degrees
    longitude = 0.1487094;                                               % degrees
    gs2 = groundStation(sc,latitude,longitude,"Name","Ground Station 2");

    Add gimbals to the ground stations. These gimbals enable you to steer the ground station antennas to track the satellite.

    mountingLocation = [0; 0; -5];                                                              % meters
    mountingAngles = [0; 180; 0];                                                               % degrees
    gimbalGs1 = gimbal(gs1,"MountingLocation",mountingLocation,"MountingAngles",mountingAngles);
    gimbalGs2 = gimbal(gs2,"MountingLocation",mountingLocation,"MountingAngles",mountingAngles);

    Track the satellite using the gimbals.


    Add a transmitter to gimbal gimbalGs1.

    frequency = 30e9;                                                                             % Hz
    power = 40;                                                                                   % dBW
    bitRate = 20;                                                                                 % Mbps
    txGs1 = transmitter(gimbalGs1,"Name","Ground Stationn 1 Transmitter","Frequency",frequency,...

    Add a receiver to gimbal gimbalGs2.

    requiredEbNo = 14;                                                                          % dB
    rxGs2 = receiver(gimbalGs2,"Name","Ground Station 2 Receiver","RequiredEbNo",requiredEbNo);

    Define the antenna specifications of the ground stations.

    dishDiameter = 5;                                   % meters

    Add link analysis to transmitter txGs1.

    lnk = link(txGs1,rxSat,txSat,rxGs2)
    lnk = 
      Link with properties:
        Sequence:  [8 3 2 9]
        LineWidth:  1
        LineColor:  [0 1 0]

    Determine the times when ground station gs1 can send data to ground station gs2 via the satellite.

    ans =
      0x8 empty table

    Visualize the link using the Satellite Scenario Viewer.


    Introduced in R2021a