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, float std_range_meas, float std_velocity_meas, float std_accel_sys, float threshold_track, int threshold_lost, std::string filter);
37  void handle_msg(pmt::pmt_t msg);
38  bool tracking();
39  void filter_particle();
40  void filter_kalman();
41  float random_normal(float mean, float std);
42 
46 
48 
50  float d_delta_t;
51  int d_lost;
53  std::vector<std::vector<float> > Q, R, R_inv, P, K;
55  float R_det;
58  std::string d_filter;
59  };
60 
61  } // namespace radar
62 } // namespace gr
63 
64 #endif /* INCLUDED_RADAR_TRACKING_SINGLETARGET_IMPL_H */
65 
float d_time
Definition: tracking_singletarget_impl.h:45
std::vector< std::vector< float > > R_inv
Definition: tracking_singletarget_impl.h:53
float random_normal(float mean, float std)
This block tracks a singletarget detection with a particle or kalman filter. As input values with ide...
Definition: tracking_singletarget.h:45
Definition: tracking_singletarget_impl.h:29
float d_std_range_meas
Definition: tracking_singletarget_impl.h:44
float d_std_accel_sys
Definition: tracking_singletarget_impl.h:44
bool d_is_empty
Definition: tracking_singletarget_impl.h:52
STL namespace.
float d_velocity_meas
Definition: tracking_singletarget_impl.h:45
pmt::pmt_t d_port_id_out
Definition: tracking_singletarget_impl.h:47
std::vector< std::vector< float > > P
Definition: tracking_singletarget_impl.h:53
int d_lost
Definition: tracking_singletarget_impl.h:51
float d_velocity_est
Definition: tracking_singletarget_impl.h:49
int d_threshold_lost
Definition: tracking_singletarget_impl.h:57
float d_range_est
Definition: tracking_singletarget_impl.h:49
float d_delta_t
Definition: tracking_singletarget_impl.h:50
float d_threshold_track
Definition: tracking_singletarget_impl.h:56
float d_std_velocity_meas
Definition: tracking_singletarget_impl.h:44
std::vector< float > d_particle_weight
Definition: tracking_singletarget_impl.h:54
float d_time_last
Definition: tracking_singletarget_impl.h:49
Definition: crop_matrix_vcvc.h:28
std::vector< std::vector< float > > K
Definition: tracking_singletarget_impl.h:53
int d_num_particle
Definition: tracking_singletarget_impl.h:43
std::vector< std::vector< float > > R
Definition: tracking_singletarget_impl.h:53
float d_range_meas
Definition: tracking_singletarget_impl.h:45
std::string d_filter
Definition: tracking_singletarget_impl.h:58
std::vector< float > d_particle_velocity
Definition: tracking_singletarget_impl.h:54
pmt::pmt_t d_port_id_in
Definition: tracking_singletarget_impl.h:47
std::vector< float > d_particle_range
Definition: tracking_singletarget_impl.h:54
float R_det
Definition: tracking_singletarget_impl.h:55
bool d_is_track
Definition: tracking_singletarget_impl.h:52
std::vector< std::vector< float > > Q
Definition: tracking_singletarget_impl.h:53
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)