STK Communications and STK Radar Plugin Points

STK Communications provides the following plugin points:

STK Radar provides the following plugin points:

Creating scripts

The keyword is Value for all input and output arguments.

When you create scripts, it is a good idea to save them in the same folder as the STK scenario to which they pertain.

Referencing Analysis Workbench components

Each of the Communications and Radar script plugin points can reference Analysis Workbench components, such as Vectors, Angles, Points, Custom Coordinate Systems, and Cal Scalars.

The general format of requesting an input from the Vector Geometry Tool is:

<scriptVariableName> = (‘ArgumentType’, ‘Input’, ‘Name’, ‘<awbComponentName>’, ‘Source’, ‘<pathOfAwbComponent>’, ‘Type’, ‘<typeOfAwbComponent>’);

where,

<scriptVariableName> is the desired variable name in the script.

<abwComponentName> is the name of the Analysis Workbench component.

<pathOfAwbComponent> is the path that identifies the STK entity that holds the Analysis Workbench component (could be an STK Object or an Access).

<typeOfAwbComponent> is Vector, Angle, Point, Plane, Axes, Scalar, or CrdnSys.

An example of a MATLAB script using AWB Calc Scalars follows.

SNR = ('ArgumentType','Input',...			
            'Name','SNR',...
	     'Source','access/Place-Place1-Radar-DecisionMetric-To-Aircraft-Aircraft'...	
            'Type','Scalar');	

In the above example, the scenario has an Awb Calc Scalar (‘Type’, ‘Scalar’) component called SNR (‘Name’, ‘SNR’). This AWB Calc Scalar is located on a computed Access where the computed Access is between a Radar, called Radar1, located on a Place called Place1, and an Aircraft called Aircraft1 ('Source','access/Place-Place1-Radar-Radar1-To-Aircraft-Aircraft1'). Finally, the value of the AWB Calc Scalar will be available to the script in a script variable called SNR.

For more information on referencing Analysis Workbench components in Communications and Radar plugin scripts, see Vector Geometry Tool Plugin Points.

Transmitter Model

Input Arguments

The Transmitter Model plugin point has the following available inputs:

Name Representation Units Definition
DateUTC String --- The current date and time
CbName String --- The scenario central body
EpochSec Double sec The scenario simulation epoch time
XmtrPosCBF Double:3 m The transmitter position in Central Body Fixed coordinates; a vector of doubles, of length 3, corresponding to the X, Y and Z values
XmtrAttitude Double:4 --- The attitude quaternion of the transmitter; a vector of doubles, of length 4
RcvrPosCBF Double:3 m The position of the receiver to which the transmitter is linking in the current time step, in Central Body Fixed coordinates; a vector of doubles, of length 3, corresponding to the X, Y and Z values
RcvrAttitude Double:4 --- The attitude quaternion of the receiver to which the transmitter is linking in the current time step; a vector of doubles, of length 4

Output arguments

The following outputs are expected from the script by STK:

Name Representation Units Definition
Frequency Double Hz The frequency of the transmitter RF carrier
Power Double dBW The final output power
Gain Double dBi The gain of the radiating elements of the antenna
DataRate Double bits/sec The information bit rate
Bandwidth Double Hz The bandwidth of the RF spectrum
Modulation String --- The type of modulation used by the transmitter; must be one of the STK registered modulation types; however, you can add your own modulation types, and STK will register them
PostTransmitLoss Double dB A collection of post-transmit losses, e.g., antenna dish coupling or random loss
PolType Integer --- The type of polarization
PolRefAxis Integer --- The polarization reference axis used to align transmitter polarization to receiver polarization, with 0, 1 and 2 representing the X, Y and Z axes, respectively
PolTiltAngle Double deg The polarization tilt angle measured from the reference axis
PolAxialRatio Real --- The polarization axial ratio
UseCDMASpreadGain Boolean --- A flag (0 or 1) that specifies whether or not to use the bandwidth spreading gain
CDMAGain Double dB The CDMA coding processing gain.
UsePSD Boolean --- A flag (0 or 1) that specifies whether or not STK should use PSD. If true, the shape of the PSD is created based on the Modulation output parameter; otherwise, a flat spectrum is utilized.

PolType values and Polarization types

The correlation between the integer values of the PolType element and the different polarization types and their required parameters is given in the following table:

Value Polarization Type Required Parameter(s)
0 None None
1 Linear Reference Axis
2 Right Hand Circular None
3 Left Hand Circular None
4 Vertical Reference Axis, Tilt Angle
5 Horizontal Reference Axis, Tilt Angle
6 Elliptical Reference Axis, Tilt Angle, Axial Ratio

Receiver Model

Input arguments

The Receiver Model plugin point has the following available inputs:

NameRepresentationUnitsDefinition
DateUTC String --- The current date and time
CbName String --- The scenario central body
EpochSec Doublesec The scenario simulation epoch time
XmtrPosCBF Double:3 m The position of the transmitter to which the receiver is linking in the current type step, in Central Body Fixed coordinates; a vector of doubles, of length 3, corresponding to the X, Y and Z values
XmtrAttitude Double:4--- The attitude quaternion of the transmitter to which the receiver is linking in the current type step; a vector of doubles, of length 4
RcvrPosCBF Double:3 m The receiver position in Central Body Fixed coordinates; a vector of doubles, of length 3, corresponding to the X, Y and Z values
RcvrAttitude Double:4 --- The attitude quaternion of the receiver; a vector of doubles, of length 4

Output arguments

The following outputs are expected from the script by STK:

