Receiver
Description
The Receiver object defines a receiver object function
      belonging to the satellite scenario.
For an illustration of the signal power and various losses encountered at a receiver, see Algorithms.
Creation
You can create Receiver object using the receiver object
      function of the Satellite, GroundStation,
        Platform, or
        Gimbal
      object.
Properties
You can set this property only when calling the receiver
            function. After you call the receiver function, this property is
            read-only.
Receiver name, specified as a name-value argument consisting of
              'Name' and a string scalar, string vector, character vector, or a
            cell array of character vectors.
- If you are adding only one receiver, specify - Nameas a string scalar or a character vector.
- If you are adding multiple receivers, specify - Nameas a string scalar, character vector, string vector, or a cell array of character vectors. All receivers that you add 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 vectors must equal the number of receivers that you are adding. Each receiver is assigned the corresponding name from the vector or cell array.
In the default value, idx is the ID assigned by the satellite scenario.
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 in meters, specified as a
            three-element vector or a matrix. The position vector is specified in the body frame of
            the input parent.
- If you are adding one receiver, - MountingLocationis a three-element vector. The elements specify the x, y, and z components of the Cartesian coordinates in the body frame of receiver.
- If you are adding multiple receivers, - MountingLocationcan be a three-element vector or a matrix. When specified as a vector, the same set of mounting locations are assigned to all specified receivers. When specified as a matrix,- MountingLocationmust contain three rows and the same number of columns as the receivers. The columns correspond to the mounting location of each specified receiver and the rows correspond to the mounting location coordinates in the parent body frame.
When the AutoSimulate property of the satellite scenario is
              false, you can modify the MountingLocation
            property only when SimulationStatus is NotStarted. You can use the
              restart function to
            reset SimulationStatus to NotStarted, but doing
            so erases the simulation data.
Data Types: double
Mounting orientation with respect to parent object in degrees, specified as a three-element row vector of positive numbers. The elements of the vector correspond to yaw, pitch, and roll, in that order. Yaw, pitch, and roll are positive rotations about the z-axis, intermediate y-axis, and intermediate x-axis of the parent.
- If you are adding one receiver, the - MountingAnglesproperty is a three-element vector.
- If you are adding multiple receivers the - MountingAnglesproperty can be a three-element vector or a matrix. When specified as a vector, the same set of mounting angles are assigned to all specified receivers. When specified as a matrix,- MountingAnglesmust contain three rows and the same number of columns as the receivers. The columns correspond to the mounting angles of each specified receiver and the rows correspond to the yaw, pitch, and roll angles in the parent body frame.
When the AutoSimulate property of the satellite scenario is
              false, you can modify the MountingAngles
            property only when SimulationStatus is NotStarted. You can use the
              restart function to
            reset SimulationStatus to NotStarted, but doing
            so erases the simulation data.
Example: [0; 30; 60]
Data Types: double
Antenna object associated with the receiver, specified as
            either a scalar or a vector. 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 meter and an
            aperture efficiency of 0.65.
Antenna can be specified in receiver as a name-value argument consisting of
              'Antenna' and a scalar, antenna or phased array objects.
- If you are adding only one receiver, - Antennamust be a scalar.
- If you are adding multiple receivers, - Antennaas a vector. The same antenna is assigned to all receivers.
System loss in dB, specified as a scalar or a vector. SystemLoss must be
            greater than or equal to PreReceiverLoss.
System loss can be specified in receiver function as a name-value
            argument consisting of 'SystemLoss' and a scalar, or a vector.
- If you are adding only one receiver, - SystemLossis a scalar.
- If you are adding multiple receivers, - SystemLossis a scalar or a vector. When- SystemLossis a scalar, the same- SystemLossis assigned to all receivers. When- SystemLossis a vector, its length must equal the number of receivers and each element of- SystemLossis assigned to the corresponding receivers in the parent.
If you specify PreReceiverLoss property as a name value argument in receiver function , the default value is the greater of 5 dB and the specified PreReceiverLoss value.
When the AutoSimulate property of the satellite scenario is
                false, you can modify the SystemLoss value
            while SimulationStatus is NotStarted or
                InProgress.
Pre-receiver loss in dB, specified as a scalar or a vector. This is the total loss before the
            receiver input in the receiver system, such as feeder loss, radome loss, and loss due to
            polarization mismatch. PreReceiverLoss must be less than or equal
            to SystemLoss.
Pre-receiver loss can be specified in receiver function as a name-value
            pair consisting of 'PreReceiverLoss' and a scalar, or a vector.
- If you are adding only one receiver, - PreReceiverLossis a scalar.
- If you are adding multiple receivers, - PreReceiverLossis a scalar or a vector. When- PreReceiverLossis a scalar, the same- PreReceiverLossis assigned to all receivers. When- PreReceiverLossis a vector, its length must equal the number of receivers and each element of- PreReceiverLossis assigned to the corresponding receivers in the parent.
If you specify SystemLoss property as a name value argument in
                receiver function , the default value is the lesser of 3 dB and
            the specified SystemLoss value.
When the AutoSimulate property of the satellite scenario is
                false, you can modify the PreReceiverLoss
            value while SimulationStatus is NotStarted or
                InProgress.
Maximum antenna gain to manufacturer specified noise temperature ratio in dB per Kelvin,
      specified as the name-value argument consisting of
        'GainToNoiseTemperatureRatio' and a scalar or a vector.
- If you are adding only one receiver, - GainToNoiseTemperatureRatiois a scalar.
- If you are adding multiple receivers, - GainToNoiseTemperatureRatiois a scalar, or a vector. When- GainToNoiseTemperatureRatiois a scalar, the same- GainToNoiseTemperatureRatiois assigned to all receivers. When- GainToNoiseTemperatureRatiois a vector, its length must equal the number of receivers and each element of- GainToNoiseTemperatureRatiois assigned to the corresponding receiver in the parent.
When the AutoSimulate
      property of the satellite scenario is false, you can modify the
        GainToNoiseTemperatureRatio value while SimulationStatus is NotStarted or
        InProgress.
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 energy per bit to noise power spectral density ratio (Eb/No) necessary for
            link closure in dB, specified as the name-value pair consisting of
                'RequiredEbNo' and a scalar or a vector.
- If you are adding only one receiver, - RequiredEbNois a scalar.
- If you are adding multiple receivers, - RequiredEbNois a scalar or a vector. When- RequiredEbNois a scalar, the same- RequiredEbNois assigned to all receivers. When- RequiredEbNois a vector, its length must equal the number of receivers and each element of- RequiredEbNois assigned to the corresponding receiver in the parent.
When the AutoSimulate property of the satellite scenario is
                false, the RequiredEbNo property can be
            modified while SimulationStatus is NotStarted or
                InProgress.
Note
The above properties except ID can be specified as name-value
        arguments in receiver. The
        size of specified name-value pairs determines the number of receivers specified. Refer to
        these properties to understand how they must be defined when specifying multiple
        receivers.
Object Functions
| aer | Calculate azimuth angle, elevation angle, and range of another satellite or ground station in NED frame | 
| gaussianAntenna | Add Gaussian antennas | 
| pattern | Plot 3-D radiation pattern of antenna | 
| pointAt | Point transmitter or receiver at target | 
| coordinateAxes | Visualize coordinate axes triad of satellite scenario assets | 
Examples
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
      AutoSimulate: 1
        Satellites: [1×0 matlabshared.satellitescenario.Satellite]
    GroundStations: [1×0 matlabshared.satellitescenario.GroundStation]
         Platforms: [1×0 matlabshared.satellitescenario.Platform]
           Viewers: [0×0 matlabshared.satellitescenario.Viewer]
          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, ... argumentOfPeriapsis,trueAnomaly,Name="Satellite");
Add gimbals to the satellite. These gimbals enable the satellite receiver antenna to steer to the first ground station, and its transmitter antenna to steer to the second ground station.
gimbalrxSat = gimbal(sat); gimbaltxSat = gimbal(sat);
Add a receiver to the first gimbal of the satellite.
gainToNoiseTemperatureRatio = 5; % dB/K systemLoss = 3; % dB rxSat = receiver(gimbalrxSat,Name="Satellite Receiver",GainToNoiseTemperatureRatio= ... gainToNoiseTemperatureRatio,SystemLoss=systemLoss)
rxSat = 
  Receiver with properties:
                           Name:  Satellite Receiver
                             ID:  4
               MountingLocation:  [0; 0; 0] meters
                 MountingAngles:  [0; 0; 0] degrees
                        Antenna:  [1x1 satcom.satellitescenario.GaussianAntenna]
                     SystemLoss:  3 decibels
                PreReceiverLoss:  3 decibels
    GainToNoiseTemperatureRatio:  5 decibels/Kelvin
                   RequiredEbNo:  10 decibels
                 CoordinateAxes:  [1x1 matlabshared.satellitescenario.CoordinateAxes]
