STK Communications and STK Radar Plugin Points
STK Communications provides the following plugin points:
- Transmitter Model
- Receiver Model
- Custom Antenna Gain
- Script Direction Provider
- Script Beamformer
- Absorption Loss Model
- Rain Loss Model
- Custom Loss Model
- Antenna Multibeam Selection Strategy
- CommSystem Link Selection Strategy
- Modulator
- Demodulator
- Filter
- Comm Constraint
STK Radar provides the following plugin points:
- Custom Antenna Gain
- Phased Array Direction Provider
- Phased Array Beamformer
- Absorption Loss Model
- Rain Loss Model
- Custom Loss Model
- Filter
- Search/Track Constraint
- SAR Constraint
- Radar Cross Section
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:
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 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:
Name | Representation | Units | Definition |
---|---|---|---|
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:
Name | Representation | Units | Definition |
---|---|---|---|
EpochSec | Double | sec | The scenario simulation epoch time |
DateUTC | String | --- | The current date and time |
CbName | String | --- | The scenario central body |
Frequency | Double | Hz | The current frequency at which antenna gain is desired |
AntennaPosLLA | Double:3 | rad, rad, m | A vector of doubles, of length 3, representing latitude, longitude and altitude of the antenna above the surface of the Earth |
AntennaCoordSystem | Boolean | -- | A flag (0 or 1); set to 0 for Polar antenna coordinate system and 1 for Rectangular antenna coordinate system |
AzimuthAngle | Double | rad | The 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 |
ElevationAngle | Double | rad | The 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 | Units | Definition |
---|---|---|---|
AntennaCoordSystem | Boolean | -- | Values are 0 for Polar antenna coordinate system and 1 for Rectangular antenna coordinate system. |
AntennaGain | Double | dBi | Thiis is the antenna gain value in the direction given by the azimuth and elevation angles of the antenna boresight. |
AntennaMaxGain | Double | dBi | This is the maximum gain of the antenna beam. This value may be at the boresight. |
Beamwidth | Double | rad | This is the 3dB beamwidth of the antenna gain pattern. |
IntegratedGain | Double | --- | 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. |
DynamicGain | Boolean | --- | 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:
Name | Representation | Units | Definition |
---|---|---|---|
EpochSec | Double | sec | The scenario simulation epoch time. |
DateUTC | String | --- | The current date and time. |
CbName | String | --- | The scenario central body. |
Frequency | Double | Hz | The 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. |
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. |
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. |
XmtrPath | String | --- | A string representing the complete scenario path of the current transmitter object. |
RcvrPath | String | --- | A string representing the complete scenario path of the current receiver object. |
Output arguments
The following outputs are expected from the script by STK:
Name | Representation | Units | Definition |
---|---|---|---|
AbsorpLoss | Double | --- | The propagation loss term. |
NoiseTemp | Double | K | The 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. |
Script Direction Provider
You can use Script Direction Provider files within the Phased Array Antenna model. This script computes the direction(s) for the beam (or nulls) at each time step. You can set the following fields on the Direction Provider:
Parameter | Description |
---|---|
Filename | Name 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:
Name | Representation | Description |
---|---|---|
ObjectPath | char [256] | Fully qualified name of the object utilizing this direction provider. |
EpochSec | double | Current simulation epoch seconds. |
PosLLA | double [3] | Position (in LLA) of the object utilizing this direction provider. Latitude and longitude are in degrees and altitude is in meters. |
PosCBF | double [3] | Position (in CBF) of the object utilizing this direction provider. X, Y, and Z are in meters. |
MemberPositionFormat | double [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. |
NumberOfMembers | int | Number 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. |
MemberPositions | double [3][NumberOfMembers] | The positions of each member in view for the current EpochSec. Positions are in the format as specified by MemberPositionFormat |
MemberFrequencies | double[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. |
MemberPwrs | double[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. |
MemberIds | int[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. |
MemberCategory | int | An 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.
The following outputs are expected from the script by STK:
Name | Representation | Description |
---|---|---|
IsDynamic | bool | Indicates the script is time dynamic, which causes STK to call the script at each time step. |
NumDirections | int | Number 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. |
Azimuths | double[NumDirections] | Azimuths of each steering direction in radians (-pi to pi). See Antenna Coordinate System for more information. |
Elevations | double[NumDirections] | Elevations of each steering direction in radians (-pi/2 to pi/2). See Antenna Coordinate System for more information. |
Object Types
Indicator | Object Type |
---|---|
1 | Aircraft |
8 | Facility |
9 | Ground Vehicle |
10 | Launch Vehicle |
13 | Missile |
15 | Planet |
16 | Radar |
17 | Receiver |
18 | Satellite |
20 | Sensor |
21 | Ship |
22 | Star |
23 | Target |
24 | Transmitter |
30 | Submarine |
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.
Parameter | Description |
---|---|
Filename | Name 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
Name | Representation | Description |
---|---|---|
EpochSec | double | Current simulation epoch seconds. |
NumberOfElements | int | Number of antenna elements in the array. |
DesignFrequency | Double | Design frequency of the antenna array (Hz). |
OperatingFrequency | Double | Operating frequency of the antenna array (Hz). |
NumberOfBeamDirections | int | Number of beam directions to follow. Currently, maximum of 1. |
BeamDirections | double[1][2] | Array of Az/El values (rad/rad) representing the direction to steer beam(s) toward. |
NumberOfNullDirections | int | Number of null directions. Maximum of 100. |
NullDirections | double[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:
Name | Representation | Description |
---|---|---|
IsDynamic | bool | Indicates the script is time dynamic, which causes STK to call the script at each time step. |
Weights | double[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:
Name | Representation | Units | Definition |
---|---|---|---|
EpochSec | Double | sec | The scenario simulation epoch time. |
DateUTC | String | --- | The current date and time. |
CbName | String | --- | The scenario central body. |
Frequency | Double | Hz | The 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. |
ElevAngle | Double | rad | The communication link path elevation angle from the lower terminal to the higher altitude level terminal. |
OutagePercentage | Double | --- | The percent of the time that the communication link can tolerate outage. |
RcvrPosLLA | Double:3 | rad, rad, m | A vector of doubles, of length 3, representing latitude, longitude, and altitude of the receiver above the ellipsoid. |
XmtrPosLLA | Double:3 | rad, 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:
Name | Representation | Units | Definition |
---|---|---|---|
RainLoss | Double | -- | The loss value due to rain. |
RainNoiseTemp | Double | K | 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:
Name | Representation | Units | Definition |
---|---|---|---|
EpochSec | Double | sec | The scenario simulation epoch time. |
DateUTC | String | --- | The current date and time. |
CbName | String | --- | The scenario central body. |
AntennaPosLLA | Double:3 | rad, rad, m | A vector of doubles, of length 3, representing latitude, longitude and altitude of the antenna above the surface of the Earth. |
BeamIDsArray | Char | --- | 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. |
NumberOfBeams | Integer | --- | 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. |
Frequency | Double | Hz | An 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. |
Power | Double | dBW | For 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. |
IsActive | Integer | --- | 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:
Name | Representation | Units | Definition |
---|---|---|---|
BeamNumber | Integer | --- | 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:
Name | Representation | Units | Definition |
---|---|---|---|
DateUTC | String | --- | The current date and time. |
EpochSec | Double | sec | The scenario simulation epoch time. |
CbName | String | --- | The scenario central body. |
CommSysPath | String | --- | The full path and name of the CommSystem in the scenario that defines the interference environment and contains the link selection strategy. |
FromIndex | Integer | --- | The index number of the transmitter from the array of transmitters that is currently being used as the link object. Starts at 0. |
NumberOfFromObjects | Integer | --- | The total number of transmitters in the transmitter array being passed to the script. |
FromObjectsIDArray | Char | --- | The IDs of the transmitters in the array containing information about all the transmitters. |
FromObjectIsStatic | Boolean | --- | Flag indicating whether the transmitter object is static, i.e. fixed on the ground in position and attitude. |
FromObjectPosCBFArray | Double:3 | m | The positions of the transmitters in the CBF Cartesian coordinate frame. Each element of the array gives position for one transmitter. |
FromObjectPosLLAArray | Double:3 | rad, rad, m | The positions of the transmitters in latitude, longitude and altitude. Each element of the array gives position for one transmitter. |
FromToRelPosArray | Double:3 | m | The relative positions of the transmitters with respect to the current receiver object in the Cartesian coordinate frame. |
FromObjectAttitudeArray | Double:4 | --- | An array of attitude quaternions (vectors of length 4) of the transmitters. |
ToIndex | Integer | --- | The index number of the receiver from the array of receivers that is currently being used as the link object. Starts at 0. |
NumberOfToObjects | Integer | --- | The total number of receivers in the receiver array being passed to the script. |
ToObjectsIDArray | Char | --- | The IDs of the receivers in the array containing information about all the receivers. |
ToObjectIsStatic | Boolean | --- | Flag indicating whether the receiver object is static, i.e. fixed on the ground in position and attitude. |
ToObjectPosCBFArray | Double:3 | m | The positions of the receivers in the CBF Cartesian coordinate frame. Each element of the array gives position for one receiver. |
ToObjectPosLLAArray | Double:3 | rad, rad, m | The positions of the receivers in latitude, longitude and altitude. Each element of the array gives position for one receiver. |
ToFromRelPosArray | Double:3 | m | The relative positions of the receivers with respect to the current transmitter object in the Cartesian coordinate frame. |
ToObjectAttitudeArray | Double: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:
Name | Representation | Units | Definition |
---|---|---|---|
SatSelMeritValue | Double | --- | 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. |
ObjectPath | String | --- | Path name of the object. |
ObjectPosLLA | Double-3 | rad, rad, m | Object position in Lat/Lon/Altitude. |
EpochSec | Double | sec | Current simulation time value since epoch. |
RFCarrierFreq | Double | Hz | RF carrier frequency. |
DataRate | Double | bits/sec | Data rate of the transmitter. |
Output arguments – Custom PSD Script Modulator
The following outputs are expected from the script by STK:
Name | Representation | Units | Definition |
---|---|---|---|
IsDynamic | Integer | --- | 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. |
ModulationName | String | --- | Name of the modulation, used by the receiver for proper demodulation. |
SpectrumLimitLow | Double | Hz | Lower band limit of output spectrum relative to RF carrier frequency (-100e9 to 0). |
SpectrumLimitHi | Double | Hz | Upper band limit of output spectrum relative to RF carrier frequency (0 to 100e9). |
UsePSD | Integer | --- | Use signal PSD indicator. If 0 (false), the NumPSDPoints returned is set to 0. (0 to 1) |
PSDData | Double | --- | PSD data. |
FreqStepSize | Double | Hz | Frequency step size of the PSD data. |
Output arguments - Ideal PSD Script Modulator
The following outputs are expected from the script by STK:
Name | Representation | Units | Definition |
---|---|---|---|
IsDynamic | Integer | --- | 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. |
ModulationName | String | --- | Name of the modulation, used by the receiver for proper demodulation. |
ModulationEfficiency | Double | Hz/(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. |
CodeRate | Double | --- | 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. |
PSDShape | String | --- | 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. |
SpectrumLimitLow | Double | Hz | Lower band limit of output spectrum relative to RF carrier frequency (-100e9 to 0). |
SpectrumLimitHi | Double | Hz | Upper band limit of output spectrum relative to RF carrier frequency (0 to 100e9). |
UsePSD | Integer | --- | Use signal PSD indicator. If 0 (false), the NumPSDPoints returned is set to 0. (0 to 1) |
ChipsPerBit | Integer | --- | 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:
Output arguments
The following outputs are expected from the script by STK:
Name | Representation | Units | Definition |
---|---|---|---|
IsDynamic | Integer | --- | 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. |
OutBER | Double | --- | BER value when Eb/No is input. See SignalEbNo. |
OutEbNo | Double | dB | Eb/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. |
ObjectPath | String | --- | Scenario path of the object. |
ObjectPosLLA | Double-3 | rad, rad, m | Object position in Lat/Lon/Altitude. |
EpochSec | Double | sec | Current simulation time value since epoch. |
CenterFreq | Double | Hz | Filter’s center frequency. |
FreqStepSize | Double | Hz | Filter’s frequency step size. |
Output arguments
The following outputs are expected from the script by STK:
Name | Representation | Units | Definition |
---|---|---|---|
IsDynamic | Integer | --- | 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. |
LowerBandlimit | Double | Hz | The 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. |
UpperBandlimit | Double | Hz | The 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. |
NumPoints | Integer | --- | Number of filter samples being returned in Attenuation. |
Attenuation | Double | dB | Array 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:
Name | Representation | Units | Definition |
---|---|---|---|
DateUTC | String | --- | The current date and time. |
EpochSec | Double | sec | The scenario simulation epoch time. |
CbName | String | --- | The scenario central body. |
ReceiverPath | String | --- | A string representing the complete scenario path of the current receiver object. |
TransmitterPath | String | --- | A string representing the complete scenario path of the current transmitter object. |
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. |
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. |
ReceivedFrequency | Double | Hz | The frequency of the signal as seen by the receiver. This value includes any Doppler shift. |
DataRate | Double | bits/sec | The information bit rate. |
Bandwidth | Double | Hz | The bandwidth of the RF spectrum. |
CDMAGainValue | Double | dB | The CDMA coding gain. |
ReceiverGain | Double | dB | The antenna gain in the direction of the transmitter. |
PolEfficiency | Double | --- | 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. |
PolRelativeAngle | Double | rad | The 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. |
RIP | Double | dB(W/m^2) | The Received Isotropic Power at the receiver antenna. |
FluxDensity | Double | dB(W/m^2 Hz) | The Power flux density at the receiver antenna. |
GOverT | Double | dB/K | The receiver gain over the equivalent noise temperature. |
CarrierPower | Double | dBW | The 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. |
BandwidthOverlap | Double | --- | 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. |
Cno | Double | dB | The Carrier-to-Noise density at the receiver input. |
CNR | Double | dB | The Carrier-to-Noise ratio at the receiver input. |
EbNo | Double | dB | The Signal-to-Noise ratio at the receiver. |
BER | Double | --- | The Bit Error Rate. |
Output arguments
The following outputs are expected from the script by STK:
Name | Representation | Units | Definition |
---|---|---|---|
PluginConstraintValue | Double | dB | The 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.
Name | Representation | Units | Definition |
---|---|---|---|
DateUTC | String | --- | The current date and time. |
EpochSec | Double | sec | The scenario simulation epoch time. |
CbName | String | --- | The scenario central body. |
RadarPath | String | --- | Scenario path for radar object. |
TargetPath | String | --- | Scenario path for target object. |
RadarTransmitPosCBF | Double-3 | m | Radar transmitter position in CBF (accounts for Light Time Delay). |
RadarTransmitAttitudeQuat | Double-4 | --- | Radar transmitter attitude. |
RadarReceivePosCBF | Double-3 | m | Radar receiver position in CBF (accounts for Light Time Delay). |
RadarReceiveAttitudeQuat | Double-4 | --- | Radar receiver attitude. |
TargetPosCBF | Double-3 | m | Target position in CBF (accounts for Light Time Delay). |
TargetAttitudeQuat | Double-4 | --- | Target attitude. |
RadarTransmitterToTargetVecBF | Double-3 | m | Radar transmitter to target vector in radar body frame. |
RadarReceiverToTargetVecBF | Double-3 | m | Radar receiver to target vector in radar body frame. |
TargetToRadarReceiverVecBF | Double-3 | m | Target to radar receiver vector in radar body frame. |
RadarTransmitterToTargetRange | Double | m | Range from radar transmitter to target. |
RadarReceiverToTargetRange | Double | m | Range from target to radar receiver. |
AngleRate | Double | radian/sec | Angle rate between target to radar receiver LOS vector and the target to radar receiver velocity vector. |
ConeAngle | Double | rad | Angle between radar receiver position vector and velocity vector. |
TransmitPropagationTime | Double | sec | Signal propagation time from transmitter to target. |
ReceivePropagationTime | Double | sec | Signal propagation time from target to receiver. |
TransmitRangeRate | Double | meters/sec | Transmitter side range rate to target. |
ReceiveRangeRate | Double | meters/sec | Receiver side range rate to target. |
RadarSpeed | Double | meters/sec | Magnitude of radar receiver CBF velocity. |
RefractedElevationAngle | Double | rad | Refracted elevation angle if refraction is on. |
RadarTransmitFrequency | Double | Hz | Radar transmitter frequency. |
DopplerShiftedFrequencyAtTarget | Double | Hz | Doppler shifted frequency at target. |
DopplerShiftedFrequencyAtRadarReceiver | Double | Hz | Doppler shifter frequency at radar receiver. |
ST_SinglePulseSNR | Double | dB | Single 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_IntegratedSNR | Double | dB | Integrated signal-to-noise ratio. |
ST_NumIntegratedPulses | Double | --- | Number of signal pulses integrated. |
ST_IntegrationTime | Double | sec | Pulse integration time. |
ST_DwellTime | Double | sec | The sum of the integration time and RF propagation delays. |
ST_TargetRange | Double | m | Ambiguous target range. |
ST_TargetVelocity | Double | meters/sec | Ambiguous target velocity. |
ST_TargetMLCVelocity | Double | meters/sec | Measured MLC velocity. |
ST_TargetInClearDopplerZone | Integer | --- | Target in clear doppler zone. |
ST_TargetInMLCFilter | Integer | --- | MLC suppressing target flag. |
ST_TargetInSLCFilter | Integer | --- | SLC suppressing target flag. |
ST_UnambigRangeFlag | Boolean | --- | The value is set at 0 or 1. |
ST_UnambigVelFlag | Boolean | --- | The value is set at 0 or 1. |
ST_NoiseBandwidth | Double | Hz | Radar receiver noise bandwidth. |
ST_NoisePower | Double | dBW | Radar receiver noise power. |
ST_SinglePulseProbDetection | Double | --- | Single pulse probability of detection. The value ranges between 0 and 1. |
ST_IntegratedProbDetection | Double | --- | The value ranges between 0 and 1. |
ST_NonCFARDetectThreshold | Double | dB | Non-CFAR detection threshold. |
ST_CFARThresholdMultiplier | Double | --- | Non-CFAR detection threshold multiplier. |
ST_SinglePulseSNRUnderJamming | Double | dB | S/(N+J) for a single pulse. |
ST_IntegratedSNRUnderJamming | Double | dB | S/(N+J) integrated over total number of pulses. |
ST_SinglePulseProbDetectionUnderJamming | Double | --- | The value ranges between 0 and 1. Single pulse probability of detection under jamming. |
ST_IntegratedProbDetectionUnderJamming | Double | --- | The value ranges between 0 and 1. Integrated pulse probability of detection under jamming. |
ST_IntegrationTimeUnderJamming | Double | sec | Integrated time under jamming. |
ST_NumIntegratedPulsesUnderJamming | Double | --- | Total number of pulses integrated under jamming. |
ST_DwellTimeUnderJamming | Double | sec | Dwell time under jamming. |
ST_JOverS | Double | dB | Single pulse J/S. |
ST_IntegratedJOverS | Double | dB | Integrated J/S. |
ST_JammingPower | Double | dBW | Total 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.
Name | Representation | Units | Definition |
---|---|---|---|
Constraint | Double | --- | 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.
Name | Representation | Units | Definition |
---|---|---|---|
DateUTC | String | --- | The current date and time. |
EpochSec | Double | sec | The scenario simulation epoch time. |
CbName | String | --- | The scenario central body. |
RadarPath | String | --- | Scenario path for radar object. |
TargetPath | String | --- | Scenario path for target object. |
RadarTransmitPosCBF | Double-3 | m | Radar transmitter position in CBF. |
RadarTransmitAttitudeQuat | Double-4 | --- | Radar transmitter attitude. |
RadarReceivePosCBF | Double-3 | m | Radar receiver position in CBF (accounts for Light Time Delay). |
RadarReceiveAttitudeQuat | Double-4 | --- | Radar receiver attitude. |
TargetPosCBF | Double-3 | m | Target position in CBF. |
TargetAttitudeQuat | Double-4 | --- | Target attitude. |
RadarTransmitterToTargetVecBF | Double-3 | m | Radar transmitter to target vector in radar body frame. |
RadarReceiverToTargetVecBF | Double-3 | m | Radar receiver to target vector in radar body frame. |
TargetToRadarReceiverVecBF | Double-3 | m | Target to radar receiver vector in radar body frame. |
RadarTransmitterToTargetRange | Double | m | Range from radar transmitter to target. |
RadarReceiverToTargetRange | Double | m | Range from target to radar receiver. |
AngleRate | Double | rad/sec | Angle rate between target to radar receiver LOS vector and the target to radar receiver velocity vector. |
ConeAngle | Double | rad | Angle between radar receiver position vector and velocity vector. |
TransmitPropagationTime | Double | sec | Signal propagation time from transmitter to target. |
ReceivePropagationTime | Double | sec | Signal propagation time from target to receiver. |
TransmitRangeRate | Double | m/sec | Transmitter side range rate to target. |
ReceiveRangeRate | Double | m/sec | Receiver side range rate to target. |
RadarSpeed | Double | m/sec | Magnitude of radar receiver CBF velocity. |
RefractedElevationAngle | Double | rad | Refracted elevation angle if refraction is on. |
RadarTransmitFrequency | Double | Hz | Radar transmitter frequency. |
DopplerShiftedFrequencyAtTarget | Double | Hz | Doppler shifted frequency at target. |
DopplerShiftedFrequencyAtRadarReceiver | Double | Hz | Doppler shifter frequency at radar receiver. |
SARTimeAzimuthResolution | Double | m/sec | Azimuth resolution time product. |
SARMaxSceneWidth | Double | m | Maximum scene width. |
SARIntegrationTime | Double | sec | The 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. |
SARAzimuthResolution | Double | m | The 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. |
SARRangeResolution | Double | m | The 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. |
SARAreaRate | Double | m2/sec | The 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. |
SARSNR | Double | dB | Signal-to-noise ratio for the SAR radar. |
SARSCR | Double | dB | Signal-to-clutter ratio for the SAR radar. |
SARCNR | Double | dB | Clutter-to-noise ratio for the SAR radar. |
SARPTCR | Double | dB | The point target-to-clutter ratio for the SAR radar. |
SAREffectiveNoiseBackScatter | Double | dB | Effective noise backscatter. |
SARNoiseBandwidth | Double | Hz | Radar receiver noise bandwidth. |
SARNoisePower | Double | dBw | Radar receiver noise power. |
SARSNRUnderJamming | Double | dB | Signal to noise ratio under jamming. |
SARSCRUnderJamming | Double | dB | Signal to clutter ratio under jamming. |
SARCNRUnderJamming | Double | dB | Clutter to noise ratio under jamming. |
SARJOverS | Double | dB | Jamming to signal ratio (J/S). |
SARJammingPower | Double | dBw | Total 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.
Name | Representation | Units | Definition |
---|---|---|---|
Constraint | Double | --- | 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.
Name | Representation | Units | Definition |
---|---|---|---|
EpochSec | Double | sec | The scenario simulation epoch time. |
Frequency | Double | Hz | The doppler shifted receive frequency at the radar target. |
IncidentRho | Double | rad | Incident rho angle. The rho angle is defined as the total angle between the target body z-axis and the incident body fixed vector. |
IncidentTheta | Double | rad | Incident 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. |
ReflectedRho | Double | rad | Reflected rho angle. The rho angle is defined as the total angle between the target body z-axis and the reflected body fixed vector. |
ReflectedTheta | Double | rad | Reflected 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. |
IncidentBodyFixedVector | Double-3 | m | The incident vector from the transmit radar to the target in the target body fixed coordinate system. |
ReflectedBodyFixedVector | Double-3 | m | The 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.
Name | Representation | Units | Definition |
---|---|---|---|
RCSMatrixReal00 | Double | sqm | The real part of the (0,0) value of the 2x2 complex RCS matrix. |
RCSMatrixImg00 | Double | sqm | The imaginary part of the (0,0) value of the 2x2 complex RCS matrix. |
RCSMatrixReal01 | Double | sqm | The real part of the (0,1) value of the 2x2 complex RCS matrix. |
RCSMatrixImg01 | Double | sqm | The imaginary part of the (0,1) value of the 2x2 complex RCS matrix. |
RCSMatrixReal10 | Double | sqm | The real part of the (1,0) value of the 2x2 complex RCS matrix. |
RCSMatrixImg10 | Double | sqm | The imaginary part of the (1,0) value of the 2x2 complex RCS matrix. |
RCSMatrixReal11 | Double | sqm | The real part of the (1,1) value of the 2x2 complex RCS matrix. |
RCSMatrixImg11 | Double | sqm | The imaginary part of the (1,1) value of the 2x2 complex RCS matrix. |
ScatterMatrixBasis | Integer | --- | 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. |