GNU Radio Radar Toolbox
tracking_singletarget.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2014 Communications Engineering Lab, KIT.
4
*
5
* This is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 3, or (at your option)
8
* any later version.
9
*
10
* This software is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this software; see the file COPYING. If not, write to
17
* the Free Software Foundation, Inc., 51 Franklin Street,
18
* Boston, MA 02110-1301, USA.
19
*/
20
21
22
#ifndef INCLUDED_RADAR_TRACKING_SINGLETARGET_H
23
#define INCLUDED_RADAR_TRACKING_SINGLETARGET_H
24
25
#include <gnuradio/block.h>
26
#include <
radar/api.h
>
27
28
namespace
gr
{
29
namespace
radar {
30
31
/*!
32
* \brief This block tracks a singletarget detection with a particle or kalman filter. As
33
* input values with identifiers 'range' and 'velocity' are needed and should hold a
34
* f32vector with only one element. All input variables tagged with std gives the standard
35
* deviation of the parameter. The threshold_track is a value which decides with the
36
* likelihood of the data if the new data is accepted as a track. A good starting value is
37
* threshold_track = 0.001. threshold_lost is the number of false tracks unitel the track
38
* is lost and the tracker begins with a new one. The string filter decides which tracking
39
* kernel should be used. 'kalman' or 'particle' are valid. If 'particle' is chosen
40
* num_particle gives the number of particles for the particle filter. If 'kalman' is
41
* chosen there is no effect on the tracker.
42
*
43
* \param num_particle Number of particles for particle filter. There is no effect if
44
* kalman filter is chosen. \param std_range_meas Standard deviation of the range
45
* measurement \param std_velocity_meas Standard deviation of the velocity measurement
46
* \param std_accel_sys Standard deviation of the system acceleration
47
* \param threshold_track Value to decide if data is valid for the track
48
* \param theshold_lost Number of false tracks until the current track is lost
49
* \param filter Filter kernel to be used. 'kalman' or 'particle' are valid.
50
*
51
* \ingroup radar
52
*
53
*/
54
class
RADAR_API
tracking_singletarget
:
virtual
public
gr::block
55
{
56
public
:
57
typedef
boost::shared_ptr<tracking_singletarget>
sptr
;
58
59
/*!
60
* \brief Return a shared_ptr to a new instance of radar::tracking_singletarget.
61
*
62
* To avoid accidental use of raw pointers, radar::tracking_singletarget's
63
* constructor is in a private implementation
64
* class. radar::tracking_singletarget::make is the public interface for
65
* creating new instances.
66
*/
67
static
sptr
make(
int
num_particle,
68
float
std_range_meas,
69
float
std_velocity_meas,
70
float
std_accel_sys,
71
float
threshold_track,
72
int
threshold_lost,
73
std::string filter);
74
};
75
76
}
// namespace radar
77
}
// namespace gr
78
79
#endif
/* INCLUDED_RADAR_TRACKING_SINGLETARGET_H */
gr::radar::tracking_singletarget
This block tracks a singletarget detection with a particle or kalman filter. As input values with ide...
Definition:
tracking_singletarget.h:54
RADAR_API
#define RADAR_API
Definition:
api.h:31
gr
Definition:
crop_matrix_vcvc.h:28
gr::radar::tracking_singletarget::sptr
boost::shared_ptr< tracking_singletarget > sptr
Definition:
tracking_singletarget.h:57
api.h
include
radar
tracking_singletarget.h
Generated by
1.8.17