Receiver
Receiver object belonging to satellite scenario
Description
The Receiver
object defines a receiver object function
belonging to the satellite scenario.
Creation
You can create Receiver
object using the receiver
object
function of the Satellite
, GroundStation
, or
Gimbal
object.
Properties
Name
— Receiver name
"Receiver
idx"
(default) | string scalar | string vector | character vector | cell array of character vectors
You can set this property only when calling the satellite
function.
After you call satellite
, 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 scalar, character vector, string vector or a cell array of character vectors. All Receivers 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 Receivers being added. Each Receiver is assigned the corresponding name from the vector or cell array.
In the default value, idx is the ID of the Receivers added by the Receiver object function.
Data Types: char
| string
ID
— Receiver ID assigned by simulator
real positive scalar
This property is set internally by the simulator and is read-only.
Receiver ID assigned by the simulator, specified as a positive scalar.
MountingLocation
— Mounting location with respect to parent
[0; 0; 0]
(default) | three-element vector | matrix
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
.
One Receiver —
MountingLocation
is a three-element vector.Multiple Receivers —
MountingLocation
can be a three-element vector or a matrix. When specified as a vector, the sameMountingLocation
s are assigned to all specified Receivers. When specified as a matrix,MountingLocation
must 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 the
SimulationStatus
is NotStarted
. You
can use the restart
function to reset
SimulationStatus
to
NotStarted
, but doing so erases the simulation
data.
Data Types: double
MountingAngles
— Mounting orientation with respect to parent object
[0; 0; 0]
(default) | three-element row vector of positive numbers | matrix
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 parent's z - axis, intermediate y - axis and intermediate x - axis of the parent.
One Receiver —
MountingAngles
is a three-element vector.Multiple Receivers —
MountingAngles
can be a three-element vector or a matrix. When specified as a vector, the sameMountingAngles
s are assigned to all specified Receivers. When specified as a matrix,MountingAngles
must 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 parent body frame.
When the AutoSimulate
property of the satellite scenario is
false
, you can modify the MountingAngles
property only when the 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
— Antenna object associated with Receiver
scalar | vector
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 m and an aperture
efficiency of 0.65.
Antenna can be specified in Receiver as a name-value pair
consisting of 'Antenna'
and a scalar, antenna or phased array objects.
If only one Receiver is added,
Antenna
must be a scalar.If multiple Receivers are added,
Antenna
as a vector. The same antenna is assigned to all Receivers.
SystemLoss
— System loss in Receiver
5
(default) | scalar | vector
System loss in dB, specified as a scalar or a vector.
System loss can be specified in Receiver as a name-value pair consisting of
'SystemLoss'
and a scalar, or vector.
If only one Receiver is added, specify
SystemLoss
as a scalar.If multiple Receivers are added, specify
SystemLoss
as a scalar or a vector. WhenSystemLoss
is a scalar, the sameSystemLoss
is assigned to all Receivers. WhenSystemLoss
is a vector, its length must equal the number of Receiver and each element ofSystemLoss
is assigned to the corresponding Receiver specified.
When AutoSimulate
property of the satellite scenario is
false
, you can modify the SystemLoss
value
while the SimulationStatus
is NotStarted
or
InProgress
.
GainToNoiseTemperatureRatio
— Gain to noise temperature ratio
3
(default) | scalar | vector
Gain to noise temperature ratio of the antenna in dB/K, specified as the name-value pair
consisting of 'GainToNoiseTemperatureRatio'
and a scalar or a vector.
If only one Receiver is added, specify
GainToNoiseTemperatureRatio
as a scalar.If multiple Receivers are added, specify
GainToNoiseTemperatureRatio
as a scalar, or a vector. WhenGainToNoiseTemperatureRatio
is a scalar, the sameGainToNoiseTemperatureRatio
is assigned to all Receivers. WhenGainToNoiseTemperatureRatio
is a vector, its length must equal the number of Receivers and each element ofGainToNoiseTemperatureRatio
is assigned to the corresponding Receiver specified.
When AutoSimulate
property of the satellite scenario is false
, you can modify the
GainToNoiseTemperatureRatio
value while the SimulationStatus
is NotStarted
or
InProgress
.
RequiredEbNo
— Minimum Eb/No necessary for link closure
10
(default) | scalar | vector
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 only one Receiver is added, specify
RequiredEbNo
as a scalar.If multiple Receivers are added, specify
RequiredEbNo
as a scalar or a vector. WhenRequiredEbNo
is a scalar, the sameRequiredEbNo
is assigned to all Receivers. WhenRequiredEbNo
is a vector, its length must equal the number of Receivers and each element ofRequiredEbNo
is assigned to the corresponding Receiver specified.
When AutoSimulate
property of the satellite scenario is
false
, the RequiredEbNo
property can be
modified while the 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 | Specify the target at which the satellite is pointed |
Examples
Determine Times of Availability for Satellite Link Between Two Ground Stations
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: [0×0 matlabshared.satellitescenario.Viewer] Satellites: [1×0 matlabshared.satellitescenario.Satellite] GroundStations: [1×0 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,... argumentOfPeriapsis,trueAnomaly,"Name","Satellite");
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,... "BitRate",bitRate,"SystemLoss",systemLoss)
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,... "SystemLoss",systemLoss)
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; 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");
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.
pointAt(gimbalGs1,sat); pointAt(gimbalGs2,sat);
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,... "Power",power,"BitRate",bitRate);
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 gaussianAntenna(txGs1,"DishDiameter",dishDiameter); gaussianAntenna(rxGs2,"DishDiameter",dishDiameter);
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.
linkIntervals(lnk)
ans = 0×8 empty table
Visualize the link using the Satellite Scenario Viewer.
play(sc);
Version History
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)