NameRepresentationUnitsDefinition
Frequency Double Hz The tuned receiver frequency of the RF carrier
Bandwidth Double Hz The bandwidth of the receiver front end
Gain Double dBi The gain of the radiating elements of the antenna
PreReceiveLoss Double dB A collection of prereceive losses
PreDemodLoss Double dB A collection of predemodulation losses
UseRainModel Boolean --- A flag (0 or 1) that specifies whether a rain model is to be used
RainOutagePercent Double % The outage value ( 0 through 100) that can be tolerated by the link
PolType Integer --- The type of polarization
PolRefAxis Integer --- The polarization reference axis used to align transmitter polarization to receiver polarization, with 0, 1 and 2 representing the X, Y and Z axes, respectively
PolTiltAngle Double deg The polarization tilt angle measured from the reference axis
PolAxialRatio Real --- The polarization axial ratio
CrossPolLeakage Double dB The performance of your system, ranging from -9999.9 dB to 0.0 dB, where -9999.9 dB represents ideal conditions (no leakage)
CalcReceiverNoiseTemp Boolean --- A flag (0 or 1); set to 0 to use the ConstantNoiseTemp value (below) or to 1 to have STK compute noise temperature
ConstantNoiseTemp Double K If CalcReceiverNoiseTemp is set to 0, specify the noise temperature
ReceiverNoiseFigure Double dB The receiver preamplifier noise figure
CableLoss Double dB The cable loss value
CableNoiseTemp Double K The temperature of the cable
AntennaNoiseTemp Double K The receiver antenna noise temperature

Custom Antenna Gain

Input arguments

The Custom Antenna Gain plugin point has the following available inputs:

NameRepresentationUnitsDefinition
EpochSecDoublesecThe scenario simulation epoch time
DateUTCString---The current date and time
CbNameString---The scenario central body
FrequencyDoubleHzThe current frequency at which antenna gain is desired
AntennaPosLLADouble:3rad,
rad,
m
A vector of doubles, of length 3, representing latitude, longitude and altitude of the antenna above the surface of the Earth
AntennaCoordSystemBoolean--A flag (0 or 1); set to 0 for Polar antenna coordinate system and 1 for Rectangular antenna coordinate system
AzimuthAngleDoubleradThe azimuth angle measured from the antenna boresight in the antenna coordinate system used by STK; in combination with ElevationAngle, represents the direction of the comm. link where the gain value is required
ElevationAngleDoubleradThe elevation angle measured from the antenna boresight in the antenna coordinate system used by STK; in combination with AzimuthAngle, represents the direction of the comm. link where the gain value is required

The above angles are measured from the boresight of the antenna and are in the antenna Polar Coordinate System used by STK.

Output arguments

The following outputs are expected from the script by STK:

Name Representation UnitsDefinition
AntennaCoordSystemBoolean-- Values are 0 for Polar antenna coordinate system and 1 for Rectangular antenna coordinate system.
AntennaGainDoubledBiThiis is the antenna gain value in the direction given by the azimuth and elevation angles of the antenna boresight.
AntennaMaxGainDoubledBiThis is the maximum gain of the antenna beam. This value may be at the boresight.
BeamwidthDoubleradThis is the 3dB beamwidth of the antenna gain pattern.
IntegratedGainDouble---This is the antenna integrated gain over a noise source. This value is currently estimated by STK using internal numerical methods. Future versions will use a value supplied by the scripts.
DynamicGainBoolean---Displays a new 3D volume and 2D contour at each time step. Setting DynamicGain to 1 will incur a greater performance penalty due to increased graphics computations. Valid values are 1 to enable DynamicGain and 0 to disable it.

Absorption Loss Model

Input arguments

The Absorption Loss Model plugin point has the following available inputs:

NameRepresentationUnitsDefinition
EpochSecDoublesecThe scenario simulation epoch time.
DateUTCString---The current date and time.
CbNameString---The scenario central body.
FrequencyDoubleHzThe Comm link frequency at the current time instant, at which the link budget analysis is being carried out. This would also be the Doppler shifted frequency at the receiver, which is using the frequency to compute propagation losses and noise temperatures to compute its g/T.
XmtrPosCBFDouble:3mThe transmitter position in Central Body Fixed coordinates. A vector of doubles, of length 3, corresponding to the X, Y and Z values.
RcvrPosCBFDouble:3mThe receiver position in Central Body Fixed coordinates. A vector of doubles, of length 3, corresponding to the X, Y and Z values.
XmtrPathString---A string representing the complete scenario path of the current transmitter object.
RcvrPathString---A string representing the complete scenario path of the current receiver object.

Output arguments

The following outputs are expected from the script by STK:

NameRepresentationUnitsDefinition
AbsorpLossDouble---The propagation loss term.
NoiseTempDouble KThe noise temperature associated with the propagation loss, used by STK to compute the antenna noise temperature and the receiver g/T values. The Receiver has to have "System Noise Temperature" and "Antenna Noise" set to "Compute" and the Atmosphere checkbox enabled to see Atmos Loss and Tantenna/Custom Loss in STK. If you don't do this, Atmos Loss is returned as 0.0, and Tantenna/Custom Loss is left blank.

Phased Array Direction Provider

This script computes the direction(s) for the beam (or nulls) at each time step. The following fields can be set on the Direction Provider:

ParameterDescription
FilenameName of the script file. File type can be Visual Basic or MATLAB.
Members

The STK Objects for which information is passed to the script. Members can be any STK Object that has a position. For example, members can be "platforms" such as Aircraft, Satellites, Ground Vehicles, etc. or can be RF "payloads" such as Transmitters, Receivers, and Radars. If the member is an RF "payload" then the script receives the frequency of the object; otherwise, the frequency field is set to -1.

Only objects that do not share the same root ancestry as the phased array's root ancestor are allowed.

Input arguments