Add a transmitter to the second gimbal of the satellite.
frequency = 27e9; % Hz power = 20; % dBW bitRate = 20; % Mbps systemLoss = 3; % dB txSat = transmitter(gimbaltxSat,Name="Satellite Transmitter",Frequency=frequency, ... power=power,BitRate=bitRate,SystemLoss=systemLoss)
txSat = 
  Transmitter with properties:
                Name:  Satellite Transmitter
                  ID:  5
    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]
      CoordinateAxes:  [1x1 matlabshared.satellitescenario.CoordinateAxes]
Specify the antenna specifications of the repeater.
dishDiameter = 0.5;                                                                    % meters
apertureEfficiency = 0.5;
gaussianAntenna(txSat,DishDiameter=dishDiameter,ApertureEfficiency=apertureEfficiency);
gaussianAntenna(rxSat,DishDiameter=dishDiameter,ApertureEfficiency=apertureEfficiency);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");
Point gimbals of the satellite towards the two ground stations for the simulation duration.
pointAt(gimbaltxSat,gs2); pointAt(gimbalrxSat,gs1);
Add gimbals to the ground stations. These gimbals enable the ground station antennas to steer towards the satellite.
gimbalgs1 = gimbal(gs1); gimbalgs2 = gimbal(gs2);
Add a transmitter to ground station gs1.
frequency = 30e9; % Hz power = 40; % dBW bitRate = 20; % Mbps txGs1 = transmitter(gimbalgs1,Name="Ground Station 1 Transmitter",Frequency=frequency, ... Power=power,BitRate=bitRate);
Add a receiver to ground station gs2.
requiredEbNo = 14; % dB rxGs2 = receiver(gimbalgs2,Name="Ground Station 2 Receiver",RequiredEbNo=requiredEbNo);
Define the antenna specifications of the ground stations.
dishDiameter = 5;                                % meters
gaussianAntenna(txGs1,DishDiameter=dishDiameter);
gaussianAntenna(rxGs2,DishDiameter=dishDiameter);Point gimbals of the ground stations towards the satellite for the simulation duration.
pointAt(gimbalgs1,sat); pointAt(gimbalgs2,sat);
Add link analysis to transmitter txGs1.
lnk = link(txGs1,rxSat,txSat,rxGs2)
lnk = 
  Link with properties:
    Sequence:  [10 4 5 11]
    LineWidth:  2
    LineColor:  [0.3922 0.8314 0.0745]
Determine the times when ground station gs1 can send data to ground station gs2 via the satellite.
linkIntervals(lnk)
ans=4×8 table
                Source                          Target               IntervalNumber         StartTime                EndTime           Duration    StartOrbit    EndOrbit
    ______________________________    ___________________________    ______________    ____________________    ____________________    ________    __________    ________
    "Ground Station 1 Transmitter"    "Ground Station 2 Receiver"          1           25-Nov-2020 00:20:00    25-Nov-2020 00:40:00      1200         NaN          NaN   
    "Ground Station 1 Transmitter"    "Ground Station 2 Receiver"          2           25-Nov-2020 03:19:00    25-Nov-2020 03:36:00      1020         NaN          NaN   
    "Ground Station 1 Transmitter"    "Ground Station 2 Receiver"          3           25-Nov-2020 06:15:00    25-Nov-2020 06:36:00      1260         NaN          NaN   
    "Ground Station 1 Transmitter"    "Ground Station 2 Receiver"          4           25-Nov-2020 22:20:00    25-Nov-2020 22:38:00      1080         NaN          NaN   
Visualize the link by using the Satellite Scenario Viewer.
play(sc);

Algorithms
This diagram shows the received power and the signal losses experienced by a receiver.

Version History
Introduced in R2021aYou can now specify the pre-receiver loss in dB using the
          PreReceiverLoss property.
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.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)