Sensor Plot Horizontal Map¶
Navigation: sensor_plot > horizontal_map
- horizontal_map … end_horizontal_map¶
horizontal_map Stub Definition Commands # Sensor Control sensor_platform_yaw ... sensor_platform_pitch ... sensor_platform_roll ... mode_name ... exclude ... no_exclude ... automatic_target_cueing ... platform_to_detect_name ... # Jammer Control jammer_to_signal_reference ... jamming_platform_name ... target_platform_type target_speed target_mach target_heading target_yaw target_pitch target_roll target_altitude ... # Target Region down_range_limits ... down_range_step ... cross_range_limits ... cross_range_step ... latitude_limits ... latitude_step ... longitude_limits ... longitude_step ... sensor_relative_orientation ... # Output Selection variable ... script_variable ... detection_reference ... use_tm_projection pd_map_file ... header_line_1 ... header_line_2 ... header_line_3 ... output_column_limit ... gnuplot_file ... gnuplot_player_file ... tiff_file ... contour_level ... end_contour_level contour_variable ... wsf_file ... kml_file ... shapefile ... sedit_file ... defended_area_report_file ... analysis_map ... end_analysis_map end_horizontal_map
Overview¶
The horizontal_map command is used to generate a plot file of target detectability at the intersection points of a horizontal rectangular mesh. Five types of plot files can be produced:
A ‘pd map’ file for the program ‘plotview’ to show a typical downrange/crossrange plot.
A file suitable for plotting with the program ‘gnuplot’.
A ‘sedit’ file for the programs ‘sedit’ or ‘vespa’ to show coverage over a geographic map.
An ‘analysis map’ file which can be rasterized (as opposed to contour lines) in ‘vespa’.
A ‘tiff’ file for ‘Wizard’, ‘Mystic’, ‘Warlock’, or other applications. ‘tiff’ data will contain multiple layers for each variable. Data ranges generated may not be suitable for viewing in image editor applications.
To create a file, the following process should be followed:
Define a platform type of the type specified by the command target_platform_type (Default TARGET_PLATFORM_TYPE) with the desired radar, infrared, optical or acoustic signature depending on the type(s) of sensors being tested.
Define one or more platform instances that contain the sensors that will attempt to detect the target or optionally, define a platform type of SENSOR_PLATFORM_TYPE, which contains one or more the sensor(s) to be used to detect the target..
Define zero or more platform instances that contain jammers that will attempt to jam the sensors.
Define the horizontal_map input block with:
Commands to define limits and spacing of the sample points in the Target Region.
A target_altitude command to specify the altitude at which the target will be placed at each sample point.
An optional target_speed command to specify the target speed.
Optional target_heading, target_pitch and target_roll commands to specify the target orientation when placed at sample point. The default is level flight, pointed at the sensor.
Output selection commands.
Notes¶
If the Target Region uses the down-range/cross-range format, it must be noted that even though a Cartesian frame is used externally, all operations are internally performed in a latitude/longitude coordinate system. The position and heading of the platform with the first sensor defines the origin and orientation of the down_range/cross_range coordinate system. The heading points down the increasing down-range axis. Down-range/cross-range coordinates are converted to an East/North frame and then converted to latitude/longitude using a transverse Mercator projection.
This discussion is of no importance unless one or more of the following conditions exist:
target_heading is used.
Jammers are employed.
The sensor has scan or slew limits that are not 360 degrees in azimuth.
Be aware that target_heading and the positioning and pointing of jammers is always done in the latitude/longitude coordinate system.
Sensor Control¶
- sensor_platform_yaw <angle-value>¶
- sensor_platform_pitch <angle-value>¶
- sensor_platform_roll <angle-value>¶
Specify the orientation of the sensing platform with respect to the direction of flight. The yaw angle is added to the heading and the pitch and roll angles are used directly as specified. This is useful for examining sensor coverage when the platform is flying in some other condition other than straight-and-level.
Default 0 degrees for all angles
- mode_name <mode_name>¶
Specifies the name of the mode to be used if the sensor is a multi-mode sensor.
Default The default mode of the sensor. This will be the value of the initial_mode of the sensor (if defined) or the first mode (if initial_mode was not defined).
Note
This is valid only for single-sensor executions. For multiple-sensor executions, the default mode as defined above will be used.
- exclude [ sensor_type | sensor_category | platform_type | platform_category ] <type-or-category>¶
- no_exclude [ sensor_type | sensor_category | platform_type | platform_category ] <type-or-category>¶
These commands provide the mechanism to choose which sensors in a multiple-sensor scenario are to be included in the plotting process. This is useful when a existing scenario is being used but only a subset of sensors are to be used for the plot.
By default, all sensors in the scenario are included in the plot. A sensor will be excluded if specified in an exclude command and not specified in a no_exclude command. The no_exclude command is typically used to prevent the exclusion of a smaller group of sensors from a larger list that have been excluded.
- automatic_target_cueing <boolean-value>¶
If ‘true’, the sensor will be cued to point at the target when performing a detection chance. If ‘false’, the sensor will be remain in its initial condition.
Default true (The sensor will always be cued to point at the target)
- platform_to_detect_name <platform-name>¶
Normally the sensor is held stationary and the target is placed at the grid points specified by the Target Region. There are cases, however, where it is desirable to exchange the role of the sensor and target (i.e.: the sensor is moved about the target region and the target is fixed at the center). This is typically used when on has a passive sensor that one wants to move around an emitting target.
Default TARGET_PLATFORM_TYPE
Jammer Control¶
- jammer_to_signal_reference <db-ratio-value>¶
Specifies the jammer-to-signal (J/S) reference to be used when plotting the ‘required_jamming_power’ variable.
Default 0.0 db
- jamming_platform_name <platform-name>¶
Specifies the platform that will be used to calculate the required jamming power. This input is to be used when plotting the ‘required_jamming_power’ variable for the location of the jammer system.
Default TARGET_PLATFORM_TYPE
- target_platform_type <target-platform-type>¶
Specify the platform type to be used to represent the target.
Default TARGET_PLATFORM_TYPE
- target_speed <speed-value>¶
- target_mach <real-value>¶
Specify the speed at which the target is to be considered moving. This is only used if the sensor needs to performs Doppler processing. The speed may be specified using either an absolute speed (target_speed) or a Mach number (target_mach). If both are specified the last value takes precedence.
Default target_speed 250 m/s
- target_heading <angle-value>¶
Specifies the heading at which the target will be placed.
Default If not specified, the target will be oriented at each grid point to point at the sensor.
- target_yaw <angle-value>¶
Specify the yaw angle with respect to the target heading at which the target will be placed. This is primarily used for certain types of infrared sensor plots where it desired to hold the sensor-to-target viewing angle a constant. In those cases the target_heading will be omitted and the value of this command will be set to the desired sensor-to-target viewing angle.
Default 0.0 deg
- target_pitch <angle-value>¶
Specify the pitch angle at which the target will be placed.
Default 0 degrees
- target_roll <angle-value>¶
Specify the roll angle at which the target will be placed.
Default 0 degrees
- target_altitude <length-value> [ msl | agl ]¶
Specify the altitude at which the target is to be placed. msl or agl may be specified to indicate if the altitude is above mean sea level (msl) or above ground level (agl). If neither msl or agl is present then msl is assumed.
Default 0 m msl
Target Region¶
Specifies extent and spacing of the rectangular mesh that defines the points at which the target will be placed. The extent may be specified using either:
Latitude and longitude limits with the spacing in units of fractions of degrees.
Downrange and crossrange limits with spacing in normal length units.
Note
Only one form may be specified.
These two forms are further described in the following two sections.
Latitude/Longitude Specification¶
- latitude_limits min-lat-value <latitude-value> max-lat-value <latitude-value>¶
Specifies the latitude limits of the target region.
- latitude_step <lat-step real-value>¶
Specifies the increment between sample points in the latitude direction.
- longitude_limits min-lon-value <longitude-value> max-lon-value <longitude-value>¶
Specifies the longitude limits of the the target region.
- longitude_step <lon-step real-value>¶
Specifies the increment between sample points in the longitude direction.
- sensor_relative_orientation <boolean-value>¶
If true, when the target is moved, it is oriented with the same NED coordinate system as the sensor’s. This corrects issues with maps rendered with a very large area (~>100 nautical miles on a side), or for maps near the poles (more than ~+-80 degrees latitude). If false, the target is oriented relative to its local NED frame.
Default disabled
Downrange/Crossrange Specification¶
- down_range_limits <length-value> <length-value>¶
Specifies the downrange limits (minimum, maximum) of the target region.
- down_range_step <length-value>¶
Specifies the increment between samples points in the down_range direction.
- cross_range_limits <length-value> <length-value>¶
Specifies the crossrange limits (minimum, maximum) of the target region.
- cross_range_step <length-value>¶
Specifies the increment between samples points in the cross_range direction.
Output Selection¶
- variable <variable-name>¶
<variable-name> |
Description |
Notes |
pd |
The probability of detection. |
If multiple sensors are provided, the result will be the maximum probability of detection by any sensor. |
detection_threshold |
The detection threshold in dB. |
If multiple sensors are provided, the result will be the minimum detection threshold by any sensor. For WSF_ESM_SENSOR types the detection threshold is only valid when a successful interaction happens between the transmitter and receiver. |
required_rcs**or **rcs_required |
The radar cross section required for the sensor to detect the target in dBsm. |
If multiple sensors are provided the result will be the minimum value determined for any sensor. Selecting this may also require the specification of detection_reference |
required_jamming_power or jamming_power_required or required_jammer_power or jammer_power_required |
The jamming power required to overcome the target signal by in dBsm. |
If multiple sensors are provided the result will be the maximum value determined for any sensor. Selecting this may also require the specification of jammer_to_signal_reference. |
radar_signature |
The radar signature of the target presented to the sensor in dBsm. |
If multiple sensors are provided, the result will be the maximum value presented to any sensor. |
optical_signature |
The optical signature of the target presented to the sensor in dB. |
If multiple sensors are provided, the result will be the maximum value presented to any sensor. |
infrared_signature |
The infrared signal of the target presented to the sensor in w/sr. |
If multiple sensors are provided, the result will be the maximum value presented to any sensor. |
signal_power |
The received signal power in dBW. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
clutter_power |
The received clutter power in dBW. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
noise_power |
The receiver noise power in dBW. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
jammer_power |
The received jammer power, to include noise and pulsed-noise, in dBW. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
noise_jammer_power |
The received noise only jammer power in dBW. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
pulse_jammer_power |
The received non-coherent pulse (pulsed noise) jammer power in dBW. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
coherent_jammer_power |
The received coherent (coherent pulse and false-target) jammer power in dBW. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
jammer_to_mds |
The jammer (noise and pulsed noise) to minimum detectable signal (detection_threshold + noise_power) in dB. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
jammer_to_signal |
The jammer (noise and pulsed noise) to signal ratio in dB. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
noise_jammer_to_signal |
The jammer (noise power only) to signal ratio in dB. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
pulse_jammer_to_signal |
The jammer (pulsed noise power only) to signal ratio in dB. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
coherent_jammer_to_signal |
The jammer (coherent jammer power only) to signal ratio in dB. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
coherent_jammer_to_noise |
The jammer (coherent jammer power only) to receiver noise power in dB. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
signal_to_noise |
The signal to noise ratio in dB. Only the receiver thermal noise is accounted for. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
signal_to_interference |
The signal to interference ratio in dB. |
Includes the interference power due to receiver thermal noise, clutter, and jamming (if present). If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
signal_at_target |
The signal power density present at the target in dBW/m^2. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
background_radiant_intensity |
The background radiant intensity as seen by the sensor. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
contrast_radiant_intensity |
The contrast radiant intensity as seen by the sensor. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
attenuation_factor |
The atmospheric attenuation factor of the signal as seen by the sensor in dB. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
propagation_factor |
The propagation factor of the signal as seen by the sensor in dB. |
If multiple sensors are provided, the result will be the maximum value seen to any sensor. |
transmit_antenna_gain |
The transmit antenna gain in dB. |
If multiple sensors are provided, the result will be the maximum value for any sensor. |
receive_antenna_gain |
The receive antenna gain in dB. |
If multiple sensors are provided, the result will be the maximum value for any sensor. |
transmit_gain_propagation_factor |
The transmit antenna gain multiplied by the one-way propagation factor, in dB. |
If multiple sensors are provided, the result will be the maximum value for any sensor. This variable is only valid for monostatic radars. |
receive_gain_propagation_factor |
The receive antenna gain multiplied by the one-way propagation factor, in dB. |
If multiple sensors are provided, the result will be the maximum value for any sensor. This variable is only valid for monostatic radars. |
slant_range |
The slant range from the sensor to the target in meters. |
If multiple sensors are provided, the result will be maximum the value seen to any sensor. |
ground_range |
The ground range from the sensor to the target in meters. |
If multiple sensors are provided, the result will be the value seen by the last sensor processed, since this variable is only applicable to single-sensor plots. |
azimuth_angle |
The azimuth angle from the sensor to the target in degrees. |
If multiple sensors are provided, the result will be the value seen by the last sensor processed, since this variable is only applicable to single-sensor plots. |
elevation_angle |
The elevation angle from the sensor to the target in degrees. |
If multiple sensors are provided, the result will be the value seen by the last sensor processed, since this variable is only applicable to single-sensor plots. |
angle |
The angle between the sensor boresight and the beam center. |
This is typically used to deterimine the beam steering angle for electronically scanned sensor. If multiple sensors are provided, the result will be the value seen by the last sensor processed, since this variable is only applicable to single-sensor plots. |
grazing_angle |
The angle between the sensor antenna location (NOT boresight) to the target in degrees. |
If multiple sensors are provided, the result will be the value seen by the last sensor processed, since this variable is only applicable to single-sensor plots. |
target_to_sensor_slant_range |
The slant range from the target to the sensor in meters. |
If multiple sensors are provided, the result will be maximum the value seen to any sensor. |
target_to_sensor_ground_range |
The ground range from the target to the sensor in meters. |
If multiple sensors are provided, the result will be the value seen by the last sensor processed, since this variable is only applicable to single-sensor plots. |
target_to_sensor_azimuth_angle |
The azimuth angle from the target to the sensor in degrees. |
If multiple sensors are provided, the result will be the value seen by the last sensor processed, since this variable is only applicable to single-sensor plots. |
target_to_sensor_elevation_angle |
The elevation angle from the target to the sensor in degrees. |
If multiple sensors are provided, the result will be the value seen by the last sensor processed, since this variable is only applicable to single-sensor plots. |
sensor_latitude |
The latitude of the sensor platform in decimal degrees. |
|
sensor_longitude |
The longitude of the sensor platform in decimal degrees. |
|
sensor_altitude |
The altitude of the sensor platform in meters. |
|
sensor_speed |
The speed of the sensor platform in meters/second. |
|
sensor_heading |
The heading of the sensor platform measured clockwise from north. |
|
sensor_pitch |
The pitch angle of the sensor platform in degrees. |
|
sensor_roll |
The roll angle of the sensor platform in degrees. |
|
target_latitude |
The latitude of the target in platform decimal degrees. |
|
target_longitude |
The longitude of the target in platform decimal degrees. |
|
target_altitude |
The altitude of the target platform in meters. |
|
target_speed |
The speed of the target platform in meters/second. |
|
target_heading |
The heading of the target platform measured clockwise from north. |
|
target_pitch |
The pitch angle of the platform target in degrees. |
|
target_roll |
The roll angle of the platform target in degrees. |
|
sar_dwell_time |
The dwell time (in seconds) needed to produce an image of the desired resolution specified in the sensor definition. |
The sensor being tested must be of type WSF_SAR_SENSOR. |
sar_resolution |
The resolution (in meters) of an image that can be produced with the dwell time specified in the sensor definition. |
The sensor being tested must be of type WSF_SAR_SENSOR. |
sar_clutter_to_noise |
The SAR clutter-to-noise ratio (in dB). |
The sensor being tested must be of type WSF_SAR_SENSOR. |
sar_doppler_foldover |
The difference between the PRF and the minimum PRF that could be used without causing ‘doppler foldover’. |
The sensor being tested must be of type WSF_SAR_SENSOR. |
pixel_count |
The number of pixels the target occupies in the image. |
Available for WSF_EOIR_SENSOR and WSF_SAR_SENSOR. |
masking_status |
The masking status at the point. |
The value will be 0 if the target is not masked, 1 if masked by the horizon and 2 if masked by the terrain. |
terrain_elevation |
The terrain elevation in meters. |
Use with horizontal_map. |
Script Variable¶
- script_variable <variable/script-name>¶
Specify the name of the ‘global’ script variable to use to derive and manipulate a variable from the sensor detection attempt interaction result.
Note
The script must have a ‘double’ as the return type and have inputs in the format and order of ‘WsfPlatform , WsfSensor , WsfPlatform , WsfSensorInteraction’.
Note
The script must be defined globally, i.e. outside any platforms or the sensor_plot mapping blocks.
Note
If multiple sensors are provided, the result will be the maximum value presented to any sensor.
Example script that writes out the Jammer/MDS, need to include script_variable jammer_to_mds also to run the script:
script double jammer_to_mds(WsfPlatform aPlatform, WsfSensor aSensor, WsfPlatform aTarget, WsfSensorInteraction aResult) if ((aResult.DetectionThreshold() > -300.0) && (aResult.RcvrNoise() > -300.0) && (aResult.NoiseJammerPower() > -300.0) && (aResult.NoiseJammerPower() != 0.0)) { double MDS = aResult.DetectionThreshold() + aResult.RcvrNoise(); return aResult.NoiseJammerPower() - MDS; } return -300.0; // default value in dB end_script
- detection_reference <db-ratio-value>¶
The reference signal-to-noise ratio used to determine the required_rcs or rcs_required variable.
Default 12.8 dB
- use_tm_projection <boolean-value>¶
Specifies whether to use the transverse Mercator (true) or the default (x, y) (false) projection.
Default false (uses x,y projection)
- line_of_sight_masking <boolean-value>¶
If this selection is enabled, sensor plot will perform a terrain masking calculation, if not already performed in the sensor detection attempts. In the case of a blocked LOS the default values of the output variables will be returned.
Default disabled
- pd_map_file <file-name>¶
Specifies the name of the file to which ‘pd map’ output will be written. The name does not imply that only pd can be written, but rather denotes a common file format.
Default no ‘pd map’ formatted file will be produced.
- header_line_1 <text>¶
- header_line_2 <text>¶
- header_line_3 <text>¶
Specifies the text to be contained in the first three lines of the output file when pd_map_file is specified.
Default all header lines are blank.
- output_column_limit <integer>¶
Specifies the maximum number of columns per physical line in the output file when pd_map_file is specified.
Default 100
Note
If the file is to be imported into a spreadsheet such as Microsoft Excel, this value should be set so that the rows do not have to be split into multiple physical lines.
- gnuplot_file <file-name>¶
Specifies the name of the file to which ‘gnuplot’ output will be written.
Default ‘gnuplot’ output will not be produced.
- gnuplot_player_file <file-name>¶
Specifies the name of the file to which player’s Downrange/Crossrange or Latitude/Longitude will be written. Will not output target locations.
Default ‘gnuplot’ player location output will not be produced.
- tiff_file <filename>¶
Specifies the name of a file to which ‘tiff’ output will be written. This file can be displayed with Wizard, Warlock, or Mystic (as an map layer)
Default ‘tiff’ output will not be produced.
- contour_level <level> … end_contour_level¶
Specifies a contour level and defines the line attributes for the contour line for wsf_file, kml_file, shapefile or sedit_file output. This command may be specified multiple times to define multiple contour levels. The variable defined by the contour_variable is used as the base data for this capability.
- line_color <color-value>¶
Specify the color of the line for the current contour level.
Note
The alpha component of the color will not be used even if specified.
- contour_variable <variable>¶
Specifies the variable to be contoured. This command uses the same values as variable. If unset, sensor_plot will contour pd (probability of detection).
- wsf_file <file-name>¶
Specifies the name of an AFSIM file to which the geographic contour plot will be written to as zones. This file can be displayed with Wizard. This file format allows for multi-dimensional contour output.
Note
The variable defined by contour_variable (or ‘pd’ if undefined) will be automatically selected if this option is specified.
- kml_file <file-name>¶
Specifies the name of the KML (Keyhole Markup Language) file to which the geographic contour plot will be written. This file can be displayed with Google Earth or any other program that accepts KML files. The contour levels to be produced are specified by one or more contour_level blocks.
Note
The variable defined by contour_variable (or ‘pd’ if undefined) will be automatically selected if this option is specified.
- shapefile <file-name>¶
Specifies the name of the ESRI shapefile to which the geographic contour plot will be written. This file can be displayed with Wizard, Warlock, or Mystic (as a map layer) or any other program that accepts ESRI shapefiles.
Note
The variable defined by contour_variable (or ‘pd’ if undefined) will be automatically selected if this option is specified.
- sedit_file <file-name>¶
Specifies the name of the file to which the geographic contour plot will be written. This file can be displayed with ‘sedit’ or ‘vespa’. The contour levels to be produced are specified by one or more contour_level blocks.
Note
The variable defined by contour_variable (or ‘pd’ if undefined) will be automatically selected if this option is specified.
- defended_area_report_file <file-name>¶
Specifies the name of the file to which summary information is to be written. The summary includes the total area covered and the coverage as a function of Pd.
Note
The variable defined by contour_variable (or ‘pd’ if undefined) will be automatically selected if this option is specified.
- analysis_map … analysis map options… end_analysis_map¶
- file <file-name>¶
Specifies the name of the file to which the analysis map output will be written.
Default ‘analysis map’ output will not be produced.
- color_range <min-value> to <max-value> <color-value>¶
Specifies a color for a given range of values in the output. This command may be specified multiple times to define multiple color rules.
Default If no color ranges are specified, the analysis map will use any contour_level blocks defined. If none of those are defined, a default color lookup will be used by VESPA.
- data_title <title>¶
Specifies the title for the data.
Default “Unknown”
- units <data-units>¶
Specifies the units of the data.
Default “Unknown”