The Direction Provider plugin script will be provided with the following inputs at each time step:

NameRepresentationDescription
ObjectPathchar [256]Fully qualified name of the object utilizing this direction provider.
EpochSecdoubleCurrent simulation epoch seconds.
PosLLAdouble [3]Position (in LLA) of the object utilizing this direction provider. Latitude and longitude are in degrees and altitude is in meters.
PosCBFdouble [3]Position (in CBF) of the object utilizing this direction provider. X, Y, and Z are in meters.
MemberPositionFormatdouble [3]Indicates the coordinate system for the MemberPositions array. Current choices are 1 for relative positions in spherical Az/El/Range (default) or 0 for Cartesian. For Az/El/Range, the azimuth and elevation are in degrees and range is in meters. For Cartesian, X,Y, and Z are in meters.
NumberOfMembersintNumber of members in view at this time step. Defines the size of member input fields to follow. Maximum number of members is currently set to 100.
MemberPositionsdouble [3][NumberOfMembers]The positions of each member in view for the current EpochSec. Positions are in the format as specified by MemberPositionFormat
MemberFrequenciesdouble[NumberOfMembers]If the object can emit or sense (Transmitter, Receiver, or Radar), the array element is set to the object's frequency. Otherwise, this array element is set to -1.
MemberPwrsdouble[NumberOfMembers]If the object can emit (Transmitter or Radar), the array element is set to the object's EIRP. Otherwise, this array element is set to -1e300.
MemberIdsint[NumberOfMembers]An integer number that uniquely identifies each member instance, where each ID corresponds to its position in the Direction Provider Members field. The first member has an ID of 0.
MemberCategoryintAn integer that identifies the type of the object (Aircraft, Facility, GroundVehicle, etc). See Object Type for the different object type indicators.

Output arguments

STK expects the script output data to be passed back from the script to STK. The outputs of this script are passed as inputs to the Beamformer. See Input Arguments for a description of the inputs to the script. See Output Arguments for a description of the outputs to the script.

The following outputs are expected from the script by STK:

NameRepresentationDescription
IsDynamic

bool

Indicates the script is time dynamic, which causes STK to call the script at each time step.
NumDirectionsintNumber of directions being returned. Currently the Beam script only supports one direction being returned. Currently the Null script can support up to a maximum of 100.
Azimuthsdouble[NumDirections]Azimuths of each steering direction in radians (-pi to pi). See Antenna Coordinate System for more information.
Elevationsdouble[NumDirections]Elevations of each steering direction in radians (-pi/2 to pi/2). See Antenna Coordinate System for more information.

Object Types

IndicatorObject Type
1Aircraft
8Facility
9Ground Vehicle
10Launch Vehicle
13Missile
15Planet
16Radar
17Receiver
18Satellite
20Sensor
21Ship
22Star
23Target
24Transmitter
30Submarine

Phased Array Beamformer

This script computes a weight for each element within the Element Configuration at each time step.

The following fields can be set in the Beamformer script.

ParameterDescription
FilenameName of the script file. File type can be Visual Basic or MATLAB.

Some of the input data includes some of the output data from the Direction Provider. STK expects the script output data to be passed back from the script to STK. See the Input Arguments for script input information. See the Output Arguments for script output information.

Input arguments

NameRepresentationDescription
EpochSecdoubleCurrent simulation epoch seconds.
NumberOfElementsintNumber of antenna elements in the array.
DesignFrequencyDoubleDesign frequency of the antenna array (Hz).
OperatingFrequencyDoubleOperating frequency of the antenna array (Hz).
NumberOfBeamDirectionsintNumber of beam directions to follow. Currently, maximum of 1.
BeamDirectionsdouble[1][2]Array of Az/El values (rad/rad) representing the direction to steer beam(s) toward.
NumberOfNullDirectionsintNumber of null directions. Maximum of 100.
NullDirectionsdouble[100][2]Array of Az/El values (rad/rad) representing the direction to steer null(s) toward.

Output arguments

The following outputs are expected from the script by STK:

NameRepresentationDescription
IsDynamicboolIndicates the script is time dynamic, which causes STK to call the script at each time step.
Weightsdouble[2][NumberOfElements]Complex weight values for each antenna element. Format is a linear array of real and imaginary values (interleaved).

Custom Loss Model

The Custom Loss Model has the same format as the Absorption Loss model plugin script. To develop a custom script from a sample template, select an absorption loss model plugin script, in MATLAB or VBScript, from \CodeSamples\Extend\PluginScripts.

Rain Loss Model

Input arguments

The Rain Loss Model plugin point has the following available inputs:

NameRepresentationUnitsDefinition
EpochSecDoublesecThe scenario simulation epoch time.
DateUTCString---The current date and time.
CbNameString---The scenario central body.
FrequencyDoubleHzThe Comm link frequency at the current time instant, at which the link budget analysis is being carried out. This would also be the Doppler shifted frequency at the receiver, which is using the frequency to compute propagation losses and noise temperatures to compute its g/T.
ElevAngleDoubleradThe communication link path elevation angle from the lower terminal to the higher altitude level terminal.
OutagePercentageDouble---The percent of the time that the communication link can tolerate outage.
RcvrPosLLADouble:3rad,
rad,
m
A vector of doubles, of length 3, representing latitude, longitude, and altitude of the receiver above the ellipsoid.
XmtrPosLLADouble:3rad,
rad,
m
A vector of doubles, of length 3, representing latitude, longitude, and altitude of the transmitter above the ellipsoid.

Output arguments

The following outputs are expected from the script by STK:

NameRepresentationUnitsDefinition
RainLossDouble--The loss value due to rain.
RainNoiseTempDoubleK

The noise temperature associated with the rain loss, used by STK to compute the rain noise temperature and the receiver g/T values. The Receiver has to have "System Noise Temperature" and "Rain Noise" set to "Compute" and the Rain checkbox enabled to see Rain Loss and Train/Custom Loss in STK. If you don't do this, Rain Loss is returned as 0.0, and Train/Custom Loss is left blank.

Antenna Multibeam Selection Strategy

Input arguments

The Antenna Multibeam Selection Strategy plugin point has the following available inputs:

NameRepresentationUnitsDefinition
EpochSecDoublesecThe scenario simulation epoch time.
DateUTCString---The current date and time.
CbNameString---The scenario central body.
AntennaPosLLADouble:3rad,
rad,
m
A vector of doubles, of length 3, representing latitude, longitude and altitude of the antenna above the surface of the Earth.
BeamIDsArrayChar---A two-dimensional array of characters. The array has a fixed width (number of columns) of 64, and the length of the array (number of rows) is equal to the number of beams available in the multibeam antenna. The array is parsed by the script to obtain the beam IDs. Each row of the character array contains the BeamID of one beam.
NumberOfBeamsInteger---The total number of beams available in the multibeam antenna at each time instant. This also represents the length of arrays that contain the beam characteristic information, e.g. ID, frequency, power, etc.
FrequencyDoubleHzAn array of real values that contains the beam frequency information for each beam. The length of the beam array is equal to the NumberOfBeams element.
PowerDoubledBWFor multibeam antennas attached to transmitters. These will have an additional array containing the power value for each beam. The receiver antenna beam power array contains all zero values.
IsActiveInteger---An array of integers indicating whether each beam is active (1) or inactive (0) in the multibeam model.

Output arguments

The following outputs are expected from the script by STK:

NameRepresentationUnitsDefinition
BeamNumberInteger---The serial number of the beam, in the range 1-n, where n = NumberOfBeams, to be used for link computations.

CommSystem Link Selection Strategy

Input arguments

The CommSystem Link Selection Strategy plugin point has the following available inputs:

NameRepresentationUnitsDefinition
DateUTCString---The current date and time.
EpochSecDoublesec The scenario simulation epoch time.
CbNameString---The scenario central body.
CommSysPathString---The full path and name of the CommSystem in the scenario that defines the interference environment and contains the link selection strategy.
FromIndexInteger---The index number of the transmitter from the array of transmitters that is currently being used as the link object. Starts at 0.
NumberOfFromObjectsInteger---The total number of transmitters in the transmitter array being passed to the script.
FromObjectsIDArrayChar---The IDs of the transmitters in the array containing information about all the transmitters.
FromObjectIsStaticBoolean---Flag indicating whether the transmitter object is static, i.e. fixed on the ground in position and attitude.
FromObjectPosCBFArrayDouble:3mThe positions of the transmitters in the CBF Cartesian coordinate frame. Each element of the array gives position for one transmitter.
FromObjectPosLLAArrayDouble:3rad,
rad,
m
The positions of the transmitters in latitude, longitude and altitude. Each element of the array gives position for one transmitter.
FromToRelPosArrayDouble:3mThe relative positions of the transmitters with respect to the current receiver object in the Cartesian coordinate frame.
FromObjectAttitudeArrayDouble:4---An array of attitude quaternions (vectors of length 4) of the transmitters.
ToIndexInteger---The index number of the receiver from the array of receivers that is currently being used as the link object. Starts at 0.
NumberOfToObjectsInteger---The total number of receivers in the receiver array being passed to the script.
ToObjectsIDArrayChar---The IDs of the receivers in the array containing information about all the receivers.
ToObjectIsStaticBoolean---Flag indicating whether the receiver object is static, i.e. fixed on the ground in position and attitude.
ToObjectPosCBFArrayDouble:3mThe positions of the receivers in the CBF Cartesian coordinate frame. Each element of the array gives position for one receiver.
ToObjectPosLLAArrayDouble:3rad,
rad,
m
The positions of the receivers in latitude, longitude and altitude. Each element of the array gives position for one receiver.
ToFromRelPosArrayDouble:3mThe relative positions of the receivers with respect to the current transmitter object in the Cartesian coordinate frame.
ToObjectAttitudeArrayDouble:4---An array of attitude quaternions (vectors of length 4) of the receivers.

Each transmitter-receiver link pair is identified to the script using index values representing positions in the arrays of transmitters and receivers. Information about the attributes of all transmitters and receivers is passed to the script in the form of arrays. The script is called for each transmitter-receiver link pair available at each time instant. The expected output is a “cost” for the link. After the script is called for all available links for a given time instance, STK will order the costs in ascending order and select the first entry as the selected link.

Output arguments

The following outputs are expected from the script by STK:

NameRepresentationUnitsDefinition
SatSelMeritValueDouble---The relative merit value assigned to the link being analyzed. The scale is open-ended.

Satellite Selection Merit Value

Each transmitter-receiver link pair is identified to the script using index values representing positions in the arrays of transmitters and receivers. Information about the attributes of all transmitters and receivers is passed to the script in the form of arrays. The script is called for each transmitter-receiver link pair available at each time instant. The expected output is the rank order of these links on a relative scale. STK then uses the links beginning with the highest ranking.

Modulator

The Modulator has been broken down into two different script output interfaces, a Custom PSD Script, and an Ideal PSD Script. The first script output interface, Custom PSD Script, allows you to dynamically specify the Power Spectral Density as a set of magnitude values over a frequency range. The other interface, Ideal PSD Script, allows you to dynamically select a modulation and encoding, letting STK compute a theoretical PSD rather than you having to specify the points for a theoretical PSD. Both types of scripts have the same input interface. The available inputs for both followed by the outputs for each of the script output interfaces are provided below.

Input arguments

The Modulator Script plugin point has the following available inputs:

Name Representation Units Definition
DateUTC String --- The current date and time.
CbName String --- The scenario central body.
ObjectPathString ---Path name of the object.
ObjectPosLLADouble-3rad, rad, mObject position in Lat/Lon/Altitude.
EpochSecDoublesecCurrent simulation time value since epoch.
RFCarrierFreqDoubleHzRF carrier frequency.
DataRateDoublebits/sec Data rate of the transmitter.

Output arguments – Custom PSD Script Modulator

The following outputs are expected from the script by STK:

NameRepresentationUnitsDefinition
IsDynamicInteger---

Indicates if script is time-dynamic (0,1). If 0 (false), the script is only called once for all times (at EpochSec = 0) and the returned data is utilized for each time step. If 1 (true), the script is called for each time step.

ModulationNameString---Name of the modulation, used by the receiver for proper demodulation.
SpectrumLimitLowDoubleHzLower band limit of output spectrum relative to RF carrier frequency (-100e9 to 0).
SpectrumLimitHiDoubleHz Upper band limit of output spectrum relative to RF carrier frequency (0 to 100e9).
UsePSDInteger---Use signal PSD indicator. If 0 (false), the NumPSDPoints returned is set to 0. (0 to 1)
PSDDataDouble---PSD data.
FreqStepSizeDoubleHzFrequency step size of the PSD data.

Output arguments - Ideal PSD Script Modulator

The following outputs are expected from the script by STK:

NameRepresentationUnitsDefinition
IsDynamicInteger---

Indicates if script is time-dynamic (0,1). If 0 (false), the script is only called once for all times (at EpochSec = 0) and the returned data is utilized for each time step. If 1 (true), the script is called for each time step.

ModulationNameString---Name of the modulation, used by the receiver for proper demodulation.
ModulationEfficiencyDoubleHz/(bits/sec)

Specifies the spectral efficiency of your modulation prior to any encoding.

This return value is ignored if UsePSD value is set to 1.

CodeRateDouble---

The rate of the encoding scheme. For example, an encoding scheme which takes in 1 information bit and encodes it into 2 encoded bits has a code rate of 0.5.

PSDShapeString---

When UsePSD value is set to 1, this will define the shape of the PSD.

If the value does not match one of the modulation types registered within STK, STK will produce a flat PSD spectra across the specified low/hi spectrum values.

SpectrumLimitLowDoubleHzLower band limit of output spectrum relative to RF carrier frequency (-100e9 to 0).
SpectrumLimitHiDoubleHz Upper band limit of output spectrum relative to RF carrier frequency (0 to 100e9).
UsePSDInteger---Use signal PSD indicator. If 0 (false), the NumPSDPoints returned is set to 0. (0 to 1)
ChipsPerBitInteger---Number of chips per bit. This return value is ignored if UsePSD value is set to 1.

 

Demodulator

Input arguments

The Demodulator Script plugin point has the following available inputs:

Name Representation Units Definition
DateUTC String --- The current date and time.
CbName String --- The scenario central body.
ObjectPathString ---Path name of the object.
ObjectPosLLADouble-3rad, rad, mObject position in Lat/Lon/Altitude.
FunctionNameString---

The FunctionName tells the plugin script whether EbNo or BER needs to be computed.

<String> is {ComputeBER | ComputeEbNo}.

Demodulation process uses these functions to compute BER for a given value of EbNo. When the FunctionName is ComputeBER, SignalEbNo value is set and a corresponding BER value is expected in OutBER.

Link Margin analysis also uses these functions to compute EbNo (as a link margin value) for a given BER. When the FunctionName is ComputeEbNo, SignalBER is set to a value and a corresponding EbNo value is expected in OutEbNo.

EpochSecDoublesecCurrent simulation time value since epoch.
RFFreqDoubleHzRF Frequency of the incoming signal.
DataRateDoublebits/secData rate of the incoming signal.
SpectrumLimitLoDoubleHzThe lower bandwidth limit for which the incoming signal is defined over. The bandwidth limit is relative to RFFreq value and will be a negative value. The limit is considered to be a sharp cutoff point and the spectrum is zero beyond the limit.
SpectrumLimitHiDoubleHzThe upper bandwidth limit for which the incoming signal is defined over. The bandwidth limit is relative to RFFreq value and will be a positive value. The limit is considered to be a sharp cutoff point and the spectrum is zero beyond the limit.
SignalModulationNameString---The name of the modulation of the incoming modulated signal.
SignalBER Double---Used for Link Margin Analysis. When FunctionName is set to {ComputeEbNo} this will be valued with the BER value for which to compute an Eb/No value. The computed Eb/No value should be returned in the script’s output parameters.
SignalEbNoDoubledBThe computed Eb/No value for which the demodulator should compute a BER value. The computed BER value should be returned in the script’s output parameters.

Output arguments

The following outputs are expected from the script by STK:

NameRepresentationUnitsDefinition
IsDynamicInteger---

Indicates if script is time-dynamic (0,1). If 0 (false), the script is only called once for all times (at EpochSec = 0) and the returned data is utilized for each time step. If 1 (true), the script is called for each time step.

OutBERDouble---BER value when Eb/No is input. See SignalEbNo.
OutEbNo DoubledBEb/No value when BER is input. See SignalBER.

Filter

Input arguments

The Filter Model plugin point has the following available inputs:

Name Representation Units Definition
DateUTC String --- The current date and time.
CbName String --- The scenario central body.
ObjectPathString--- Scenario path of the object.
ObjectPosLLADouble-3rad, rad, mObject position in Lat/Lon/Altitude.
EpochSecDoublesec Current simulation time value since epoch.
CenterFreqDoubleHzFilter’s center frequency.
FreqStepSizeDoubleHzFilter’s frequency step size.

