Transitioning to the New Receiver Connect Command Format

Starting in STK 9, the Comm Connect commands, including Receiver, were enhanced to make use of attributes and to simplify the format required to use these commands. The Receiver Connect commands now enable you to get and set attribute values using the following formats:

To get attribute values and information from a Receiver object:

Receiver_RM <RcObjectPath> GetValue [<AttributePath>]

To set attributes for an object's Receiver data:

Receiver <RcObjectPath> {Options} <AttributePath> <Value> [<Unit>]

The new Comm Connect commands use an attribute path to identify the location - within the Receiver object - of the targeted attribute. The exact syntax and length of the attribute path depends upon the individual attribute. Each part of the attribute path must be separated by a period (.), including the attribute itself.

The valid {Options} for the Receiver command are SetValue, AddItem, and RemoveItem.

Further descriptions of the command syntax can be found here: Receiver and Receiver_RM.

The following command examples show how to switch over to the new Receiver command format from the old STK 8 format.

Example 1

To define a Receiver with the Simple model and with a g/T of 6.0 dB/K, and auto-scale bandwidth.

In STK 8, use the Comm Define RcvrModel command with a Receiver object path, entering the model type, gOverT and bandwidth:

Comm */Facility/Facility1/Receiver/GndRcvr Define RcvrModel Simple gOverT 6.0 Bandwidth AUTO

In STK 9, you can first use the Receiver_RM GetValue command to get the name and current setting of the Receiver's attributes. Numeric values are displayed in internal units. "Read-only" attributes can not be changed.

Receiver_RM */Facility/Facility1/Receiver/GndRcvr GetValue

UserComment = STK Receiver Object
Model = Simple_Receiver_Model
Model.UserComment = Simple model of a receiver
Model.AutoSelectDemodulator = true
Model.UseFilter = false
Model.AutoScaleBandwidth = true
Model.PreReceiveGainsLosses.GainLossList (Empty List)
Model.PreReceiveGainsLosses.TotalGain = 1.00000000 units (Read-only)
Model.PreDemodGainsLosses.GainLossList (Empty List)
Model.PreDemodGainsLosses.TotalGain = 1.00000000 units (Read-only)
Model.EnableLinkMargin = false
Model.GOverT = 100.00000000 units*K^-1
Model.UsePolarization = false
Model.FrequencyAutoTracking = true
Model.AntennaGain = 1.00000000 units (Read-only)

Use the Receiver_RM GetValue command, specifying the Model attribute with the Choices option to get the names of available Receiver models:

Receiver_RM */Facility/Facility1/Receiver/GndRcvr GetValue Model:Choices

Cable_Receiver_Model
Complex_Receiver_Model
Laser_Receiver_Model
Medium_Receiver_Model
Multibeam_Receiver_Model
Script_Plugin_Laser_Receiver_Model
Script_Plugin_RF_Receiver_Model
Simple_Receiver_Model

Use the Receiver command with the SetValue option to set the Receiver model to Simple:

Receiver */Facility/Facility1/Receiver/GndRcvr SetValue Model Simple_Receiver_Model

The following Receiver SetValue commands will set the value of the gOverT attribute and will set Bandwidth to auto scale. For numeric values include the abbreviation of the unit that the value is being entered in, if it is different from the internal unit:

Receiver */Facility/Facility1/Receiver/GndRcvr SetValue Model.GOverT 6.0
Receiver */Facility/Facility1/Receiver/GndRcvr SetValue Model.AutoScaleBandwidth true

Example 2

To define a Multibeam Receiver:

In STK 8, use the Comm Define RcvrModel command with a Receiver object path, entering the model type, frequency and bandwidth:

Comm */Satellite/GEO/Receiver/Uplink Define RcvrModel MultiBeam Frequency Auto Bandwidth Auto

In STK 9, use the Receiver command with the SetValue option to set the Receiver model to MultiBeam. Since the default for Frequency is auto tracking and for Bandwidth is auto scaling, there is no need to send any other commands.

Receiver */Satellite/GEO/Receiver/Uplink SetValue Model Multibeam_Receiver_Model

In STK 8, to add two active single beams with frequency of 16 GHz:

Comm */Satellite/GEO/Receiver/Uplink Define RcvrModel MultiBeam Add Beam001 Frequency 16.0 Power 13.01 Active Yes
Comm */Satellite/GEO/Receiver/Uplink Define RcvrModel MultiBeam Add Beam002 Frequency 16.0 Power 13.01

In STK 9, Beam001 is added by default. Add the second beam and set the properties for both. Antenna beams are accessed via an index, whose value starts at 0.

Use the Receiver command with the AddItem option to add the second Antenna beam.

Receiver */Satellite/GEO/Receiver/Uplink AddItem Model.AntennaSystem.AntennaBeams

Set the attributes for the two beams. (Note: the Power option for Receivers is obsolete.)

Receiver */Satellite/GEO/Receiver/Uplink SetValue Model.AntennaSystem.AntennaBeams[0].Frequency 16.0 GHz
Receiver */Satellite/GEO/Receiver/Uplink SetValue Model.AntennaSystem.AntennaBeams[1].Frequency 16.0 GHz

Use the Receiver_RM GetValue command, specifying the attribute path to the first AntennaBeam to get the AntennaBeam's values:

Receiver_RM */Satellite/GEO/Receiver/Uplink GetValue Model.AntennaSystem.AntennaBeams[0]

Model.AntennaSystem.AntennaBeams[0].BeamID = Beam001
Model.AntennaSystem.AntennaBeams[0].Active = true
Model.AntennaSystem.AntennaBeams[0].Frequency = 16000000000.00000000 Hz
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Antenna = Gaussian
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Antenna.UserComment = Analytical model of a Gaussian beam similar to a parabolic antenna within about -6 dB relative to boresight
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Antenna.DesignFrequency = 16000000000.00000000 Hz (Read-only)
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Antenna.InputType = Use Diameter
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Antenna.Diameter = 1.00000000 m
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Antenna.MainlobeGain = 15461.83357326 units (Read-only)
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Antenna.Beamwidth = 0.02526500 rad (Read-only)
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Antenna.BacklobeGain = 0.00100000 units
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Antenna.Efficiency = 0.55000000 unitValue
Model.AntennaSystem.AntennaBeams[0].AntennaControl.UsePolarization = false
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Orientation = Azimuth Elevation
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Orientation.AzimuthAngle = 0 rad
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Orientation.ElevationAngle = 1.57079633 rad
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Orientation.AboutBoresight = Rotate
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Orientation.XPositionOffset = 0 m
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Orientation.YPositionOffset = 0 m
Model.AntennaSystem.AntennaBeams[0].AntennaControl.Orientation.ZPositionOffset = 0 m
Model.AntennaSystem.AntennaBeams[0].AntennaType = Gaussian (Read-only)
Model.AntennaSystem.AntennaBeams[0].PolarizationType = None (Read-only)
Model.AntennaSystem.AntennaBeams[0].AzimuthAngle = 0 rad (Read-only)
Model.AntennaSystem.AntennaBeams[0].ElevationAngle = 1.57079633 rad (Read-only)
Model.AntennaSystem.AntennaBeams[0].XPositionOffset = 0 m (Read-only)
Model.AntennaSystem.AntennaBeams[0].YPositionOffset = 0 m (Read-only)
Model.AntennaSystem.AntennaBeams[0].ZPositionOffset = 0 m (Read-only)

To delete Beam002, use the Receiver command with the RemoveItem option and enter the index of the item to be removed.

Receiver */Satellite/GEO/Receiver/Uplink RemoveItem Model.AntennaSystem.AntennaBeams 1

Example 3

To define a laser receiver with a gain value of 0.5 dB, autoscale the bandwidth, set optics area to 1.21 meters squared and optics efficiency to 67%.

