tracking_singletarget_impl.h
Go to the documentation of this file.
/* -*- c++ -*- */
/*
* Copyright 2014 Communications Engineering Lab, KIT.
*
* This is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3, or (at your option)
* any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street,
* Boston, MA 02110-1301, USA.
*/
#ifndef INCLUDED_RADAR_TRACKING_SINGLETARGET_IMPL_H
#define INCLUDED_RADAR_TRACKING_SINGLETARGET_IMPL_H
#include <radar/tracking_singletarget.h>
namespace gr {
namespace radar {
class tracking_singletarget_impl : public tracking_singletarget
{
private:
// Nothing to declare in this block.
public:
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);
~tracking_singletarget_impl();
void handle_msg(pmt::pmt_t msg);
bool tracking();
void filter_particle();
void filter_kalman();
float random_normal(float mean, float std);
int d_num_particle;
float d_std_range_meas, d_std_velocity_meas, d_std_accel_sys;
float d_range_meas, d_velocity_meas, d_time;
pmt::pmt_t d_port_id_in, d_port_id_out;
float d_range_est, d_velocity_est, d_time_last;
float d_delta_t;
int d_lost;
bool d_is_track, d_is_empty;
std::vector<std::vector<float>> Q, R, R_inv, P, K;
std::vector<float> d_particle_range, d_particle_velocity, d_particle_weight;
float R_det;
float d_threshold_track;
int d_threshold_lost;
std::string d_filter;
};
} // namespace radar
} // namespace gr
#endif /* INCLUDED_RADAR_TRACKING_SINGLETARGET_IMPL_H */
gr::radar::tracking_singletarget_impl::d_threshold_lost
int d_threshold_lost
Definition tracking_singletarget_impl.h:63
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::d_std_accel_sys
float d_std_accel_sys
Definition tracking_singletarget_impl.h:50
gr::radar::tracking_singletarget_impl::d_is_empty
bool d_is_empty
Definition tracking_singletarget_impl.h:58
gr::radar::tracking_singletarget_impl::handle_msg
void handle_msg(pmt::pmt_t msg)
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::~tracking_singletarget_impl
~tracking_singletarget_impl()
gr::radar::tracking_singletarget_impl::filter_kalman
void filter_kalman()
gr::radar::tracking_singletarget_impl::tracking
bool tracking()
gr::radar::tracking_singletarget_impl::R
std::vector< std::vector< float > > R
Definition tracking_singletarget_impl.h:59
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::d_velocity_est
float d_velocity_est
Definition tracking_singletarget_impl.h:55
gr::radar::tracking_singletarget_impl::random_normal
float random_normal(float mean, float std)
gr::radar::tracking_singletarget_impl::d_range_meas
float d_range_meas
Definition tracking_singletarget_impl.h:51
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::P
std::vector< std::vector< float > > P
Definition tracking_singletarget_impl.h:59
gr::radar::tracking_singletarget_impl::R_det
float R_det
Definition tracking_singletarget_impl.h:61
gr::radar::tracking_singletarget_impl::d_is_track
bool d_is_track
Definition tracking_singletarget_impl.h:58
gr::radar::tracking_singletarget_impl::d_threshold_track
float d_threshold_track
Definition tracking_singletarget_impl.h:62
gr::radar::tracking_singletarget_impl::d_num_particle
int d_num_particle
Definition tracking_singletarget_impl.h:49
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::d_time_last
float d_time_last
Definition tracking_singletarget_impl.h:55
gr::radar::tracking_singletarget_impl::d_time
float d_time
Definition tracking_singletarget_impl.h:51
gr::radar::tracking_singletarget_impl::d_delta_t
float d_delta_t
Definition tracking_singletarget_impl.h:56
gr::radar::tracking_singletarget_impl::R_inv
std::vector< std::vector< float > > R_inv
Definition tracking_singletarget_impl.h:59
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_filter
std::string d_filter
Definition tracking_singletarget_impl.h:64
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::K
std::vector< std::vector< float > > K
Definition tracking_singletarget_impl.h:59
gr::radar::tracking_singletarget_impl::d_range_est
float d_range_est
Definition tracking_singletarget_impl.h:55
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_meas
float d_velocity_meas
Definition tracking_singletarget_impl.h:51
gr::radar::tracking_singletarget_impl::filter_particle
void filter_particle()
gr::radar::tracking_singletarget_impl::d_std_range_meas
float d_std_range_meas
Definition tracking_singletarget_impl.h:50
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:55
gr::radar
Definition crop_matrix_vcvc.h:29
gr
Definition crop_matrix_vcvc.h:28
tracking_singletarget.h