Output arguments

The following outputs are expected from the script by STK:

NameRepresentationUnitsDefinition
IsDynamicInteger---Indicates if script is time-dynamic (0,1). If 0 (false), the script is only called once for all times (at EpochSec = 0) and the returned data is utilized for each time step. If 1 (true), the script is called for each time step.
LowerBandlimitDoubleHzThe lower bandwidth limit for which the filter is defined over. The bandwidth limit is relative to the CenterFreq input value and must be a negative value. The limit is considered to be a sharp cutoff point and the filter has complete attenuation beyond the limit.
UpperBandlimitDoubleHzThe upper bandwidth limit for which the filter is defined over. The bandwidth limit is relative to the CenterFreq input value and must be a positive value. The limit is considered to be a sharp cutoff point and the filter has complete attenuation beyond the limit.
NumPointsInteger---Number of filter samples being returned in Attenuation.
AttenuationDoubledBArray of attenuation values.

Comm Constraint

The following contains information on a plugin that applies Comm link budget criteria to determine whether access exists.

Access Constraint plugin points are also available for Comm objects.

Input arguments

The Comm Constraint plugin point has the following available inputs:

NameRepresentationUnitsDefinition
DateUTCString---The current date and time.
EpochSecDoublesecThe scenario simulation epoch time.
CbNameString---The scenario central body.
ReceiverPathString---A string representing the complete scenario path of the current receiver object.
TransmitterPathString---A string representing the complete scenario path of the current transmitter object.
RcvrPosCBFDouble:3mThe receiver position, in Central Body Fixed coordinates. A vector of doubles, of length 3, corresponding to the X, Y and Z values.
RcvrAttitudeDouble:4---The attitude quaternion of the receiver. A vector of doubles, of length 4.
XmtrPosCBFDouble:3mThe transmitter position in Central Body Fixed coordinates. A vector of doubles, of length 3, corresponding to the X, Y and Z values.
XmtrAttitudeDouble:4---The attitude quaternion of the transmitter. A vector of doubles, of length 4.
ReceivedFrequencyDoubleHzThe frequency of the signal as seen by the receiver. This value includes any Doppler shift.
DataRateDoublebits/secThe information bit rate.
BandwidthDoubleHzThe bandwidth of the RF spectrum.
CDMAGainValueDoubledBThe CDMA coding gain.
ReceiverGainDoubledBThe antenna gain in the direction of the transmitter.
PolEfficiencyDouble---Polarization efficiency is the polarization mismatch loss due to the misalignment of the reference axes of the transmitter and the receiver. It is expressed on a scale of 0 - 1.
PolRelativeAngleDoubleradThe Polarization Relative angle is the relative angle between the transmitter's polarization reference axis and the receiver's polarization reference axis. The angles are computed after taking into consideration the attitudes of the all of the antenna's parent objects, the orientations of the sensors (if any) and the orientation of the antennas with respect to the transmitter or receiver's body axis.
RIPDoubledB(W/m^2)The Received Isotropic Power at the receiver antenna.
FluxDensityDoubledB(W/m^2 Hz)The Power flux density at the receiver antenna.
GOverTDoubledB/KThe receiver gain over the equivalent noise temperature.
CarrierPowerDoubledBWThe Carrier power at the receiver input. This is the power received at the receiver LNA input. It takes into consideration pre-receiver losses, antenna gain, cable losses, etc.
BandwidthOverlapDouble---This is a fraction from 0 to 1 representing the amount of overlap between the transmitted signal and the receiver bandwidths. The amount of power received by the receiver is equal to the transmitted EIRP multiplied by the bandwidth overlap and taking into account any propagation losses.
CnoDoubledBThe Carrier-to-Noise density at the receiver input.
CNRDoubledBThe Carrier-to-Noise ratio at the receiver input.
EbNoDoubledBThe Signal-to-Noise ratio at the receiver.
BERDouble---The Bit Error Rate.

Output arguments

The following outputs are expected from the script by STK:

NameRepresentationUnitsDefinition
PluginConstraintValueDoubledBThe value is compared with the Min and Max values entered on the Communications constraint page to determine whether access exists.

Search/Track Constraint

The Search/Track Constraint plugin extends the Search/Track mode computations. STK interfaces with the plugin script and provides updated object geometry, VGT data and radar performance data at each time step of the scenario execution. The script uses the STK-supplied data to compute a new parameter and return the value to STK.

Input arguments

The following table gives representation (data type) and, where applicable, unit information on each of the input arguments for the Search/Track Constraint plugin point.