In STK 8, use this command:

Comm */Satellite/GEO/Receiver/TstRc2 Define RcvrModel Laser Gain 0.5 Bandwidth Auto OpticsArea 1.21 OpticsEfficiency 67

In STK 9, first set the model type:

Receiver */Satellite/GEO/Receiver/TstRc2 SetValue Model Laser_Receiver_Model

Use the Receiver_RM GetValue command, to get the attributes of a Laser Receiver:

Receiver_RM */Satellite/GEO/Receiver/TstRc2 GetValue

UserComment = STK Receiver Object
Model = Laser_Receiver_Model
Model.UserComment = Laser model of a receiver
Model.AutoSelectDemodulator = true
Model.UseFilter = false
Model.AutoScaleBandwidth = true
Model.PreReceiveGainsLosses.GainLossList (Empty List)
Model.PreReceiveGainsLosses.TotalGain = 1.00000000 units (Read-only)
Model.PreDemodGainsLosses.GainLossList (Empty List)
Model.PreDemodGainsLosses.TotalGain = 1.00000000 units (Read-only)
Model.EnableLinkMargin = false
Model.EnablePropagationLossModel = false
Model.FrequencyAutoTracking = true
Model.ComputeSystemNoiseTemp = Constant
Model.ConstantSystemNoiseTemp = 290.00000000 K
Model.ANT2LNALineLoss = 1.00000000 units
Model.LNA2RcvrLineLoss = 1.00000000 units
Model.LNAGain = 1.00000000 units
Model.DetectorGain = 1000000.00000000 units
Model.DetectorEfficiency = 0.90000000 unitValue
Model.DetectorDarkCurrent = 1e-016
Model.DetectorNoiseFigure = 0.10000000 units
Model.DetectorNoiseTemperature = 10.00000000 K
Model.DetectorLoadImpedance = 100000000.000000
Model.AntennaControl.AntennaReferenceType = Embed (Read-only)
Model.AntennaControl.Antenna = Gaussian_Optical
Model.AntennaControl.Antenna.UserComment = Gaussian optical antenna pattern
Model.AntennaControl.Antenna.DesignFrequency = 375000000000000.00000000 Hz (Read-only)
Model.AntennaControl.Antenna.ComputeGain = false
Model.AntennaControl.Antenna.MaxGain = 1000000.00000000 units
Model.AntennaControl.UsePolarization = false
Model.AntennaControl.Orientation = Azimuth Elevation
Model.AntennaControl.Orientation.AzimuthAngle = 0 rad
Model.AntennaControl.Orientation.ElevationAngle = 1.57079633 rad
Model.AntennaControl.Orientation.AboutBoresight = Rotate
Model.AntennaControl.Orientation.XPositionOffset = 0 m
Model.AntennaControl.Orientation.YPositionOffset = 0 m
Model.AntennaControl.Orientation.ZPositionOffset = 0 m
Model.MaxAntennaGain = 1000000.00000000 units (Read-only)

Use the Receiver command with the SetValue option to set the attributes. The first command will set the bandwidth to autoscale. In STK 9 the gain will be computed from the Area and Efficiency:

Receiver */Satellite/GEO/Receiver/TstRc2 SetValue Model.AutoScaleBandwidth true
Receiver */Satellite/GEO/Receiver/TstRc2 SetValue Model.AntennaControl.Antenna.ComputeGain true
Receiver */Satellite/GEO/Receiver/TstRc2 SetValue Model.AntennaControl.Antenna.Area 1.21 m^2
Receiver */Satellite/GEO/Receiver/TstRc2 SetValue Model.AntennaControl.Antenna.Efficiency 67

In STK 8, use these commands to define the atmospheric loss model for the laser receiver:

Comm */Satellite/GEO/Receiver/TstRc2 Define RcvrModel Laser AtmLoss Enable 1
Comm */Satellite/GEO/Receiver/TstRc2 Define RcvrModel Laser AtmLoss NumLayers 4
Comm */Satellite/GEO/Receiver/TstRc2 Define RcvrModel Laser AtmLoss Layer 1 Top 1000 Coeff 2.51e-8 Layer 4 Top 90000 Coeff 2.54e-8

In STK 9, the atmospheric loss model is the Propagation Loss Model. First use the Receiver command with the SetValue option to enable the model:

Receiver */Satellite/GEO/Receiver/TstRc2 SetValue Model.EnablePropagationLossModel true

One layer is added by default, send the Receiver command with the AddItem command to add 3 more layers to the model:

Receiver */Satellite/GEO/Receiver/TstRc2 AddItem Model.PropagationLossModel.LayerList
Receiver */Satellite/GEO/Receiver/TstRc2 AddItem Model.PropagationLossModel.LayerList
Receiver */Satellite/GEO/Receiver/TstRc2 AddItem Model.PropagationLossModel.LayerList

Use the Receiver_RM GetValue command, specifying the Model.PropagationLossModel attribute:

Receiver_RM */Satellite/GEO/Receiver/TstRc2 GetValue Model.PropagationLossModel

Model.PropagationLossModel = Beer-Bouguer-Lambert_Law
Model.PropagationLossModel.UserComment = Model atmospheric loss for laser receivers using the Beer-Bouguer-Lambert Law
Model.PropagationLossModel.LayerList[0].LayerNum = 4 (Read-only)
Model.PropagationLossModel.LayerList[0].LayerTop = 100000.00000000 m (Read-only)
Model.PropagationLossModel.LayerList[0].ExtinctionCoefficient = 0 m^-1
Model.PropagationLossModel.LayerList[1].LayerNum = 3 (Read-only)
Model.PropagationLossModel.LayerList[1].LayerTop = 75000.00000000 m (Read-only)
Model.PropagationLossModel.LayerList[1].ExtinctionCoefficient = 0 m^-1
Model.PropagationLossModel.LayerList[2].LayerNum = 2 (Read-only)
Model.PropagationLossModel.LayerList[2].LayerTop = 50000.00000000 m (Read-only)
Model.PropagationLossModel.LayerList[2].ExtinctionCoefficient = 0 m^-1
Model.PropagationLossModel.LayerList[3].LayerNum = 1 (Read-only)
Model.PropagationLossModel.LayerList[3].LayerTop = 25000.00000000 m (Read-only)
Model.PropagationLossModel.LayerList[3].ExtinctionCoefficient = 0 m^-1
Model.PropagationLossModel.EnableEvenlySpacedHeights = true
Model.PropagationLossModel.MaxLayerHeight = 100000.00000000 m
Model.PropagationLossModel.MinLayerHeight = 0 m

By default, the model is set to automatically evenly space the LayerTop values, so the LayerTop attributes are Read-only. To enable setting of the LayerTop values send this command:

Receiver */Satellite/GEO/Receiver/TstRc2 SetValue Model.PropagationLossModel.EnableEvenlySpacedHeights false

Send these commands to set the LayerTop and Coefficient for Layer 1 and Layer 4. The list is accessed via an index, that begins at 0. Note that the layers are in reverse order. Layer 4 is at index 0, Layer 1 is at index 3.

Receiver */Satellite/GEO/Receiver/TstRc2 SetValue Model.PropagationLossModel.LayerList[3].LayerTop 1000
Receiver */Satellite/GEO/Receiver/TstRc2 SetValue Model.PropagationLossModel.LayerList[3].ExtinctionCoefficient 2.51e-8
Receiver */Satellite/GEO/Receiver/TstRc2 SetValue Model.PropagationLossModel.LayerList[0].LayerTop 90000
Receiver */Satellite/GEO/Receiver/TstRc2 SetValue Model.PropagationLossModel.LayerList[0].ExtinctionCoefficient 2.54e-8

 

Further Documentation on Transitioning to the New Comm Connect Format:

STK Programming Interface 11.0.1