# ****************************************************************************
# CUI
#
# The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
#
# The use, dissemination or disclosure of data in this file is subject to
# limitation or restriction. See accompanying README and LICENSE for details.
# ****************************************************************************
###############################################################################
#
#  File: generic_esm.txt
#
#  Specify a generic ESM (Electronic Support Measure)
#  ESM is a Passive Detection System (i.e., recieve only)
#
#                           ***** NOTICE *****
#
#  This definition is not intended to be representative of the real system.
#  Some undefined characteristics of the system have been provided so the
#  achieved performance matches the values defined in the noted references.
#
#  Reference: none
#
#  June 08:  added to file repository
#
#                               UNCLASSIFIED
###############################################################################
#
#  SNIPPET: example of how this sensor could be included in a simulation
#
// include_once generic_esm.txt
//
// ... simulation setup & initialization commands
//
//	platform_type UAV_PLATFORM WSF_PLATFORM
//	  icon predator
//	  mover WSF_AIR_MOVER
//	  ... mover commands
//	  end_mover
//	end_platform_type
//
//	platform sensor_test UAV_PLATFORM
//	  side blue
//	  route
//	  position 35:00n 118:15w altitude 20000 ft heading 90 deg speed 1200 kts
//	  extrapolate
//	  end_route
//
//	  add sensor esm_sensor GENERIC_ESM_SENSOR
//	  on    // initialize sensor as 'on'
//	  debug    // print debug info about sensor operation
//	  end_sensor
//	end_platform
#
#############################################################################

sensor GENERIC_ESM_SENSOR WSF_ESM_SENSOR

  #-- Platform Part Commands
  off                                   // default
  no_debug                              // default

  #-- Articulated Part Commands
  #   Slew mode and limits, yaw, pitch, & roll info goes here
  #   slew_mode: [fixed|azimuth|elevation|both|azimuth_and_elevation]
  #   slew limits define ability of subsystem to respond to cue
  #   if not cued, then oriented in direction spec'd by yaw, pitch, & roll
  azimuth_slew_limits     -90.0 deg 90.0 deg
  elevation_slew_limits   -60.0 deg 60.0 deg

  #-- Sensor Level Commands
  // none

  #-- Detection Scheduling Commands
  // none

  mode_template
    #-- Detection Scheduling Commands
    frame_time   2.0 s

	  #-- Track Formation Commands
    reports_range
    reports_bearing
    reports_location
    reports_velocity
    reports_elevation
    reports_signal_to_noise
    reports_frequency
    reports_side
  end_mode_template

  mode Default
    #-- Detection Scheduling Commands
    frame_time    0.5 sec

    #-- Antenna Commands
    azimuth_field_of_view     -60 deg 60 deg
    elevation_field_of_view   -60 deg 60 deg

    #-- ESM Sensor Mode Commands

    # Band of frequencies this sensor can detect
    frequency_band   2.0 ghz  4.0 ghz
    frequency_band   8.0 ghz  12.0 ghz

    # Adds range information to any track generated by this sensor after
    #  the specified time has elapsed (simulates triangulation)
    ranging_time    30.0 sec

    # Detection_threshold is the signal/noise required for detection.
  	detection_threshold  3.0 db

    receiver
      # detection_threshold command should not be used for WSF_ESM_SENSOR
      #   noise_power is the explicit noise power.
      # This is one mechanism for specifying the receiver noise.
      noise_power   -40 dbm
    end_receiver

  end_mode

  #-- Filter Commands
  filter WSF_ALPHA_BETA_FILTER
  alpha 0.4
  beta  0.1
  end_filter

end_sensor
