Add receiver to satellite scenario
handle to the added receiver. Specify any input argument combination from previous
rx = receiver(___)
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: [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,... 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.
Add a transmitter to gimbal
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
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
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.
comma-separated pairs of
the argument name and
Value is the corresponding value.
Name must appear inside quotes. You can specify several name and value
pair arguments in any order as
'MountingAngle',[20; 35; 10]sets the yaw, pitch, and roll angles of the receiver to 20, 35, and 10 degrees, respectively.
Name — receiver name
idx" (default) | string scalar | string vector | character vector | cell array of character vectors
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
Nameas a string scalar or a character vector.
If multiple receivers are added, specify
Nameas 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.
MountingLocation — Mounting location with respect to parent
[0; 0; 0] (default) | three-element row vector of positive numbers
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
MountingAngles — Mounting orientation with respect to parent object
[0; 0; 0] (default) | three-element row vector of positive numbers
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.
[0; 30; 60]
Antenna — Antenna object associated with receiver
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.
SystemLoss — Total loss in receiver
5 (default) | positive scalar
Total loss in the receiver, specified as a real positive scalar. Units are in dB.
GainToNoiseTemperatureRatio — Gain to noise temperature ratio
3 (default) | scalar
Gain to noise temperature ratio of the antenna, specified as the comma-separated pair
'GainToNoiseTemperatureRatio' and a scalar. Units are
RequiredEbNo — Lowest Eb/No necessary for link closure
10 (default) | positive scalar
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.