Files
lab1/sensors/radar/generic_fire_control_radar.txt
2025-09-12 15:20:28 +08:00

263 lines
8.6 KiB
Plaintext

# ****************************************************************************
# 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_file_control_radar.txt
#
# Specify GENERIC_FIRE_CONTROL_RADAR
# This version is designed to be placed on a ground or naval platform.
# Keys to moving to a different platform are
# location 0 0 -30 m // 30 m above platform
# elevation_slew_limits -5.0 degrees 85 degrees
#
# ***** 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:
# unknown
#
# June 08: added to wiki
#
# UNCLASSIFIED
###############################################################################
#
# SNIPPET: example of how the sensor could be included in a simulation
#
// include_once generic_fire_control_radar.txt
//
// ... simulation setup & initialization commands
//
#---#---#---
# setup a platform that will contain the fire control radar
#---#---#---
//platform sensor_platform LARGE_SHIP_TYPE
// icon Sovremennyy # good 3D option for large boats
// side red
// heading 0.0 deg
//
// route
// position 07:06:00n 117:11:16e altitude 300 m msl
// speed 30 knots
// position 08:21:12n 117:11:16e altitude 300 m msl
// speed 30 knots
// end_route
//
#---#---#---
# Add the Fire Control Radar sensor
#---#---#---
// add sensor fc-radar GENERIC_FIRE_CONTROL_RADAR
// on # initialize sensor as 'on'
// debug # print debug info about sensor operation
// location 0 0 -20 m
// ignore catSatellite
// end_sensor
//
#---#---#---
# Add a sensor that will initiate the 'start track' needed by the
# Fire Control Radar
#---#---#---
// add sensor search_radar BLUE_SHIP_MF_RADAR
// on
// debug
// location 0 0 -20 m
// processor track_manager
// ignore catSatellite
// end_sensor
//
#---#---#---
# Add processsors and state machine that control the Fire Control Radar mode
#---#---#---
// add processor track_manager WSF_TRACK_PROCESSOR
// drop_after_inactive 1 min
// end_processor
//
// add processor thinker WSF_TASK_PROCESSOR
//
// script bool ShouldICancel()
// bool shouldCancel=false;
// if (TRACK.IFF_Friend() ||
// (! TRACK.WithinZoneOf(PLATFORM, "engage_zone")) ||
// //(TasksReceivedFor(TRACK.TrackId()) == 0) || can self engage
// //(! WeaponsRemaining()) ||
// (PLATFORM.RelativeAltitudeOf(TRACK) > 5747) ||
// (PLATFORM.RelativeHeadingOf(TRACK) > 179.51) ||
// (PLATFORM.RelativeOffsetOf(TRACK) > 42250) ||
// (PLATFORM.GroundRangeTo(TRACK) > 45250))
// {
// shouldCancel = true;
// }
//
// return shouldCancel;
// end_script
//
// script void ReleaseResources()
// // Cancel any tasks I have assigned this track
// CancelTask(TRACK.TrackId(), "");
// // If I received an assignment for this track the inform I'm done
// if (TasksReceivedFor(TRACK.TrackId()) != 0)
// {
// TaskComplete(TRACK.TrackId(), "");
// }
// end_script
//
// // DETECTED is the initial state and the state where tracks reside
// // until they are determined to be of interest.
// evaluation_interval DETECTED 2.0 sec
// state DETECTED
//
// next_state TRACKING
// if (ShouldICancel())
// {
// ReleaseResources();
// return true;
// }
//
// StartTracking(TRACK, "Track", "fc-radar", "TRACK", PLATFORM);
// return true;
// end_next_state
// end_state
//
// evaluation_interval TRACKING 2.0 sec
// state TRACKING
// next_state TRACKING
// return true;
// end_next_state
// end_state
// end_processor
//
//end_platform
#
###############################################################################
antenna_pattern GENERIC_FIRE_CONTROL_RADAR_ANTENNA_PATTERN
circular_pattern
beamwidth 1.0 deg
peak_gain 30 dB
end_circular_pattern
end_antenna_pattern
sensor GENERIC_FIRE_CONTROL_RADAR WSF_RADAR_SENSOR
#-- Platform Part Commands
off # default
no_debug # default
//debug_scheduler
//debug_tracker
#-- Articulated Part Commands
# Slew mode and limits, yaw, pitch, & roll info goes here
location 0 0 -20 m
slew_mode azimuth_and_elevation
azimuth_slew_limits -180.0 degrees 180 degrees
elevation_slew_limits -5.0 degrees 85 degrees
#-- Sensor Level Commands
show_calibration_data # display radar characteristics
selection_mode multiple # can have more than one mode active at a time
#-- Detection Scheduling Commands
# none at this time
# Maximum number of targets being engaged: 6
# Maximum number of missles being guided: 12
# The mode_template specifies a common set of parameters for
# all modes of the radar.
# Note that individual modes may override the template values.
mode_template
# Given that 18 total objects can be tracked,
# we'll assume that the dwell time is 1/18 of the revist time.
# The value of the revist time is not known so we'll simply assume 1 second.
# This will give 'reasonable' track update rates.
frame_time 1 sec
revisit_time 1 sec
dwell_time 0.0555555 sec # 1/18 sec
#-- Beam Commands
transmitter
antenna_pattern GENERIC_FIRE_CONTROL_RADAR_ANTENNA_PATTERN
power 250 kw
frequency 3 ghz
pulse_repetition_frequency 250 hz
//internal_loss 10 db
end_transmitter
receiver
antenna_pattern GENERIC_FIRE_CONTROL_RADAR_ANTENNA_PATTERN
bandwidth 1 mhz
//internal_loss 19 dB
end_receiver
swerling_case 1
number_of_pulses_integrated 44 # integrated by Marcum-Swerling detector
detector_law square
probability_of_false_alarm 1.0e-6
# Field of view is used to cull targets, usually set larger than scan limits
# -5 deg detects ships more than 457.19 ft (139.35 m) away
# -10 deg detects ships more than 226.85 ft (69.14 m) away
azimuth_field_of_view -60.0 deg 60.0 deg
elevation_field_of_view -5.0 deg 65.0 deg # detects surface ships
//elevation_field_of_view 5.0 deg 65.0 deg # okay for aircraft
azimuth_error_sigma 0.03 deg
elevation_error_sigma 0.03 deg
//TODO range_error_sigma 2 km
range_error_sigma 100 m
#-- Track Formation Commands
reports_bearing
reports_elevation
reports_frequency
reports_location
reports_velocity
reports_iff
end_mode_template
mode ACQUIRE
# Search to acquire tracks
scan_mode azimuth_and_elevation
azimuth_scan_limits -4.0 degrees 4.0 degrees
elevation_scan_limits -4.0 degrees 4.0 degrees
# If maximum_request_count > 0 then this mode only responds
# to explicit requests as initiated by WsfTaskManager::StartTracking.
maximum_request_count 1
track_quality 0.8 # Near 'weapon quality'
hits_to_establish_track 3 5 # 3 of last 5 scans to establish track
hits_to_maintain_track 1 5 # 1 of last 5 scans to maintain track
on_success TRACK
end_mode
mode TRACK
# Allow the sensor to continue search processing while also performing tracking.
# This mode does not 'scan'. The target must be in the beam.
# If maximum_request_count > 0 then this mode only responds
# to explicit requests as initiated by WsfTaskManager::StartTracking.
maximum_request_count 6
track_quality 1.0 # 'weapon quality'
hits_to_establish_track 3 5 # 3 of last 5 scans to establish track
hits_to_maintain_track 1 5 # Allow 5 seconds of coasting (5th failure will drop)
end_mode
#-- Filter commands
filter WSF_ALPHA_BETA_FILTER
alpha 0.6
beta 0.2
end_filter
end_sensor