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();
45  void filter_particle();
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 */
gr::radar::tracking_singletarget_impl::d_range_meas
float d_range_meas
Definition: tracking_singletarget_impl.h:51
gr::radar::tracking_singletarget_impl::d_range_est
float d_range_est
Definition: tracking_singletarget_impl.h:55
gr::radar::tracking_singletarget_impl::d_time_last
float d_time_last
Definition: tracking_singletarget_impl.h:55
tracking_singletarget.h
gr::radar::tracking_singletarget_impl::R
std::vector< std::vector< float > > R
Definition: tracking_singletarget_impl.h:59
gr::radar::tracking_singletarget_impl::d_is_empty
bool d_is_empty
Definition: tracking_singletarget_impl.h:58
gr::radar::tracking_singletarget_impl::d_particle_range
std::vector< float > d_particle_range
Definition: tracking_singletarget_impl.h:60
gr::radar::tracking_singletarget_impl::~tracking_singletarget_impl
~tracking_singletarget_impl()
gr::radar::tracking_singletarget_impl::d_time
float d_time
Definition: tracking_singletarget_impl.h:51
gr::radar::tracking_singletarget_impl::d_threshold_lost
int d_threshold_lost
Definition: tracking_singletarget_impl.h:63
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
gr::radar::tracking_singletarget_impl::d_num_particle
int d_num_particle
Definition: tracking_singletarget_impl.h:49
gr::radar::tracking_singletarget_impl::tracking_singletarget_impl
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)
gr::radar::tracking_singletarget_impl::d_particle_velocity
std::vector< float > d_particle_velocity
Definition: tracking_singletarget_impl.h:60
gr::radar::tracking_singletarget_impl::d_velocity_meas
float d_velocity_meas
Definition: tracking_singletarget_impl.h:51
gr::radar::tracking_singletarget_impl::Q
std::vector< std::vector< float > > Q
Definition: tracking_singletarget_impl.h:59
gr::radar::tracking_singletarget_impl::d_velocity_est
float d_velocity_est
Definition: tracking_singletarget_impl.h:55
gr::radar::tracking_singletarget_impl::d_std_range_meas
float d_std_range_meas
Definition: tracking_singletarget_impl.h:50
gr::radar::tracking_singletarget_impl::d_filter
std::string d_filter
Definition: tracking_singletarget_impl.h:64
gr::radar::tracking_singletarget_impl::filter_kalman
void filter_kalman()
gr::radar::tracking_singletarget_impl::d_threshold_track
float d_threshold_track
Definition: tracking_singletarget_impl.h:62
gr::radar::tracking_singletarget_impl::handle_msg
void handle_msg(pmt::pmt_t msg)
gr::radar::tracking_singletarget_impl::d_is_track
bool d_is_track
Definition: tracking_singletarget_impl.h:58
gr::radar::tracking_singletarget_impl::tracking
bool tracking()
gr::radar::tracking_singletarget_impl
Definition: tracking_singletarget_impl.h:29
gr::radar::tracking_singletarget_impl::d_particle_weight
std::vector< float > d_particle_weight
Definition: tracking_singletarget_impl.h:60
gr::radar::tracking_singletarget_impl::d_port_id_in
pmt::pmt_t d_port_id_in
Definition: tracking_singletarget_impl.h:53
gr::radar::tracking_singletarget_impl::random_normal
float random_normal(float mean, float std)
gr::radar::tracking_singletarget_impl::filter_particle
void filter_particle()
gr::radar::tracking_singletarget_impl::R_inv
std::vector< std::vector< float > > R_inv
Definition: tracking_singletarget_impl.h:59
gr
Definition: crop_matrix_vcvc.h:28
gr::radar::tracking_singletarget_impl::R_det
float R_det
Definition: tracking_singletarget_impl.h:61
gr::radar::tracking_singletarget_impl::d_delta_t
float d_delta_t
Definition: tracking_singletarget_impl.h:56
gr::radar::tracking_singletarget_impl::d_port_id_out
pmt::pmt_t d_port_id_out
Definition: tracking_singletarget_impl.h:53
gr::radar::tracking_singletarget_impl::d_lost
int d_lost
Definition: tracking_singletarget_impl.h:57
gr::radar::tracking_singletarget_impl::d_std_accel_sys
float d_std_accel_sys
Definition: tracking_singletarget_impl.h:50
gr::radar::tracking_singletarget_impl::d_std_velocity_meas
float d_std_velocity_meas
Definition: tracking_singletarget_impl.h:50
gr::radar::tracking_singletarget_impl::K
std::vector< std::vector< float > > K
Definition: tracking_singletarget_impl.h:59
gr::radar::tracking_singletarget_impl::P
std::vector< std::vector< float > > P
Definition: tracking_singletarget_impl.h:59