Data Structures | Macros | Enumerations | Functions
gtrack_int.h File Reference

This is the internal header file for GTRACK Algorithm. More...

#include <stdint.h>
#include "gtrack_listlib.h"

Data Structures

union  MATRIX3x3
 3x3 Matrix Definition More...
 
union  MATRIX4x4
 4x4 Matrix Definition More...
 
union  MATRIX6x6
 6x6 Matrix Definition More...
 
struct  TrackingParams
 GTRACK Unit Parameters structure. More...
 
struct  GtrackUnitInstance
 GTRACK Unit instance structure. More...
 
struct  GtrackModuleInstance
 GTRACK Module instance structure. More...
 

Macros

#define VERBOSE_ERROR_INFO   0x00000001
 Macros that define values to use for TrackingParams::verbose when specifying the required verboseness. More...
 
#define VERBOSE_WARNING_INFO   0x00000002
 
#define VERBOSE_DEBUG_INFO   0x00000004
 
#define VERBOSE_MATRIX_INFO   0x00000008
 
#define VERBOSE_UNROLL_INFO   0x00000010
 
#define VERBOSE_STATE_INFO   0x00000020
 
#define VERBOSE_ASSOSIATION_INFO   0x00000040
 
#define VERBOSE_GATEXY_INFO   0x00000080
 
#define VERBOSE_GATERA_INFO   0x00000100
 
#define VERBOSE_GATEG1_INFO   0x00000200
 

Enumerations

Functions

void gtrack_modulePredict (GtrackModuleInstance *inst)
 
void gtrack_moduleAssociate (GtrackModuleInstance *inst, GTRACK_measurementPoint *point, uint16_t num)
 
void gtrack_moduleAllocate (GtrackModuleInstance *inst, GTRACK_measurementPoint *point, uint16_t num)
 
void gtrack_moduleUpdate (GtrackModuleInstance *inst, GTRACK_measurementPoint *point, GTRACK_measurement_vector *var, uint16_t num)
 
void gtrack_moduleReport (GtrackModuleInstance *inst, GTRACK_targetDesc *t, uint16_t *tNum)
 
void * gtrack_unitCreate (TrackingParams *params, int32_t *errCode)
 
void gtrack_unitDelete (void *handle)
 
void gtrack_unitStart (void *handle, uint64_t timeStamp, uint32_t tid, GTRACK_measurement_vector *u)
 
void gtrack_unitStop (void *handle)
 
void gtrack_unitPredict (void *handle)
 
TrackState gtrack_unitUpdate (void *handle, GTRACK_measurementPoint *point, GTRACK_measurement_vector *var, uint8_t *pInd, uint16_t num)
 
void gtrack_unitScore (void *handle, GTRACK_measurementPoint *point, float *bestScore, uint8_t *bestInd, uint16_t num)
 
void gtrack_unitEvent (void *handle, uint16_t num)
 
void gtrack_unitReport (void *handle, GTRACK_targetDesc *target)
 
void gtrack_unitGetH (void *handle, float *H)
 
float gtrack_unrollRadialVelocity (float rvMax, float rvExp, float rvIn)
 
void gtrack_spherical2cartesian (GTRACK_STATE_VECTOR_TYPE format, float *sph, float *cart)
 
void gtrack_cartesian2spherical (GTRACK_STATE_VECTOR_TYPE format, float *cart, float *sph)
 
void gtrack_computeJacobian (GTRACK_STATE_VECTOR_TYPE format, float *cart, float *jac)
 
void gtrack_sph2cart (GTRACK_measurement_vector *v, GTRACK_cartesian_position *c)
 
float gtrack_calcDistance (GTRACK_measurement_vector *v1, GTRACK_measurement_vector *v2)
 
void gtrack_calcDim (float *mSpread, float R, float *tDim)
 
uint8_t gtrack_isPointInsideBox (GTRACK_cartesian_position *c, GTRACK_boundaryBox *box)
 
void gtrack_sincosd (float theta, float *pSinVal, float *pCosVal)
 
void gtrack_matrixInit (uint16_t rows, uint16_t cols, float value, float *A)
 
void gtrack_matrixEye (uint16_t size, float *A)
 
void gtrack_matrixSetDiag (uint16_t size, float *v, float *A)
 
void gtrack_matrixGetDiag (uint16_t size, float *A, float *v)
 
void gtrack_vectorInit (uint16_t size, float value, float *A)
 
void gtrack_vectorAdd (uint16_t size, float *A, float *B, float *C)
 
void gtrack_vectorSub (uint16_t size, float *A, float *B, float *C)
 
void gtrack_vectorScalarMul (uint16_t size, float *A, float c, float *B)
 
void gtrack_vectorScalarMulAcc (uint16_t size, float *A, float c, float *B)
 
void gtrack_vectorFilter (uint16_t size, float *A, float alpha, float *B)
 
void gtrack_matrixCovAcc (uint16_t size, float *A, float *v, float *mean)
 
void gtrack_matrixCovNormalize (uint16_t size, float *A, uint16_t num)
 
void gtrack_matrixCovFilter (uint16_t size, float *A, float *B, float alpha)
 
void gtrack_matrixMultiply (uint16_t m1, uint16_t m2, uint16_t m3, float *A, float *B, float *C)
 
void gtrack_matrixComputePJT (float *P, float *J, float *PJ)
 
void gtrack_matrixTransposeMultiply (uint16_t rows, uint16_t m, uint16_t cols, float *A, float *B, float *C)
 
void gtrack_matrixScalarMultiply (uint16_t m1, uint16_t m2, float *A, float c, float *B)
 
void gtrack_matrixAdd (uint16_t m1, uint16_t m2, float *A, float *B, float *C)
 
void gtrack_matrixSub (uint16_t m1, uint16_t m2, float *A, float *B, float *C)
 
void gtrack_matrixInv (const float *A, float *det, float *Ainv)
 
void gtrack_matrixMakeSymmetrical (uint16_t m, float *A, float *B)
 
void gtrack_matrixCholesky (uint16_t dim, const float *A, float *G)
 
void gtrack_matrixPrint (uint16_t m1, uint16_t m2, float *A)
 
void gtrack_matrixPrint2 (uint16_t rows, uint16_t cols, float *A, float *B)
 

Detailed Description

This is the internal header file for GTRACK Algorithm.

NOTE: (C) Copyright 2017 Texas Instruments, Inc.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Macro Definition Documentation

#define VERBOSE_ASSOSIATION_INFO   0x00000040

Report association data

#define VERBOSE_DEBUG_INFO   0x00000004

Report Debuging information

#define VERBOSE_ERROR_INFO   0x00000001

Macros that define values to use for TrackingParams::verbose when specifying the required verboseness.

Report Errors

#define VERBOSE_GATEG1_INFO   0x00000200

Report unitary gating

#define VERBOSE_GATERA_INFO   0x00000100

Report gating in range/angle space

#define VERBOSE_GATEXY_INFO   0x00000080

Report gating in XY space

#define VERBOSE_MATRIX_INFO   0x00000008

Report Matrix math computations

#define VERBOSE_STATE_INFO   0x00000020

Report state transitions

#define VERBOSE_UNROLL_INFO   0x00000010

Report velocity unrolling data

#define VERBOSE_WARNING_INFO   0x00000002

Report Warnings

Enumeration Type Documentation

enum TrackState

GTRACK Unit State.

The structure describes GTRACK unit states

Enumerator
TRACK_STATE_FREE 

Free (not allocated)

TRACK_STATE_INIT 

INIT.

TRACK_STATE_DETECTION 

DETECTION State.

TRACK_STATE_ACTIVE 

ACTIVE State.

GTRACK Unit Velocity Handling State.

The structure describes GTRACK velocity handling states

Enumerator
VELOCITY_INIT 

INIT.

VELOCITY_RATE_FILTER 

Range Rate filtering.

VELOCITY_TRACKING 

Stabilizing Velocity Estimation.

VELOCITY_LOCKED 

Locked.


Copyright 2018, Texas Instruments Incorporated