Radar Signal Processors

 signal_processor <type-name>
    ...commands ...
end_signal_processor

Types

mti_adjustment

signal_processor [mti_adjustment | gmti_adjustment]
   mti_adjustment_table ...
   gmti_adjustment_table <file-name>
   mti_adjustment_file <file-name>
   mti_adjustment_compound_file ...
   mti_maximum_range <length-value>
end_signal_processor
mti_adjustment_table
gmti_adjustment_table

Defines a function that attempts to capture the effect that a slow moving target is harder for a MTI sensor to detect that a faster moving target of the same size, and that the effect is non-linear. The function defines an adjustment factor (degradation of the received signal) versus either the closing speed or Doppler frequency. The table is defined using one of the following two forms:

# adjustment vs. closing_speed
mti_adjustment_table  //(or gmti_adjustment)
   closing_speed <speed-value> speed-1 adjustment <db-ratio-value> adjustment-1
   closing_speed <speed-value> speed-2 adjustment <db-ratio-value> adjustment-2
   ...
   closing_speed <speed-value> speed-n adjustment <db-ratio-value> adjustment-n
end_mti_adjustment

# adjustment vs. doppler_frequency
mti_adjustment_table  //(or gmti_adjustment)
   doppler_frequency <frequency-value> frequency-1 adjustment <db-ratio-value> adjustment-1
   doppler_frequency <frequency-value> frequency-2 adjustment <db-ratio-value> adjustment-2
   ...
   doppler_frequency <frequency-value> frequency-n adjustment <db-ratio-value> adjustment-n
end_mti_adjustment

There must be at least two entries and the closing_speed/doppler_frequency values must be monotonically increasing. If negative values are provided then the table is assumed to be asymmetric. If no negative closing_speed/doppler_frequency values are provided then the table is assumed to be symmetric, and the absolute value of the closing speed/doppler frequency will be used to perform the evaluation. If negative values are provided then the table is assumed to by asymmetric, with positive values represent closing targets and negative values represent receding targets.

Closing speeds or Doppler frequencies that exceed the limits of the table will be clamped to the appropriate endpoint. The <adjustment-n> values represent the adjustment to be applied, and are typically negative dB values.

Note

This table may be using alone or in combination with the minimum_doppler_speed and maximum_doppler_speed commands documented above. The minimum_doppler_speed and maximum_doppler_speed commands are simply coarse filters, and should have generous limits when employed in conjunction with this command.

mti_adjustment_file <file-name>

Specifies an external MTI table in a comma-separated-value (CSV) file. The file should have one header row and two columns. The 1st column is the independent speed values, while the 2nd column is the dependent attenuation values. All entries should be unit-less. This table only supports speed and dB entries. The assumed units are m/sec and dB.

mti_adjustment_compound_file <file-name>

Specifies an external MTI table in a comma-separated-value (CSV) file. The file should have one header row and ‘more’ than two columns. The last column is the dependent attenuation, while all preceding columns are independent speed values which all map to the dependent attenuation. The convention is that each independent column represents a different frequency, and that frequency is indicated in its header. For example, a column header of “ATTN (db) 30” is the column for 30 MHz. The dependent attenuation column entry can by any string. All entries should be unit-less. Excluding the header, this table only supports speed and dB entries. The assumed units are m/sec and dB.

mti_maximum_range <length-value>

Specifies a maximum range to be used with the MTI “tables” only. If the target is farther away, any MTI table will NOT be applied.

Default: Infinity

mti_processor

signal_processor mti_processor
   maximum_range           <length-value>
   number_of_stages        <integer-value>
   interpulse_period_1     <time-value>
   interpulse_period_2     <time-value>
   clutter_lock            <boolean-value>
   upwind                  <boolean-value>
   filtered_doppler_speed
   unfiltered_doppler_speed
end_signal_processor

Allows the definition of Dual-Delay Line Canceler Moving Target Indicator (DDLC-MTI) signal processor. A target response is computed that will affect the attenuated clutter power prior to the final S/(N+C+J) computation is made.

If a simple MTI processor is desired, simply define an empty mti_processor block.

maximum_range <length-value>

Specifies the maximum ground range from the sensor to the target for which MTI processing will occur. MTI processing will be applied only if the target is within this range.

Default: 0 meters

interpulse_period_1 <time-value>
interpulse_period_2 <time-value>

Optional values that indicate the interpulse periods.

Default: If omitted, a non-staggered MTI system is created with both values being the inverse of the PRF

number_of_stages <integer-value>

Specifies the number of stages in the MTI processor.

Default: 1

clutter_lock <boolean-value>

This is provided for compatibility with the SALRAM model.

Default: true

Note

If both clutter_lock and upwind are true, clutter_lock takes precedence.

upwind <boolean-value>

This is provided for compatibility with the SALRAM model.

Default: true

Note

If both clutter_lock and upwind are true, clutter_lock takes precedence.

filtered_doppler_speed
unfiltered_doppler_speed

Specifies if the ownship velocity is removed from the Doppler speed computation. A MTI sensor would typically employ filtered_doppler_speed.

Default: filtered_doppler_speed

simple_doppler

signal_processor simple_doppler
   minimum_doppler_speed
   maximum_doppler_speed
   filtered_doppler_speed
   unfiltered_doppler_speed
   debug
end_signal_processor
minimum_doppler_speed <speed-value>
maximum_doppler_speed <speed-value>

Defines the minimum and maximum target Doppler speed (i.e., opening or closing speed) capable of being detected.

Default: 0 to infinity

Note

The mti_adjustment table documented below provides more fidelity in the modeling of detecting moving targets.

filtered_doppler_speed
unfiltered_doppler_speed

Specifies if the ownship velocity is removed from the Doppler speed computation. A MTI sensor would typically employ filtered_doppler_speed.

Default: filtered_doppler_speed

debug

Presence of this flag indicates the MTI Signal Processor will output additional operational messages to the system console.

moving_target_detector

signal_processor moving_target_detector | moving_target_detection
   MTI Signal Processor Commands
   PD Signal Processor Commands
   zvf_switch
   zvf_filter_bandwidth
   zvf_num_filter_poles
   zvf_filter_slr
   filtered_doppler_speed
   unfiltered_doppler_speed
   debug
end_signal_processor

Overview

This document provides a basic description of the moving target detector (MTD) implementation in WSF for a WSF_RADAR_SENSOR. It was largely based on an existing implementation in ALARM.

The MTD signal processor block can be defined as part of a WSF_RADAR_SENSOR . Note that the radar must have PRF (or PRI) specified. The input names and types are set up to mimic the ALARM inputs.

The MTD is a combination of the moving_target_indicator and pulse_doppler with the addition Zero Velocity Filter (ZVF) inputs. The MTD system consists of two channels for incoming signal flow to the detector. The first channel consists of the MTI and PD filtering serially connected to the detector, while the ZVF is another channel allowing for zero velocity detection. In the case of the zero velocity channel the target must still compete with the clutter signal return if present.

MTD Response

The MTI portion of the MTD response is forced to be greater than the “mti_min_response”, 0.0 dB by default.

Applied to a Sensor Interaction

If the sensor detection result has a transmitter and a MTI signal processor the MTD response will be computed. The MTI response then applied to the result’s received power, clutter power, and noise jammer power:

  • Result received power = Result received power * MTD target response

  • Result clutter power = Result clutter power * MTD clutter response

  • Result noise jammer power = Result noise jammer power * MTD noise jamming response

  • Result pulse jammer power = Result pulse jammer power * MTD noise jamming response

  • Result coherent jammer power = Result coherent jammer power * MTD coherent jamming response

MTD Commands

zvf_switch <boolean-value>

Switch for Zero Velocity Filter effects being applied or not.

Default on

zvf_filter_bandwidth <integer> <frequency-value>

Specifies the zero velocity filter bandwidth corresponding to PRF(I), where i is the input integer value. Input 0.0 for each for matched filter.

Note

For matched filter the Doppler filter bandwidth equals one over the integration time. If ZVF_BANDWIDTH (I) = 0.0, it will be reset to PRF (I)/ZVF_FILTERS. Input for I = 1 to NPRFS.}}

zvf_num_filter_poles <integer>

Specifies the number of poles (the order) of the Chebyshev filter. Must be in the range 1 to 7.

zvf_filter_slr <dbration-value>

Specifies the mainlobe-to-peak sidelobe difference of the Chebyshev filters. Must be greater than 0.0 dB.

filtered_doppler_speed
unfiltered_doppler_speed

Specifies if the ownship velocity is removed from the Doppler speed computation. A MTI sensor would typically employ filtered_doppler_speed.

Default: filtered_doppler_speed

debug

Presence of this flag indicates the MTI Signal Processor will output additional operational messages to the system console.

moving_target_indicator

signal_processor moving_target_indicator
   mti_switch
   mti_num_delays
   mti_min_response
   mti_num_gates
   mti_range_limits
   mti_angle_limits
   filtered_doppler_speed
   unfiltered_doppler_speed
   debug
end_signal_processor

Overview

This document provides a basic description of the moving target indication (MTI) implementation in WSF for a WSF_RADAR_SENSOR. It was largely based on an existing implementation in ALARM.

The MTI signal processor block can be defined as part of a WSF_RADAR_SENSOR. Note that the radar must have PRF (or PRI) specified. The input names and types are set up to mimic the ALARM inputs.

MTI Response

The MTI response is forced to be greater than the “mti_min_response”, 0.0 dB by default.

Applied to a Sensor Interaction

If the sensor detection result has a transmitter and a MTI signal processor the MTI response will be computed. The MTI response then applied to the result’s received power, clutter power, and noise jammer power:

  • Result received power = Result received power * MTI target response

  • Result clutter power = Result clutter power * MTI clutter response

  • Result noise jammer power = Result noise jammer power * MTI noise jamming response

  • Result pulse jammer power = Result pulse jammer power * MTI noise jamming response

  • Result coherent jammer power = Result coherent jammer power * MTI coherent jamming response

MTI Commands

mti_switch <boolean-value>

Switch for Moving Target Indicator (MTI) effects being applied or not.

Default on

mti_num_delays <integer-value>

Specifies the Number of MTI delay lines.Must be greater than 0.

mti_min_response <power-value>

Specifies the minimum power response of the MTI system, floor value of the MTI power response.

Default 0.0 dB

mti_num_gates <integer-value>

Specifies the number of MTI gates. Must be between in the range of 1-4. If 0 MTI is off.

mti_range_limits <integer-value> <length-value> <length-value>

Specifies the MTI gate minimum and maximum range for the Ith MTI gate.

Note

MTI processing is performed between the minimum and maximum gate ranges. No MTI processing is performed outside of the MTI gates.

mti_angle_limits <integer-value> <angle-value> <angle-value>

Specifies the MTI gate minimum and maximum azimuth for the Ith MTI gate.

Note

MTI processing is performed between the minimum and maximum gate angles. No MTI processing is performed outside of the MTI gates.

filtered_doppler_speed
unfiltered_doppler_speed

Specifies if the ownship velocity is removed from the Doppler speed computation. A MTI sensor would typically employ filtered_doppler_speed.

Default: filtered_doppler_speed

debug

Presence of this flag indicates the MTI Signal Processor will output additional operational messages to the system console.

pulse_doppler

signal_processor pulse_doppler
   pd_num_filters
   pd_filter_bandwidth
   pd_num_filter_poles
   pd_filter_slr
   filtered_doppler_speed
   unfiltered_doppler_speed
   debug
end_signal_processor

Overview

This document provides a basic description of the moving target indication (MTI) implementation in WSF for a WSF_RADAR_SENSOR. It was largely based on an existing implementation in ALARM.

The MTI signal processor block can be defined as part of a WSF_RADAR_SENSOR. Note that the radar must have PRF (or PRI) specified. The input names and types are set up to mimic the ALARM inputs.

PD Response

Applied to a Sensor Interaction

If the sensor detection result has a transmitter and a PD signal processor the PD response will be computed. The PD response then applied to the result’s received power, clutter power, noise/pulse/coherent jammer power:

  • Result received power = Result received power * PD target response

  • Result clutter power = Result clutter power * PD clutter response

  • Result noise jammer power = Result noise jammer power * PD noise jamming response

  • Result pulse jammer power = Result pulse jammer power * PD noise jamming response

  • Result coherent jammer power = Result coherent jammer power * PD coherent jamming response

PD Commands

pd_num_filters <integer-value>

Specifies the number of Doppler filters in the filter bank.

pd_filter_bandwidth <integer-value> <frequency-value>

Specifies the Radar Doppler filter bandwidth corresponding to PRF(I), where i is the input integer value. Input 0.0 for each for matched filter.

Note

For matched filter the Doppler filter bandwidth equals one over the integration time. If PD_BANDWIDTH (I) = 0.0, it will be reset to PRF (I)/PD_FILTERS. Input for I = 1 to NPRFS.

pd_num_filter_poles <integer-value>

Specifies the number of poles (the order) of the Chebyshev filter. Must be in the range 1 to 7.

pd_filter_slr <dbratio-value>

Specifies the mainlobe-to-peak sidelobe difference of the Chebyshev filters. Must be greater than 0.0 dB.

filtered_doppler_speed
unfiltered_doppler_speed

Specifies if the ownship velocity is removed from the Doppler speed computation. A MTI sensor would typically employ filtered_doppler_speed.

Default: filtered_doppler_speed

debug

Presence of this flag indicates the MTI Signal Processor will output additional operational messages to the system console.

sensitivity_time_control

signal_processor sensitivity_time_control
  stc_type ...
  stc_min_response ...
  stc_min_range ...
  stc_max_range ...
  stc_order ...
  stc_data_table ...
    [independent_variable units <length-units>]
    [dependent_variable units <ratio-units>]
  end_stc_data_table
end_signal_processor

Overview

The STC signal processor block can be defined as part of a WSF_RADAR_SENSOR. Note that the radar must have PRF (or PRI) specified; the model uses PRF to calculate maximum unambiguous range, which is used as the max range in the input descriptions below. The input names and types are set up to mimic the SUPPRESSOR inputs.

Note

The Sensitivity Time Control (STC) implementation in WSF was largely based on an existing implementation in SUPPRESSOR.

Warning

The radar must have PRF (or PRI) specified. The input names and types are set up to mimic the SUPPRESSOR inputs.

MIN, MAX, MIN/MAX RANGE STC Response

This section provides additional detail on how Min, Max, and Min/Max Range STC response is calculated. These are considered together as they operate in a very similar manner. The response curve is built in to the code and can be modified by changing the STC minimum response, min/max ranges, and STC order.

Calculation of unambiguous ranges:

U_Range_Max= 0.5 * (speed of light / PRF)
U_Range = slant_range  TRUNC(slant_range / U_Range _Max) * U_Range_Max
U_Min_Range = STC_Min_Range - floor(STC_Min_Range / U_Range_Max) * U_Range_Max;
U_Max_Range = STC_Max_Range - floor(STC_Max_Range / U_Range_Max) * U_Range_Max;

If the STC type is MIN RANGE:

STC Response = **stc_min_response** * (U_Range / U_Min_Range)^STC_Order
if the unambiguous range is greater than U_Min_Range
otherwise STC Response = **stc_min_response**

If the STC type is MAX RANGE:

STC Response = (U_Range / U_Max_Range)^STC_Order
if the unambiguous range is less than U_Max_Range
otherwise STC Response = 0.0 dB

If the STC type is MIN MAX RANGE:

if (U_Range < U_Min_Range)
 STC Response = **stc_min_response**
else if (U_Range > U_Max_Range)
 STC Response = 0.0 dB
else
 STC Response = (U_Range / U_Max_Range)^STC_Order

Finally, the STC response is forced to be between stc_min_response and 1.0.

DATA TABLE STC Response

When the STC sensor signal processor is operating as a DATA TABLE type the STC response is determined by looking up the response based on the slant range from the target to the sensor receiver in the sensor detection result. The STC response from the table is forced to be between stc_min_response and 1.0.

In this mode the min/max range and STC order inputs are ignored.

Applied to a Sensor Interaction

If the sensor detection result has a transmitter and an STC signal processor the STC response will be computed. the STC response then applied to the result’s received power, clutter power, and noise jammer power:

  • Result received power = Result received power * STC response

  • Result clutter power = Result clutter power * STC response

  • Result noise jammer power = Result noise jammer power * STC response

STC Commands

stc_type <string-value>

Indicate the type of STC signal processing that will be used. Valid values are min_range, max_range, min_max_range, or data_table.

Default min_range

stc_min_response <db-ratio-value>

Specifies the minimum STC response level. Entered as a ratio, valid values are 0 dB or less (0.0 1.0 absolute). This value is required for all STC types. This value is required for all STC types.

Default 1.0 absolute / 0 dB

stc_min_range <length-value>

Specifies the minimum slant range at which STC response will begin in min_range and min_max_range STC types. At ranges less than the minimum range STC response is the stc_min_response value.

Default 0.0

stc_max_range <length-value>

Specifies the maximum slant range that STC response will be applied in max_range and min_max_range STC types. At ranges greater than the maximum range an STC response is 0 dB.

Default 0.0

stc_order <real-value>

Order of the STC response curve used for min_range, max_range, and min_max_range STC types. Valid values are real numbers greater than or equal to zero.

Default 4.0

stc_data_table … end_stc_data_table

Defines STC response as a function of the slant range. Required if stc_type is data_table. Table values are a length value and ratio pair. The independent and dependent variable units commands are optional, but if they are not specified the units are assumed to be meters and dB.

Note

The entire contents of the data table can be in an alternate file and can be brought in with the include command.

Example Table:

stc_data_table
  independent_variable units nmi
  dependent_variable units dB
  0   0
  1  -2
  2  -4
  3  -6
  4  -8
  5  -10
  6  -10
  7  -8
  8  -6
  9   0
end_stc_data_table
debug

Presence of this flag indicates the STC Signal Processor will output additional operational messages to the system console.