NameRepresentationUnitsDefinition
DateUTCString---The current date and time.
EpochSecDoublesecThe scenario simulation epoch time.
CbNameString---The scenario central body.
RadarPathString---Scenario path for radar object.
TargetPathString---Scenario path for target object.
RadarTransmitPosCBFDouble-3mRadar transmitter position in CBF (accounts for Light Time Delay).
RadarTransmitAttitudeQuatDouble-4---Radar transmitter attitude.
RadarReceivePosCBFDouble-3mRadar receiver position in CBF (accounts for Light Time Delay).
RadarReceiveAttitudeQuatDouble-4---Radar receiver attitude.
TargetPosCBFDouble-3mTarget position in CBF (accounts for Light Time Delay).
TargetAttitudeQuatDouble-4---Target attitude.
RadarTransmitterToTargetVecBFDouble-3mRadar transmitter to target vector in radar body frame.
RadarReceiverToTargetVecBFDouble-3mRadar receiver to target vector in radar body frame.
TargetToRadarReceiverVecBFDouble-3mTarget to radar receiver vector in radar body frame.
RadarTransmitterToTargetRangeDoublemRange from radar transmitter to target.
RadarReceiverToTargetRangeDoublemRange from target to radar receiver.
AngleRateDoubleradian/secAngle rate between target to radar receiver LOS vector and the target to radar receiver velocity vector.
ConeAngleDoubleradAngle between radar receiver position vector and velocity vector.
TransmitPropagationTimeDoublesecSignal propagation time from transmitter to target.
ReceivePropagationTimeDoublesecSignal propagation time from target to receiver.
TransmitRangeRateDoublemeters/secTransmitter side range rate to target.
ReceiveRangeRate Doublemeters/secReceiver side range rate to target.
RadarSpeedDoublemeters/secMagnitude of radar receiver CBF velocity.
RefractedElevationAngleDoubleradRefracted elevation angle if refraction is on.
RadarTransmitFrequencyDoubleHzRadar transmitter frequency.
DopplerShiftedFrequencyAtTargetDoubleHzDoppler shifted frequency at target.
DopplerShiftedFrequencyAtRadarReceiverDoubleHzDoppler shifter frequency at radar receiver.
ST_SinglePulseSNRDoubledBSingle pulse signal-to-noise ratio for the search/track radar. For a CW radar, the single pulse SNR is the SNR resulting from an effective pulse width of 1 second.
ST_IntegratedSNRDoubledBIntegrated signal-to-noise ratio.
ST_NumIntegratedPulsesDouble---Number of signal pulses integrated.
ST_IntegrationTimeDoublesecPulse integration time.
ST_DwellTimeDoublesecThe sum of the integration time and RF propagation delays.
ST_TargetRangeDoublemAmbiguous target range.
ST_TargetVelocityDoublemeters/secAmbiguous target velocity.
ST_TargetMLCVelocityDoublemeters/secMeasured MLC velocity.
ST_TargetInClearDopplerZoneInteger---Target in clear doppler zone.
ST_TargetInMLCFilterInteger---MLC suppressing target flag.
ST_TargetInSLCFilterInteger---SLC suppressing target flag.
ST_UnambigRangeFlagBoolean---The value is set at 0 or 1.
ST_UnambigVelFlagBoolean---The value is set at 0 or 1.
ST_NoiseBandwidthDoubleHzRadar receiver noise bandwidth.
ST_NoisePowerDoubledBWRadar receiver noise power.
ST_SinglePulseProbDetectionDouble---Single pulse probability of detection. The value ranges between 0 and 1.
ST_IntegratedProbDetectionDouble---The value ranges between 0 and 1.
ST_NonCFARDetectThreshold DoubledBNon-CFAR detection threshold.
ST_CFARThresholdMultiplierDouble---Non-CFAR detection threshold multiplier.
ST_SinglePulseSNRUnderJammingDoubledB S/(N+J) for a single pulse.
ST_IntegratedSNRUnderJammingDoubledB S/(N+J) integrated over total number of pulses.
ST_SinglePulseProbDetectionUnderJammingDouble---The value ranges between 0 and 1. Single pulse probability of detection under jamming.
ST_IntegratedProbDetectionUnderJammingDouble---The value ranges between 0 and 1. Integrated pulse probability of detection under jamming.
ST_IntegrationTimeUnderJammingDoublesecIntegrated time under jamming.
ST_NumIntegratedPulsesUnderJammingDouble---Total number of pulses integrated under jamming.
ST_DwellTimeUnderJammingDoublesecDwell time under jamming.
ST_JOverSDoubledBSingle pulse J/S.
ST_IntegratedJOverSDoubledBIntegrated J/S.
ST_JammingPowerDoubledBWTotal jamming power.

Output Arguments

The following table gives representation (data type) and, where applicable, unit information on each of the output arguments for the Search/Track Constraint plugin point.

NameRepresentationUnitsDefinition
ConstraintDouble--- A value returned by the script to STK Access at this time instant. STK applies the Min and Max constraint criteria and the Exclude Interval flag (if checked) to this value to determine access availability.

SAR Constraint

The SAR Constraint plugin extends the SAR mode computations. STK interfaces with the plugin script and provides updated object geometry, VGT data and radar performance data at each time step of the scenario execution. The script uses the STK-supplied data to compute a new parameter and return the value to STK.

Input arguments

The following table gives representation (data type) and, where applicable, unit information on each of the input arguments for the SAR Constraint plugin point.

NameRepresentationUnitsDefinition
DateUTCString---The current date and time.
EpochSecDoublesecThe scenario simulation epoch time.
CbNameString---The scenario central body.
RadarPathString---Scenario path for radar object.
TargetPathString---Scenario path for target object.
RadarTransmitPosCBFDouble-3mRadar transmitter position in CBF.
RadarTransmitAttitudeQuatDouble-4---Radar transmitter attitude.
RadarReceivePosCBFDouble-3mRadar receiver position in CBF (accounts for Light Time Delay).
RadarReceiveAttitudeQuatDouble-4---Radar receiver attitude.
TargetPosCBFDouble-3mTarget position in CBF.
TargetAttitudeQuatDouble-4---Target attitude.
RadarTransmitterToTargetVecBFDouble-3mRadar transmitter to target vector in radar body frame.
RadarReceiverToTargetVecBFDouble-3mRadar receiver to target vector in radar body frame.
TargetToRadarReceiverVecBFDouble-3mTarget to radar receiver vector in radar body frame.
RadarTransmitterToTargetRangeDoublemRange from radar transmitter to target.
RadarReceiverToTargetRangeDoublemRange from target to radar receiver.
AngleRateDoublerad/secAngle rate between target to radar receiver LOS vector and the target to radar receiver velocity vector.
ConeAngleDoubleradAngle between radar receiver position vector and velocity vector.
TransmitPropagationTimeDoublesecSignal propagation time from transmitter to target.
ReceivePropagationTimeDoublesecSignal propagation time from target to receiver.
TransmitRangeRateDoublem/secTransmitter side range rate to target.
ReceiveRangeRateDoublem/secReceiver side range rate to target.
RadarSpeedDoublem/secMagnitude of radar receiver CBF velocity.
RefractedElevationAngleDoubleradRefracted elevation angle if refraction is on.
RadarTransmitFrequencyDoubleHzRadar transmitter frequency.
DopplerShiftedFrequencyAtTargetDoubleHzDoppler shifted frequency at target.
DopplerShiftedFrequencyAtRadarReceiverDoubleHzDoppler shifter frequency at radar receiver.
SARTimeAzimuthResolutionDoublem/secAzimuth resolution time product.
SARMaxSceneWidthDoublemMaximum scene width.
SARIntegrationTimeDoublesecThe fixed integration time or time to achieve the desired azimuth resolution, depending on the setting of the analysis mode when defining the radar. This constraint and the Azimuth Resolution constraint are mutually exclusive.
SARAzimuthResolutionDoublemThe fixed azimuth resolution or the resolution achievable within the desired integration time, depending on the setting of the analysis mode when defining the radar. This constraint and the Integration Time constraint are mutually exclusive.
SARRangeResolutionDoublemThe coverage rate of the SAR. Enter Min and/or Max area rate as the ratio of the selected distance unit squared to the selected time unit.
SARAreaRateDoublem2/secThe coverage rate of the SAR. Enter Min and/or Max area rate as the ratio of the selected distance unit squared to the selected time unit.
SARSNRDoubledBSignal-to-noise ratio for the SAR radar.
SARSCRDoubledBSignal-to-clutter ratio for the SAR radar.
SARCNRDoubledBClutter-to-noise ratio for the SAR radar.
SARPTCRDoubledBThe point target-to-clutter ratio for the SAR radar.
SAREffectiveNoiseBackScatterDoubledBEffective noise backscatter.
SARNoiseBandwidthDoubleHzRadar receiver noise bandwidth.
SARNoisePowerDoubledBwRadar receiver noise power.
SARSNRUnderJammingDoubledBSignal to noise ratio under jamming.
SARSCRUnderJammingDoubledBSignal to clutter ratio under jamming.
SARCNRUnderJammingDoubledBClutter to noise ratio under jamming.
SARJOverSDoubledBJamming to signal ratio (J/S).
SARJammingPowerDoubledBwTotal jamming power.

Output arguments

The following table gives representation (data type) and, where applicable, unit information on each of the output arguments for the SAR Constraint plugin point.

NameRepresentationUnitsDefinition
ConstraintDouble--- A value returned by the script to STK Access at this time instant. STK applies the Min and Max constraint criteria and the Exclude Interval flag (if checked) to this value to determine access availability.

Radar Cross Section (RCS)

The Radar Cross Section plugin computes the aspect dependent RCS values for each time step in a radar computation.

For more information, see Radar Cross Section Theta/Rho Definitions.

Input arguments

The following table gives representation (data type) and, where applicable, unit information on each of the input arguments for the Radar Cross Section plugin point.

NameRepresentationUnitsDefinition
EpochSecDoublesecThe scenario simulation epoch time.
FrequencyDoubleHzThe doppler shifted receive frequency at the radar target.
IncidentRhoDoubleradIncident rho angle. The rho angle is defined as the total angle between the target body z-axis and the incident body fixed vector.
IncidentThetaDoubleradIncident theta angle. The theta angle is defined as the angle between the target body x axis and the incident body fixed vector projection onto the target body xy plane.
ReflectedRhoDoubleradReflected rho angle. The rho angle is defined as the total angle between the target body z-axis and the reflected body fixed vector.
ReflectedThetaDoubleradReflected theta angle. The theta angle is defined as the angle between the target body x axis and the reflected body fixed vector projection onto the target body xy plane.
IncidentBodyFixedVectorDouble-3mThe incident vector from the transmit radar to the target in the target body fixed coordinate system.
ReflectedBodyFixedVectorDouble-3mThe reflected vector from the target to the receive radar in the target body fixed coordinate system.

Output Arguments

The following table gives representation (data type) and, where applicable, unit information on each of the output arguments for the Radar Cross Section plugin point.

NameRepresentationUnitsDefinition
RCSMatrixReal00DoublesqmThe real part of the (0,0) value of the 2x2 complex RCS matrix.
RCSMatrixImg00DoublesqmThe imaginary part of the (0,0) value of the 2x2 complex RCS matrix.
RCSMatrixReal01DoublesqmThe real part of the (0,1) value of the 2x2 complex RCS matrix.
RCSMatrixImg01DoublesqmThe imaginary part of the (0,1) value of the 2x2 complex RCS matrix.
RCSMatrixReal10DoublesqmThe real part of the (1,0) value of the 2x2 complex RCS matrix.
RCSMatrixImg10DoublesqmThe imaginary part of the (1,0) value of the 2x2 complex RCS matrix.
RCSMatrixReal11DoublesqmThe real part of the (1,1) value of the 2x2 complex RCS matrix.
RCSMatrixImg11DoublesqmThe imaginary part of the (1,1) value of the 2x2 complex RCS matrix.
ScatterMatrixBasisInteger---RCS scattering basis. Value 0 indicates that the scattering matrix defines the LHC and RHC polarization orthogonal basis. Value 1 indicates that the scattering matrix defines the vertical and horizontal polarization orthogonal basis.