GNU Radio Radar Toolbox
tracking_singletarget_impl.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 #ifndef INCLUDED_RADAR_TRACKING_SINGLETARGET_IMPL_H
22 #define INCLUDED_RADAR_TRACKING_SINGLETARGET_IMPL_H
23 
25 
26 namespace gr {
27 namespace radar {
28 
30 {
31 private:
32  // Nothing to declare in this block.
33 
34 public:
35  tracking_singletarget_impl(int num_particle,
36  float std_range_meas,
37  float std_velocity_meas,
38  float std_accel_sys,
39  float threshold_track,
40  int threshold_lost,
41  std::string filter);
43  void handle_msg(pmt::pmt_t msg);
44  bool tracking();
46  void filter_kalman();
47  float random_normal(float mean, float std);
48 
52 
54 
56  float d_delta_t;
57  int d_lost;
59  std::vector<std::vector<float>> Q, R, R_inv, P, K;
61  float R_det;
64  std::string d_filter;
65 };
66 
67 } // namespace radar
68 } // namespace gr
69 
70 #endif /* INCLUDED_RADAR_TRACKING_SINGLETARGET_IMPL_H */
Definition: tracking_singletarget_impl.h:30
int d_threshold_lost
Definition: tracking_singletarget_impl.h:63
pmt::pmt_t d_port_id_in
Definition: tracking_singletarget_impl.h:53
float d_std_accel_sys
Definition: tracking_singletarget_impl.h:50
bool d_is_empty
Definition: tracking_singletarget_impl.h:58
std::vector< float > d_particle_velocity
Definition: tracking_singletarget_impl.h:60
std::vector< std::vector< float > > R
Definition: tracking_singletarget_impl.h:59
std::vector< float > d_particle_range
Definition: tracking_singletarget_impl.h:60
float d_velocity_est
Definition: tracking_singletarget_impl.h:55
float random_normal(float mean, float std)
float d_range_meas
Definition: tracking_singletarget_impl.h:51
pmt::pmt_t d_port_id_out
Definition: tracking_singletarget_impl.h:53
int d_lost
Definition: tracking_singletarget_impl.h:57
std::vector< std::vector< float > > P
Definition: tracking_singletarget_impl.h:59
float R_det
Definition: tracking_singletarget_impl.h:61
bool d_is_track
Definition: tracking_singletarget_impl.h:58
float d_threshold_track
Definition: tracking_singletarget_impl.h:62
int d_num_particle
Definition: tracking_singletarget_impl.h:49
float d_std_velocity_meas
Definition: tracking_singletarget_impl.h:50
float d_time_last
Definition: tracking_singletarget_impl.h:55
float d_time
Definition: tracking_singletarget_impl.h:51
float d_delta_t
Definition: tracking_singletarget_impl.h:56
std::vector< std::vector< float > > R_inv
Definition: tracking_singletarget_impl.h:59
tracking_singletarget_impl(int num_particle, float std_range_meas, float std_velocity_meas, float std_accel_sys, float threshold_track, int threshold_lost, std::string filter)
std::string d_filter
Definition: tracking_singletarget_impl.h:64
std::vector< float > d_particle_weight
Definition: tracking_singletarget_impl.h:60
std::vector< std::vector< float > > K
Definition: tracking_singletarget_impl.h:59
float d_range_est
Definition: tracking_singletarget_impl.h:55
std::vector< std::vector< float > > Q
Definition: tracking_singletarget_impl.h:59
float d_velocity_meas
Definition: tracking_singletarget_impl.h:51
float d_std_range_meas
Definition: tracking_singletarget_impl.h:50
This block tracks a singletarget detection with a particle or kalman filter. As input values with ide...
Definition: tracking_singletarget.h:55
Definition: crop_matrix_vcvc.h:28