|
WSF
|
#include <MTT.hpp>

Public Member Functions | |
| MTT () | |
| MTT (const MTT &aSrc) | |
| MTT & | operator= (const MTT &)=delete |
| ~MTT ()=default | |
| MTT * | Clone () const |
| bool | ProcessInput (UtInput &aInput) |
| WsfMTT_Interface * | GetInterface () const |
| MTT_Tracks & | GetTracks () |
| const MTT_Parameters & | GetParameters () const |
| MTT_Parameters & | GetParameters () |
| void | SetParameters (const MTT_Parameters &aParameters) |
| void | SetTrackManager (WsfTrackManager *aTrackManager) |
| Called from MTT_Fusion/MTT_Correlation during initialization. | |
| void | SaveData (MTT_PerceivedCluster *aNonLocalTrackPtr, MTT_ActiveTrack::Data *aTempData, MTT_ActiveTrack *aLocalTrackPtr) |
| Save temporary data from the correlation step, that is needed for fusion. | |
| bool | RemoveSavedData (int aMTT_TrackId, MTT_PerceivedCluster *&aNonLocalTrackPtr, MTT_ActiveTrack::Data *&aTempData, MTT_ActiveTrack *&aLocalTrackPtr) |
| MTT_ActiveTrack * | MTT_Correlate (double aSimTime, const MTT_PerceivedCluster &aNonlocalTrack, MTT_ActiveTrack::Data &aTempActiveData) |
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | |
| void | MTT_Fuse (double aSimTime, const MTT_PerceivedCluster &aNonlocalTrack, MTT_ActiveTrack &aLocalTrack, MTT_ActiveTrack::Data &aTempActiveData) |
| Top-level fusion method. | |
| void | mttc2a (const MTT_CandidateTrack::Data &aCandidateTrackData, MTT_ActiveTrack::Data &aActiveTrackData, bool &aError) |
| Multiple target tracking - promote candidate track. | |
| MTT_ActiveTrack * | mttcat (double aSimTime, const MTT_PerceivedCluster &aMeasurement) |
| Multiple target tracking - check active track. | |
| int | mttcct (double aSimTime, const MTT_PerceivedCluster &aMeasurement, MTT_ActiveTrack *&aActiveTrackPtr) |
| void | mttpvf (const UtMatrixd &aVerticalCovariance, MTT_Track &aCandidateTrack) |
| void | mttdps_Correlation (const double &aSimTime, const MTT_PerceivedCluster &aMeasurement, MTT_ActiveTrack *&aTrackPtr) |
| Multiple target tracking - detection processing system (correlation). | |
| void | mttdps_Fusion (const double &aSimTime, const MTT_PerceivedCluster &aMeasurement, MTT_ActiveTrack *aTrackPtr) |
| Multiple target tracking - detection processing system (fusion). | |
| void | mttet (double aSimTime, const MTT_PerceivedCluster &aMeasurement) |
| Multiple target tracking - update embryonic tracks. | |
| void | mttgtm (const MTT_ActiveTrack::Data &aActiveTrackData, const MTT_Track &aTrackHeader, const MTT_Measurement &aMeasurement, const double &aDT, double &aHypothesisTestValue, double &aInnovationValue) |
| Multiple target tracking - measurement to trk gate test. | |
| void | mttgtt (const MTT_ActiveTrack::Data &aActiveTrackData, const MTT_ActiveTrack::Data &aTempActiveTrackData, double aDt, double &aTestValue, double &aInnovationValue) |
| void | mttlfp (double aDt, UtMatrixd &aCovarianceMatrix, UtMatrixd &aStateVector) |
| void | mttlfm (UtMatrixd &aStraightFlightStateVector, UtMatrixd &aStraightFlightErrorCovarianceMatrix, const UtMatrixd &aVerticalErrorCovarianceMatrix, const UtMatrixd &aVerticalFlightInformationState, const MTT_Track &aTrack, const MTT_Measurement &aMeasurement, double aDt, double &aStraightFlightLikelihood) |
| void | mttlfq (const UtMatrixd &aStraightFlightState, const UtMatrixd &aStraightFlightErrorCovariance, const UtMatrixd &aVerticalErrorCovariance, const UtMatrixd &aVerticalFlightState, const MTT_Track &aTrack, const MTT_Measurement &aMeasurement, double aDT, double &aHypothesisTestValue, double &aInnovationValue) |
| void | mtttfe (const MTT_PerceivedCluster &aMeasurement, const MTT_ActiveTrack::Data &aUpdateData, MTT_Track &aTrack, double aUpdateInterval, double aSimTime) |
| void | mttflf (UtMatrixd &aFilterStates, UtMatrixd &aHorizontalInfo, const UtMatrixd &aFilterStatesUpdate, const UtMatrixd &aHorizontalInfoUpdate, const UtMatrixd &aPrevFilterStates, const UtMatrixd &aPrevHorizInfoMatrix, double aDt, double &aLikelihoodValue) |
| void | mttftf (UtMatrixd &aFilterStates, UtMatrixd &aHorizontalInfo, const UtMatrixd &aFilterStatesUpdate, const UtMatrixd &aHorizontalInfoUpdate, const UtMatrixd &aPrevFilterStates, const UtMatrixd &aPrevHorizInfoMatrix, double aDt, double &aLikelihoodValue) |
| void | mtttfm (UtMatrixd &aTurningFlightStateVector, UtMatrixd &aTurningFlightErrorCovarianceMatrix, const UtMatrixd &aVerticalErrorCovarianceMatrix, const UtMatrixd &aVerticalFlightInformationState, const MTT_Track &aTrack, const MTT_Measurement &aMeasurement, double aDt, double &aTurningFlightLikelihood) |
| void | mtttfp (double aDt, UtMatrixd &aCovarianceMatrix, UtMatrixd &aStateVector) |
| void | mtttfq (const UtMatrixd &aTurningFlightState, const UtMatrixd &aTurningFlightErrorCovariance, const UtMatrixd &aVerticalErrorCovariance, const UtMatrixd &aVerticalFlightState, const MTT_Track &aTrack, const MTT_Measurement &aMeasurement, const double &aDT, double &aHypothesisTestValue, double &aInnovationValue) |
| void | mtttfs_Correlation (double aSimTime, const MTT_PerceivedCluster &aNonlocalTrack, MTT_ActiveTrack::Data &aTempActiveData, MTT_ActiveTrack *&aLocalTrackPtr) |
| void | mtttfs_Fusion (double aSimTime, const MTT_PerceivedCluster &aNonlocalTrack, MTT_ActiveTrack::Data &aTempActiveData, MTT_ActiveTrack *&aLocalTrackPtr) |
| void | mttuat (double aSimTime, const MTT_PerceivedCluster &aNonLocalTrack, MTT_Track &aActiveTrack) |
| Multiple target tracking - update an active track. | |
| void | mttuhf (double aSimTime, const MTT_PerceivedCluster &aMeasurement, MTT_ActiveTrack *&aTrackPtr) |
| Multiple target tracking - update height filter. | |
| void | mttuhi (double aDt, const UtMatrixd &aHorizontalAcceleration, UtMatrixd &aHorizontalInfoMatrix, UtMatrixd &aHorizontalState, const UtMatrixd &aConnectionMatrix, const UtMatrixd &aConnectionMatrixTranspose, const UtMatrixd &aDxDyCovariance, double aSensorLocationX, double aSensorLocationY, double aDx, double aDy, int aTrackType) |
| Multiple target tracking - update information filter. | |
| void | mttuvi (double aDt, const UtMatrixd &aVerticalInfoFilter, UtMatrixd &aVerticalInfoMatrix, UtMatrixd &aVerticalState, const UtMatrixd &aVerticalCandidateInfoFilter, double aSensorLocationZ, double aTargetLocationZ, unsigned aRangeValid, unsigned aElevationValid, int aTrackType) |
| Multiple target tracking - update vertical info filter. | |
| void | mttuvp (double aDt, const UtMatrixd &aVerticalInfoFilter, UtMatrixd &aVerticalInfoMatrix, UtMatrixd &aVerticalState, int aTrackType) |
| Multiple target tracking - update vertical info filter. | |
| void | mttalt (const MTT_ActiveTrack *aLocalTrackPtr, double &aAlt) |
Public Attributes | |
| WsfPerfectCorrelation | mHF_Correlator |
A container for data related to the Suppressor Multi-Target Tracker (MTT). This container stores data that may be related to both correlation and fusion, or neither, and they are necessary but redundant parts of the implementation (i.e., the functionality exists in the track manager, but data and code are necessary for functionality of the MTT. The architecture is for the correlator to own the MTT instance. That way ProcessInput can be called, and the object can be cloned. The correlator then calls "Register;" At that point the fuser has access to it by calling "GetMTT."
| MTT::MTT | ( | ) |
References mHF_Correlator.
Referenced by Clone(), MTT(), and operator=().
| MTT::MTT | ( | const MTT & | aSrc | ) |
References mHF_Correlator, and MTT().
|
default |
|
inline |
|
inline |
|
inline |
|
inline |
| MTT_ActiveTrack * MTT::MTT_Correlate | ( | double | aSimTime, |
| const MTT_PerceivedCluster & | aNonlocalTrack, | ||
| MTT_ActiveTrack::Data & | aTempActiveData ) |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Fortran-Converted routines from Suppressor 7+, mttexe.f
Generic distribution statement follows: Top-level correlation method.
References MTT_PerceivedCluster::mCombinedTrackPtr, MTT_PerceivedCluster::mMeasurementPtr, mttdps_Correlation(), and mtttfs_Correlation().
| void MTT::MTT_Fuse | ( | double | aSimTime, |
| const MTT_PerceivedCluster & | aNonlocalTrack, | ||
| MTT_ActiveTrack & | aLocalTrack, | ||
| MTT_ActiveTrack::Data & | aTempActiveData ) |
Top-level fusion method.
References MTT_PerceivedCluster::mCombinedTrackPtr, MTT_PerceivedCluster::mMeasurementPtr, and mtttfs_Fusion().
| void MTT::mttalt | ( | const MTT_ActiveTrack * | aLocalTrackPtr, |
| double & | aAlt ) |
get altitude for an active track
| aLocalTrackPtr | The active track from which the altitude is extracted. |
| aAlt | (output) The perceived altitude. |
References MTT_ActiveTrack::GetData(), MTT_Track::mVerticalChannelActive, MTT_ActiveTrack::Data::mVerticalInfoMatrix, and MTT_ActiveTrack::Data::mVerticalState.
Referenced by mtttfs_Correlation().
| void MTT::mttc2a | ( | const MTT_CandidateTrack::Data & | aCandidateTrackData, |
| MTT_ActiveTrack::Data & | aActiveTrackData, | ||
| bool & | aError ) |
Multiple target tracking - promote candidate track.
References MTT_CandidateTrack::Data::mErrorInfoMatrix, MTT_ActiveTrack::Data::mFilterStates, MTT_ActiveTrack::Data::mHorizontalInfoMatrix, MTT_CandidateTrack::Data::mHorizontalState, MTT_ActiveTrack::Data::mPreviousFilterStates, MTT_ActiveTrack::Data::mPreviousHorizontalMatrix, MTT_ActiveTrack::Data::mStraightFlightModeProbability, MTT_ActiveTrack::Data::mTurningFlightModeProbability, MTT_CandidateTrack::Data::mVerticalErrorInfoMatrix, and MTT_ActiveTrack::Data::mVerticalInfoMatrix.
Referenced by mttcct().
| MTT_ActiveTrack * MTT::mttcat | ( | double | aSimTime, |
| const MTT_PerceivedCluster & | aMeasurement ) |
Multiple target tracking - check active track.
References WsfObserver::ActiveTrackDropped(), MTT_ActiveTrack::GetData(), MTT_Track::GetId(), MTT_PerceivedCluster::mMeasurementPtr, mttcat(), mttgtm(), MTT_Track::mUpdateTime, MTT_Track::mVerticalChannelActive, MTT_Track::mVerticalChannelUpdateTime, and MTT_ActiveTrack::Data::mVerticalInfoMatrix.
Referenced by mttcat(), and mttdps_Correlation().
| int MTT::mttcct | ( | double | aSimTime, |
| const MTT_PerceivedCluster & | aMeasurement, | ||
| MTT_ActiveTrack *& | aActiveTrackPtr ) |
Multiple target tracking - check candidate track. Note: In the fortran function, the address of the active track is returned if the candidate track is promoted, -1 if the CT is correlated but not promoted, and 0 if no CT is correlated. For C++ we can't return these results without nasty casts, so I'm returning an int result of -1, 0, 1 (1 corresponding with the first case above), and the address is an in/out pointer parameter. 10/14/2010 In the latest version, the function has been replaced by a subroutine, where the pointer to the new active track and the new active track id are returned. So the new conversion will be closer to the original fortran.
References WsfObserver::ActiveTrackInitiated(), WsfObserver::CandidateTrackDropped(), MTT_CandidateTrack::GetData(), MTT_Track::GetId(), MTT_Tracks::mActiveTrackCounter, MTT_RadarMeasurement::Data::mAzimuth, MTT_RadarMeasurement::Data::mAzimuthStDev, MTT_Tracks::mCandidateTracks, MTT_Measurement::mDataAvailable, MTT_Measurement::mDataPtr, MTT_Track::mDataPtr, MTT_RadarMeasurement::Data::mElevation, MTT_RadarMeasurement::Data::mElevationStDev, MTT_CandidateTrack::Data::mErrorInfoMatrix, MTT_CandidateTrack::Data::mHorizontalState, MTT_PerceivedCluster::mMeasurementPtr, MTT_RadarMeasurement::Data::mRange, MTT_RadarMeasurement::Data::mRangeStDev, MTT_RadarMeasurement::Data::mSensorLocation, MTT_Track::mTrackId, mttc2a(), mttcct(), mttgtm(), mttpvf(), mttuat(), mttuhi(), mttuvi(), MTT_Track::mUpdateTime, MTT_Track::mVerticalChannelActive, MTT_Track::mVerticalChannelUpdateTime, MTT_CandidateTrack::Data::mVerticalErrorInfoMatrix, and MTT_CandidateTrack::Data::mVerticalState.
Referenced by mttcct(), and mttdps_Correlation().
| void MTT::mttdps_Correlation | ( | const double & | aSimTime, |
| const MTT_PerceivedCluster & | aMeasurement, | ||
| MTT_ActiveTrack *& | aTrackPtr ) |
Multiple target tracking - detection processing system (correlation).
References MTT_Track::mTrackId, MTT_PerceivedCluster::mTrackNumber, mttcat(), mttcct(), mttet(), mttuat(), and mttuhf().
Referenced by MTT_Correlate().
| void MTT::mttdps_Fusion | ( | const double & | aSimTime, |
| const MTT_PerceivedCluster & | aMeasurement, | ||
| MTT_ActiveTrack * | aTrackPtr ) |
Multiple target tracking - detection processing system (fusion).
References MTT_PerceivedCluster::mTrackNumber, and mttuhf().
| void MTT::mttet | ( | double | aSimTime, |
| const MTT_PerceivedCluster & | aMeasurement ) |
Multiple target tracking - update embryonic tracks.
References WsfObserver::CandidateTrackInitiated(), MTT_CandidateTrack::Data::CopyFromEmbryonicData(), WsfObserver::EmbryonicTrackDropped(), WsfObserver::EmbryonicTrackInitiated(), MTT_EmbryonicTrack::GetData(), MTT_RadarMeasurement::GetData(), MTT_Track::GetId(), MTT_RadarMeasurement::Data::mAzimuth, MTT_RadarMeasurement::Data::mAzimuthStDev, MTT_PerceivedCluster::mConsecutiveSingleSourceHits, MTT_Measurement::mDataAvailable, MTT_RadarMeasurement::Data::mElevation, MTT_RadarMeasurement::Data::mElevationStDev, MTT_CandidateTrack::Data::mErrorInfoMatrix, MTT_EmbryonicTrack::Data::mErrorInfoMatrix, MTT_CandidateTrack::Data::mHorizontalState, MTT_EmbryonicTrack::Data::mHorizontalState, MTT_PerceivedCluster::mMeasurementPtr, MTT_RadarMeasurement::Data::mRange, MTT_RadarMeasurement::Data::mRangeStDev, MTT_RadarMeasurement::Data::mSensorLocation, MTT_Track::mTrackId, mttpvf(), mttuhi(), mttuvi(), MTT_Track::mUpdateTime, MTT_Track::mVerticalChannelActive, MTT_Track::mVerticalChannelUpdateTime, MTT_CandidateTrack::Data::mVerticalErrorInfoMatrix, MTT_EmbryonicTrack::Data::mVerticalErrorInfoMatrix, MTT_CandidateTrack::Data::mVerticalState, MTT_EmbryonicTrack::Data::mVerticalState, and pi.
Referenced by mttdps_Correlation().
| void MTT::mttflf | ( | UtMatrixd & | aFilterStates, |
| UtMatrixd & | aHorizontalInfo, | ||
| const UtMatrixd & | aFilterStatesUpdate, | ||
| const UtMatrixd & | aHorizontalInfoUpdate, | ||
| const UtMatrixd & | aPrevFilterStates, | ||
| const UtMatrixd & | aPrevHorizInfoMatrix, | ||
| double | aDt, | ||
| double & | aLikelihoodValue ) |
| void MTT::mttftf | ( | UtMatrixd & | aFilterStates, |
| UtMatrixd & | aHorizontalInfo, | ||
| const UtMatrixd & | aFilterStatesUpdate, | ||
| const UtMatrixd & | aHorizontalInfoUpdate, | ||
| const UtMatrixd & | aPrevFilterStates, | ||
| const UtMatrixd & | aPrevHorizInfoMatrix, | ||
| double | aDt, | ||
| double & | aLikelihoodValue ) |
| void MTT::mttgtm | ( | const MTT_ActiveTrack::Data & | aActiveTrackData, |
| const MTT_Track & | aTrackHeader, | ||
| const MTT_Measurement & | aMeasurement, | ||
| const double & | aDT, | ||
| double & | aHypothesisTestValue, | ||
| double & | aInnovationValue ) |
Multiple target tracking - measurement to trk gate test.
References MTT_ActiveTrack::Data::mFilterStates, MTT_ActiveTrack::Data::mHorizontalInfoMatrix, mttlfq(), mtttfq(), MTT_ActiveTrack::Data::mVerticalInfoMatrix, and MTT_ActiveTrack::Data::mVerticalState.
| void MTT::mttgtt | ( | const MTT_ActiveTrack::Data & | aActiveTrackData, |
| const MTT_ActiveTrack::Data & | aTempActiveTrackData, | ||
| double | aDt, | ||
| double & | aTestValue, | ||
| double & | aInnovationValue ) |
Multiple target tracking - track to track gate test.
| aActiveTrackData | (active track data) |
| aTempActiveTrackData | (measurement data) |
| aDt | Time difference between measurment and last track update. |
| aTestValue | TODO_MIKE please document. |
| aInnovationValue | (test value to determine if within error ellipse) |
References MTT_ActiveTrack::Data::mFilterStates, MTT_ActiveTrack::Data::mHorizontalInfoMatrix, mttlfp(), and mtttfp().
Referenced by mtttfs_Correlation().
| void MTT::mttlfm | ( | UtMatrixd & | aStraightFlightStateVector, |
| UtMatrixd & | aStraightFlightErrorCovarianceMatrix, | ||
| const UtMatrixd & | aVerticalErrorCovarianceMatrix, | ||
| const UtMatrixd & | aVerticalFlightInformationState, | ||
| const MTT_Track & | aTrack, | ||
| const MTT_Measurement & | aMeasurement, | ||
| double | aDt, | ||
| double & | aStraightFlightLikelihood ) |
Multiple target tracking - update straight-flight model with measurement
| aStraightFlightStateVector | (straight-flight state vector) |
| aStraightFlightErrorCovarianceMatrix | (straight-flight error covariance matrix) |
| aVerticalErrorCovarianceMatrix | (vertical error covariance matrix) |
| aVerticalFlightInformationState | (vertical-flight information state) |
| aTrack | (pointer to track header) |
| aMeasurement | (pointer to measurement header block) |
| aDt | The time difference between measurment and last track update. |
| aStraightFlightLikelihood | (likelihood of straight-flight) |
References MTT_RadarMeasurement::GetData(), MTT_RadarMeasurement::Data::mAzimuth, MTT_RadarMeasurement::Data::mAzimuthStDev, MTT_Measurement::mDataAvailable, MTT_RadarMeasurement::Data::mElevation, MTT_RadarMeasurement::Data::mRange, MTT_RadarMeasurement::Data::mRangeRate, MTT_RadarMeasurement::Data::mRangeRateStDev, MTT_RadarMeasurement::Data::mRangeStDev, MTT_RadarMeasurement::Data::mSensorLocation, MTT_RadarMeasurement::Data::mSensorVelocity, mttlfp(), and MTT_Track::mVerticalChannelActive.
Referenced by mttuat().
| void MTT::mttlfp | ( | double | aDt, |
| UtMatrixd & | aCovarianceMatrix, | ||
| UtMatrixd & | aStateVector ) |
| void MTT::mttlfq | ( | const UtMatrixd & | aStraightFlightState, |
| const UtMatrixd & | aStraightFlightErrorCovariance, | ||
| const UtMatrixd & | aVerticalErrorCovariance, | ||
| const UtMatrixd & | aVerticalFlightState, | ||
| const MTT_Track & | aTrack, | ||
| const MTT_Measurement & | aMeasurement, | ||
| double | aDt, | ||
| double & | aHypothesisTestValue, | ||
| double & | aInnovationValue ) |
Multiple target tracking - gate querry for straight-flight.
| aStraightFlightState | (straight-flight state vector) |
| aStraightFlightErrorCovariance | (straight-flight error covariance matrix) |
| aVerticalErrorCovariance | (vertical error covariance matrix) |
| aVerticalFlightState | (vertical-flight information state) |
| aTrack | (track header) |
| aMeasurement | (measurement header) |
| aDt | Time difference between measurment and last track update. |
| aHypothesisTestValue | TODO_MIKE Please document. |
| aInnovationValue | (hypothesis test value) |
References MTT_RadarMeasurement::GetData(), MTT_RadarMeasurement::Data::mAzimuth, MTT_RadarMeasurement::Data::mAzimuthStDev, MTT_Measurement::mDataAvailable, MTT_RadarMeasurement::Data::mElevation, MTT_RadarMeasurement::Data::mRange, MTT_RadarMeasurement::Data::mRangeStDev, MTT_RadarMeasurement::Data::mSensorLocation, mttlfp(), and MTT_Track::mVerticalChannelActive.
Referenced by mttgtm().
| void MTT::mttpvf | ( | const UtMatrixd & | aVerticalCovariance, |
| MTT_Track & | aCandidateTrack ) |
References MTT_Track::mVerticalChannelActive.
| void MTT::mtttfe | ( | const MTT_PerceivedCluster & | aMeasurement, |
| const MTT_ActiveTrack::Data & | aUpdateData, | ||
| MTT_Track & | aTrack, | ||
| double | aUpdateInterval, | ||
| double | aSimTime ) |
Given that an external track correlated statistically with a local active track, combine the external with the local using a centralized kalman filter.
!!! (mjm) check this (todo)
References MTT_PerceivedCluster::mCombinedTrackPtr, MTT_Track::mDataPtr, MTT_ActiveTrack::Data::mFilterStates, MTT_ActiveTrack::Data::mHorizontalInfoMatrix, MTT_ActiveTrack::Data::mPreviousFilterStates, MTT_ActiveTrack::Data::mPreviousHorizontalMatrix, MTT_ActiveTrack::Data::mStraightFlightModeProbability, mttflf(), mttftf(), mtttfp(), mttuvp(), MTT_ActiveTrack::Data::mTurningFlightModeProbability, MTT_NonlocalTrack::mUpdateFlag, MTT_Track::mVerticalChannelActive, MTT_Track::mVerticalChannelUpdateTime, MTT_ActiveTrack::Data::mVerticalInfoMatrix, and MTT_ActiveTrack::Data::mVerticalState.
Referenced by mtttfs_Fusion().
| void MTT::mtttfm | ( | UtMatrixd & | aTurningFlightStateVector, |
| UtMatrixd & | aTurningFlightErrorCovarianceMatrix, | ||
| const UtMatrixd & | aVerticalErrorCovarianceMatrix, | ||
| const UtMatrixd & | aVerticalFlightInformationState, | ||
| const MTT_Track & | aTrack, | ||
| const MTT_Measurement & | aMeasurement, | ||
| double | aDt, | ||
| double & | aTurningFlightLikelihood ) |
Multiple target tracking - update turning flight model with measurement.
| aTurningFlightStateVector | (turning-flight state vector) |
| aTurningFlightErrorCovarianceMatrix | (turning-flight error covariance matrix) |
| aVerticalErrorCovarianceMatrix | (vertical error covariance matrix) |
| aVerticalFlightInformationState | (vertical-flight information state) |
| aTrack | (track header) |
| aMeasurement | (measurement header block) |
| aDt | Time difference between measurment and last track update. |
| aTurningFlightLikelihood | (likelihood of turning-flight) |
References MTT_RadarMeasurement::GetData(), MTT_RadarMeasurement::Data::mAzimuth, MTT_RadarMeasurement::Data::mAzimuthStDev, MTT_Measurement::mDataAvailable, MTT_RadarMeasurement::Data::mElevation, MTT_RadarMeasurement::Data::mRange, MTT_RadarMeasurement::Data::mRangeRate, MTT_RadarMeasurement::Data::mRangeRateStDev, MTT_RadarMeasurement::Data::mRangeStDev, MTT_RadarMeasurement::Data::mSensorLocation, MTT_RadarMeasurement::Data::mSensorVelocity, mtttfp(), and MTT_Track::mVerticalChannelActive.
Referenced by mttuat().
| void MTT::mtttfp | ( | double | aDt, |
| UtMatrixd & | aCovarianceMatrix, | ||
| UtMatrixd & | aStateVector ) |
| void MTT::mtttfq | ( | const UtMatrixd & | aTurningFlightState, |
| const UtMatrixd & | aTurningFlightErrorCovariance, | ||
| const UtMatrixd & | aVerticalErrorCovariance, | ||
| const UtMatrixd & | aVerticalFlightState, | ||
| const MTT_Track & | aTrack, | ||
| const MTT_Measurement & | aMeasurement, | ||
| const double & | aDt, | ||
| double & | aHypothesisTestValue, | ||
| double & | aInnovationValue ) |
Multiple target tracking - gate querry turning flight.
| aTurningFlightState | (turning flight state vector) |
| aTurningFlightErrorCovariance | (turning flight error covariance matrix) |
| aVerticalErrorCovariance | (vertical error covariance matrix) |
| aVerticalFlightState | (vertical-flight information state) |
| aTrack | (track header) |
| aMeasurement | (measurement header) |
| aDt | Time difference between measurment and last track update. |
| aHypothesisTestValue | TODO_MIKE Please document. |
| aInnovationValue | (hypothesis test value) |
References MTT_RadarMeasurement::GetData(), MTT_RadarMeasurement::Data::mAzimuth, MTT_RadarMeasurement::Data::mAzimuthStDev, MTT_Measurement::mDataAvailable, MTT_RadarMeasurement::Data::mElevation, MTT_RadarMeasurement::Data::mRange, MTT_RadarMeasurement::Data::mRangeStDev, MTT_RadarMeasurement::Data::mSensorLocation, mtttfp(), and MTT_Track::mVerticalChannelActive.
Referenced by mttgtm().
| void MTT::mtttfs_Correlation | ( | double | aSimTime, |
| const MTT_PerceivedCluster & | aNonlocalTrack, | ||
| MTT_ActiveTrack::Data & | aTempActiveData, | ||
| MTT_ActiveTrack *& | aLocalTrackPtr ) |
Multiple target tracking - track fusion system (correlation).
| aSimTime | The current simulation time in seconds. |
| aNonlocalTrack | A new target perception data. |
| aTempActiveData | Temp mtt header (383) data. |
| aLocalTrackPtr | Active track (384). |
!!!(mjm) Added the following line (error- todo report)
References WsfObserver::ActiveTrackDropped(), WsfObserver::ActiveTrackInitiated(), MTT_ActiveTrack::GetData(), MTT_Track::GetId(), MTT_Track::mAssignmentId, MTT_PerceivedCluster::mCombinedTrackPtr, MTT_NonlocalTrack::mFilter, MTT_NonlocalTrack::Filter::mFilteredState, MTT_ActiveTrack::Data::mFilterStates, MTT_NonlocalTrack::mHasVerticalData, MTT_ActiveTrack::Data::mHorizontalInfoMatrix, MTT_NonlocalTrack::Filter::mInformationMatrix, MTT_PerceivedCluster::mLastOriginatorId, MTT_PerceivedCluster::mLastSensorId, MTT_Track::mOriginatorId, MTT_NonlocalTrack::Filter::mPreviousFilteredState, MTT_ActiveTrack::Data::mPreviousFilterStates, MTT_ActiveTrack::Data::mPreviousHorizontalMatrix, MTT_NonlocalTrack::Filter::mPreviousInformationMatrix, MTT_Track::mSensorId, MTT_ActiveTrack::Data::mStraightFlightModeProbability, MTT_Track::mTrackId, mttalt(), mttgtt(), mtttfp(), mttuvp(), MTT_ActiveTrack::Data::mTurningFlightModeProbability, MTT_NonlocalTrack::Filter::mUpdateTime, MTT_Track::mUpdateTime, MTT_Track::mVerticalChannelActive, MTT_Track::mVerticalChannelUpdateTime, MTT_ActiveTrack::Data::mVerticalInfoMatrix, MTT_NonlocalTrack::Filter::mVerticalInformationMatrix, MTT_ActiveTrack::Data::mVerticalState, MTT_NonlocalTrack::Filter::mX_Acceleration, MTT_NonlocalTrack::Filter::mY_Acceleration, and MTT_ActiveTrack::SetData().
Referenced by MTT_Correlate().
| void MTT::mtttfs_Fusion | ( | double | aSimTime, |
| const MTT_PerceivedCluster & | aNonlocalTrack, | ||
| MTT_ActiveTrack::Data & | aTempActiveData, | ||
| MTT_ActiveTrack *& | aLocalTrackPtr ) |
Multiple target tracking - track fusion system (fusion).
| aSimTime | The current simulation time in seconds. |
| aNonlocalTrack | A new target perception data. |
| aTempActiveData | Temp mtt header (383) data. |
| aLocalTrackPtr | Active track (384). |
References mtttfe(), and MTT_Track::mUpdateTime.
Referenced by MTT_Fuse().
| void MTT::mttuat | ( | double | aSimTime, |
| const MTT_PerceivedCluster & | aNonLocalTrack, | ||
| MTT_Track & | aActiveTrack ) |
Multiple target tracking - update an active track.
!!! (mjm) check this (todo)
References MTT_RadarMeasurement::GetData(), MTT_Measurement::mDataAvailable, MTT_Track::mDataPtr, MTT_RadarMeasurement::Data::mElevation, MTT_RadarMeasurement::Data::mElevationStDev, MTT_ActiveTrack::Data::mFilterStates, MTT_ActiveTrack::Data::mHorizontalInfoMatrix, MTT_PerceivedCluster::mMeasurementPtr, MTT_ActiveTrack::Data::mPreviousFilterStates, MTT_ActiveTrack::Data::mPreviousHorizontalMatrix, MTT_RadarMeasurement::Data::mRange, MTT_RadarMeasurement::Data::mRangeStDev, MTT_RadarMeasurement::Data::mSensorLocation, MTT_ActiveTrack::Data::mStraightFlightModeProbability, mttlfm(), mttpvf(), mtttfm(), mtttfp(), mttuvi(), MTT_ActiveTrack::Data::mTurningFlightModeProbability, MTT_Track::mUpdateTime, MTT_Track::mVerticalChannelUpdateTime, MTT_ActiveTrack::Data::mVerticalInfoMatrix, and MTT_ActiveTrack::Data::mVerticalState.
Referenced by mttcct(), and mttdps_Correlation().
| void MTT::mttuhf | ( | double | aSimTime, |
| const MTT_PerceivedCluster & | aMeasurement, | ||
| MTT_ActiveTrack *& | aTrackPtr ) |
Multiple target tracking - update height filter.
References MTT_ActiveTrack::GetData(), MTT_RadarMeasurement::GetData(), MTT_Measurement::mDataAvailable, MTT_RadarMeasurement::Data::mElevation, MTT_RadarMeasurement::Data::mElevationStDev, MTT_ActiveTrack::Data::mFilterStates, MTT_ActiveTrack::Data::mHorizontalInfoMatrix, MTT_PerceivedCluster::mMeasurementPtr, MTT_ActiveTrack::Data::mPreviousFilterStates, MTT_ActiveTrack::Data::mPreviousHorizontalMatrix, MTT_RadarMeasurement::Data::mRange, MTT_RadarMeasurement::Data::mRangeStDev, MTT_RadarMeasurement::Data::mSensorLocation, MTT_PerceivedCluster::mTrackNumber, mttpvf(), mtttfp(), mttuvi(), MTT_Track::mUpdateTime, MTT_Track::mVerticalChannelUpdateTime, MTT_ActiveTrack::Data::mVerticalInfoMatrix, and MTT_ActiveTrack::Data::mVerticalState.
Referenced by mttdps_Correlation(), and mttdps_Fusion().
| void MTT::mttuhi | ( | double | aDt, |
| const UtMatrixd & | aHorizontalAcceleration, | ||
| UtMatrixd & | aHorizontalInfoMatrix, | ||
| UtMatrixd & | aHorizontalState, | ||
| const UtMatrixd & | aConnectionMatrix, | ||
| const UtMatrixd & | aConnectionMatrixTranspose, | ||
| const UtMatrixd & | aDxDyCovariance, | ||
| double | aSensorLocationX, | ||
| double | aSensorLocationY, | ||
| double | aDx, | ||
| double | aDy, | ||
| int | aTrackType ) |
| void MTT::mttuvi | ( | double | aDt, |
| const UtMatrixd & | aVerticalInfoFilter, | ||
| UtMatrixd & | aVerticalInfoMatrix, | ||
| UtMatrixd & | aVerticalState, | ||
| const UtMatrixd & | aVerticalCandidateInfoFilter, | ||
| double | aSensorLocationZ, | ||
| double | aTargetLocationZ, | ||
| unsigned | aRangeValid, | ||
| unsigned | aElevationValid, | ||
| int | aTrackType ) |
| void MTT::mttuvp | ( | double | aDt, |
| const UtMatrixd & | aVerticalInfoFilter, | ||
| UtMatrixd & | aVerticalInfoMatrix, | ||
| UtMatrixd & | aVerticalState, | ||
| int | aTrackType ) |
Multiple target tracking - update vertical info filter.
Referenced by mtttfe(), mtttfs_Correlation(), and mttuvi().
| bool MTT::ProcessInput | ( | UtInput & | aInput | ) |
Process input from a generic source.
| aInput | The input source. |
| bool MTT::RemoveSavedData | ( | int | aMTT_TrackId, |
| MTT_PerceivedCluster *& | aNonLocalTrackPtr, | ||
| MTT_ActiveTrack::Data *& | aTempDataPtr, | ||
| MTT_ActiveTrack *& | aLocalTrackPtr ) |
Remove data saved between correlation and fusion steps. The data should be deleted after use.
| void MTT::SaveData | ( | MTT_PerceivedCluster * | aNonLocalTrackPtr, |
| MTT_ActiveTrack::Data * | aTempData, | ||
| MTT_ActiveTrack * | aLocalTrackPtr ) |
Save temporary data from the correlation step, that is needed for fusion.
References MTT_Track::mTrackId.
|
inline |
| void MTT::SetTrackManager | ( | WsfTrackManager * | aTrackManager | ) |
Called from MTT_Fusion/MTT_Correlation during initialization.
References WsfMTT_Interface::Find(), WsfTrackManager::GetSimulation(), and mHF_Correlator.
| WsfPerfectCorrelation MTT::mHF_Correlator |
Referenced by MTT(), MTT(), and SetTrackManager().