WSF
WsfRadarMTI_SignalProcessor.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFRADARMTI_SIGNALPROCESSOR
13#define WSFRADARMTI_SIGNALPROCESSOR
14
15#include "wsf_export.h"
16
17#include "UtTable.hpp"
18#include "WsfSensor.hpp"
20
21class WsfMTI_Filter;
22
25
27{
28public:
35
40
41 static WsfSensorSignalProcessor* ObjectFactory(const std::string& aTypeName);
42
43 WsfSensorSignalProcessor* Clone() const override;
44
45 bool Initialize(double aSimTime, WsfSensor* aSensorPtr, WsfSensorMode* aModePtr, size_t aBeamIndex = 0) override;
46
47 bool ProcessInput(UtInput& aInput) override;
48
49 void Execute(double aSimTime, WsfSensorResult& aResult) override;
50
51private:
53
54 bool ProcessDataTableInput(UtInput& aInput);
55
57 double ComputeMTI_Response(const double aTgtBearing,
58 const double aTgtSlantRange,
59 const double aTgtDopplerFrequency,
60 const std::vector<double>& aPulseRepetitionFrequencies,
61 const int aTypeFlag);
62
64 double GetTableResponse(const double aTargetDopplerFrequency);
65
67 bool mFilterOwnshipFromDoppler;
68
70 MTI_Type mMTI_Type;
71
74 double mMTI_MinResponse; // dB
75
77 // std::vector<double> mMTI_MinRanges; // meters
78
80 // std::vector<double> mMTI_MaxRanges; // meters
81
83 // std::vector<double> mMTI_MinAngles; // radians
84
86 // std::vector<double> mMTI_MaxAngles; // radians
87
89 UtTable::Curve mResponseTable; // future implementation
90
91 WsfMTI_Filter* mMTI_Filter;
92};
93
94#endif
Definition WsfMTI_Filter.hpp:23
Definition WsfRadarMTI_SignalProcessor.hpp:27
static WsfSensorSignalProcessor * ObjectFactory(const std::string &aTypeName)
The object factory for the MTI signal processor type.
Definition WsfRadarMTI_SignalProcessor.cpp:69
WsfRadarMTI_SignalProcessor(MTI_Type aMTI_Type)
Constructor.
Definition WsfRadarMTI_SignalProcessor.cpp:30
void Execute(double aSimTime, WsfSensorResult &aResult) override
Definition WsfRadarMTI_SignalProcessor.cpp:213
WsfRadarMTI_SignalProcessor & operator=(const WsfRadarMTI_SignalProcessor &)=delete
bool ProcessInput(UtInput &aInput) override
Definition WsfRadarMTI_SignalProcessor.cpp:158
MTI_Type
Allowed MTI types.
Definition WsfRadarMTI_SignalProcessor.hpp:31
@ cMTIT_ALARM
Definition WsfRadarMTI_SignalProcessor.hpp:32
@ cMTIT_DATA_TABLE
ALARM Type Implementation.
Definition WsfRadarMTI_SignalProcessor.hpp:33
WsfSensorSignalProcessor * Clone() const override
Definition WsfRadarMTI_SignalProcessor.cpp:86
~WsfRadarMTI_SignalProcessor() override
Destructor.
Definition WsfRadarMTI_SignalProcessor.cpp:61
bool Initialize(double aSimTime, WsfSensor *aSensorPtr, WsfSensorMode *aModePtr, size_t aBeamIndex=0) override
Definition WsfRadarMTI_SignalProcessor.cpp:93
Definition WsfSensorMode.hpp:36
Definition WsfSensorResult.hpp:27
Definition WsfSensorSignalProcessor.hpp:35
Definition WsfSensor.hpp:92
Copyrights Multiple, All Rights Reserved