WSF
WsfRadarSTC_SignalProcessor Class Reference

#include <WsfRadarSTC_SignalProcessor.hpp>

Inheritance diagram for WsfRadarSTC_SignalProcessor:
Collaboration diagram for WsfRadarSTC_SignalProcessor:

Public Member Functions

 WsfRadarSTC_SignalProcessor ()
 Constructor.
 WsfRadarSTC_SignalProcessor (const WsfRadarSTC_SignalProcessor &aSrc)=default
 ~WsfRadarSTC_SignalProcessor () override=default
WsfRadarSTC_SignalProcessoroperator= (const WsfRadarSTC_SignalProcessor &)=delete
WsfSensorSignalProcessorClone () const override
virtual bool Initialize (double aSimTime, WsfSensor *aSensorPtr, WsfSensorMode *aModePtr)
bool ProcessInput (UtInput &aInput) override
void Execute (double aSimTime, WsfSensorResult &aResult) override
virtual bool Initialize (double aSimTime, WsfSensor *aSensorPtr, WsfSensorMode *aModePtr, size_t aBeamIndex=0)
bool ProcessInput (UtInput &aInput) override
Public Member Functions inherited from WsfObject
 WsfObject ()
 This is the constructor for the WsfObject class.
 ~WsfObject () override
 This is the destructor for the WsfObject class.
const char * GetScriptClassName () const override
const std::string & GetType () const
WsfStringId GetTypeId () const
 Get the string ID of the 'type' of the object.
void SetType (WsfStringId aType)
const std::string & GetBaseType () const
WsfStringId GetBaseTypeId () const
const TypeListGetTypeList () const
bool IsA_TypeOf (WsfStringId aType) const
WsfObjectoperator= (const WsfObject &aRhs)
 Assignment operator.
template<typename T>
void Serialize (T &aBuff)
 For XIO (de)serialization.
const std::string & GetName () const
WsfStringId GetNameId () const
void SetName (WsfStringId aName)

Static Public Member Functions

static WsfSensorSignalProcessorObjectFactory (const std::string &aTypeName)
 The object factory for the STC signal processor type.
static void AddObjectFactory (FactoryPtr aFactoryPtr)
static void RemoveObjectFactory (FactoryPtr aFactoryPtr)
static WsfSensorSignalProcessorCreateInstance (const std::string &aTypeName)
static void ClearTypes ()

Additional Inherited Members

Public Types inherited from WsfSensorSignalProcessor
using FactoryPtr = WsfSensorSignalProcessor* (*)(const std::string&)
using ObjectFactoryList = std::list<FactoryPtr>
Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.
 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).
bool mDebug {false}
 If 'true' additional information is written out to aid debugging.

Detailed Description

A class derived from WsfSensorSignalProcessor that defines a sensitivity time control processing technique for a radar sensor.

Sensitivity Time Control (STC) attempts to adjust receiver gain with time during a single pulse repetition period to get the best visibility of nearby and distant targets. It is used to attenuate the very strong signals returned from nearby ground clutter close to a Radar receiver. Without this signal attenuation, the receiver would routinely saturate due to the strong signals. STC effects are typically limited to around 50 miles, beyond that the receiver operates normally. Excessive STC can blank out potential returns of low RCS targets close to the receiver.

This signal processor is only applicable to radar sensors and was developed to be compatible with the SUPPRESSOR method of STC processing. It adjusts the received power, clutter power, and jamming power of a sensor detection attempt result.

Constructor & Destructor Documentation

◆ WsfRadarSTC_SignalProcessor() [1/2]

WsfRadarSTC_SignalProcessor::WsfRadarSTC_SignalProcessor ( )

◆ WsfRadarSTC_SignalProcessor() [2/2]

WsfRadarSTC_SignalProcessor::WsfRadarSTC_SignalProcessor ( const WsfRadarSTC_SignalProcessor & aSrc)
default

◆ ~WsfRadarSTC_SignalProcessor()

WsfRadarSTC_SignalProcessor::~WsfRadarSTC_SignalProcessor ( )
overridedefault

Member Function Documentation

◆ Clone()

WsfSensorSignalProcessor * WsfRadarSTC_SignalProcessor::Clone ( ) const
overridevirtual

Return a copy of this object. Must be implemented by all derived types. If cloning is impossible, a WsfUncloneableException should be thrown.

Implements WsfSensorSignalProcessor.

References WsfRadarSTC_SignalProcessor().

◆ Execute()

◆ Initialize()

bool WsfRadarSTC_SignalProcessor::Initialize ( double aSimTime,
WsfSensor * aSensorPtr,
WsfSensorMode * aModePtr )
virtual

◆ ObjectFactory()

WsfSensorSignalProcessor * WsfRadarSTC_SignalProcessor::ObjectFactory ( const std::string & aTypeName)
static

The object factory for the STC signal processor type.

References WsfRadarSTC_SignalProcessor().

◆ operator=()

WsfRadarSTC_SignalProcessor & WsfRadarSTC_SignalProcessor::operator= ( const WsfRadarSTC_SignalProcessor & )
delete

◆ ProcessInput()

bool WsfRadarSTC_SignalProcessor::ProcessInput ( UtInput & aInput)
overridevirtual

Process input from a generic source.

Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.

Parameters
aInputa reference to a UtInput object.
Returns
'true' if the command was one recognized by the class or 'false' if not.
Exceptions
UtInput::ExceptionBase(or an object derived from it) if the command was recognized but contains some sort of error.
Note
If a derived class does not recognize the command (i.e.: the return value is false) then it should call the base class ProcessInput method. This chain should continue until either the command is recognized or the top-level base class is encountered.

Reimplemented from WsfObject.

References WsfSensorSignalProcessor::mDebug, and WsfSensorSignalProcessor::ProcessInput().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved