SAF
Loading...
Searching...
No Matches
saf_tracker

Files

file  saf_tracker.c
 Particle filtering based 3D multi-target tracker (SAF_TRACKER_MODULE)
 
file  saf_tracker.h
 Particle filtering based 3D multi-target tracker (SAF_TRACKER_MODULE)
 
file  saf_tracker_internal.c
 Particle filtering based 3D multi-target tracker (SAF_TRACKER_MODULE)
 
file  saf_tracker_internal.h
 Particle filtering based 3D multi-target tracker (SAF_TRACKER_MODULE)
 

Data Structures

struct  tracker3d_config
 User parameters for tracker3d. More...
 

Functions

void tracker3d_create (void **const phT3d, tracker3d_config tpars)
 Creates an instance of the mighty tracker3d.
 
void tracker3d_destroy (void **const phT3d)
 Destroys an instance of the mighty tracker3d.
 
void tracker3d_reset (void *const hT3d)
 Resets an instance of the mighty tracker3d.
 
void tracker3d_step (void *const hT3d, float *newObs_xyz, int nObs, float **target_pos_xyz, float **target_var_xyz, int **target_IDs, int *nTargets)
 Tracker time step to update & predict current target locations and to parse new measurements/observations, as described in [1].
 

Detailed Description

Particle-filtering based 3D multi-target tracker

Function Documentation

◆ tracker3d_create()

void tracker3d_create ( void **const phT3d,
tracker3d_config tpars )

Creates an instance of the mighty tracker3d.

Test
test__tracker3d()
Parameters
[in]phT3d(&) address of tracker3d handle
[in]tparsTracker configuration/user parameter struct

Definition at line 49 of file saf_tracker.c.

◆ tracker3d_destroy()

void tracker3d_destroy ( void **const phT3d)

Destroys an instance of the mighty tracker3d.

Parameters
[in]phT3d(&) address of tracker3d handle

Definition at line 126 of file saf_tracker.c.

◆ tracker3d_reset()

void tracker3d_reset ( void *const hT3d)

Resets an instance of the mighty tracker3d.

Parameters
[in]hT3dtracker3d handle

Definition at line 154 of file saf_tracker.c.

◆ tracker3d_step()

void tracker3d_step ( void *const hT3d,
float * newObs_xyz,
int nObs,
float ** target_pos_xyz,
float ** target_var_xyz,
int ** target_IDs,
int * nTargets )

Tracker time step to update & predict current target locations and to parse new measurements/observations, as described in [1].

Note
It is assumed that this will be called every step in time (tpars.dt). If there are no new observations/measurements then still call this function, but set newObs_xyz=NULL and/or, nObs=0.
Parameters
[in]hT3dtracker3d handle
[in]newObs_xyzNew observations/measurements; nObs x 3
[in]nObsNumber of new observations/measurements
[out]target_pos_xyz(&) Current target positions; nTargets x 3
[out]target_var_xyz(&) Current target variances; nTargets x 3
[out]target_IDs(&) Unique target IDs; nTargets x 1
[out]nTargets(&) Current number of targets being tracked
See also
[1] McCormack, L., Politis, A. Sa"rkka", S., and Pulkki, V., 2021. Real-Time Tracking of Multiple Acoustical Sources Utilising Rao-Blackwellised Particle Filtering. In 29th European Signal Processing Conference (EUSIPCO), (pp. 206-210).

Definition at line 167 of file saf_tracker.c.