estimator_rcs_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_ESTIMATOR_RCS_IMPL_H
#define INCLUDED_RADAR_ESTIMATOR_RCS_IMPL_H
#include <radar/estimator_rcs.h>
#include <boost/circular_buffer.hpp>
namespace gr {
namespace radar {
class estimator_rcs_impl : public estimator_rcs
{
private:
// Nothing to declare in this block
public:
estimator_rcs_impl(int num_mean,
float center_freq,
float antenna_gain_tx,
float antenna_gain_rx,
float usrp_gain_rx,
float power_tx,
float corr_factor,
float exponent);
~estimator_rcs_impl();
void handle_msg(pmt::pmt_t msg);
float calculate_rcs();
float calculate_vector_mean(boost::circular_buffer<float>*);
void set_num_mean(int val);
void set_center_freq(float val);
void set_antenna_gain_tx(float val);
void set_antenna_gain_rx(float val);
void set_usrp_gain_rx(float val);
void set_power_tx(float val);
void set_corr_factor(float val);
boost::circular_buffer<float> d_rcs_vals;
int d_num_mean, d_loop_counter;
float d_center_freq, d_antenna_gain_tx, d_antenna_gain_rx, d_usrp_gain_rx, d_power_tx,
d_fak, d_lambda, d_antenna_gain_abs_rx, d_antenna_gain_abs_tx, d_corr_factor,
d_exponent;
pmt::pmt_t d_port_id_in, d_port_id_out;
pmt::pmt_t d_prange, d_ppower, d_value;
pmt::pmt_t d_rcs_value, d_rcs_key, d_rcs_pack;
std::vector<float> d_range, d_power, d_rcs;
std::vector<pmt::pmt_t> d_msg_hold;
constexpr static float c_light = 3e8;
};
} // namespace radar
} // namespace gr
#endif /* INCLUDED_RADAR_ESTIMATOR_RCS_IMPL_H */
gr::radar::estimator_rcs_impl::d_rcs_value
pmt::pmt_t d_rcs_value
Definition estimator_rcs_impl.h:66
gr::radar::estimator_rcs_impl::d_center_freq
float d_center_freq
Definition estimator_rcs_impl.h:60
gr::radar::estimator_rcs_impl::set_antenna_gain_rx
void set_antenna_gain_rx(float val)
gr::radar::estimator_rcs_impl::estimator_rcs_impl
estimator_rcs_impl(int num_mean, float center_freq, float antenna_gain_tx, float antenna_gain_rx, float usrp_gain_rx, float power_tx, float corr_factor, float exponent)
gr::radar::estimator_rcs_impl::set_num_mean
void set_num_mean(int val)
gr::radar::estimator_rcs_impl::d_loop_counter
int d_loop_counter
Definition estimator_rcs_impl.h:58
gr::radar::estimator_rcs_impl::d_rcs_vals
boost::circular_buffer< float > d_rcs_vals
Definition estimator_rcs_impl.h:57
gr::radar::estimator_rcs_impl::d_antenna_gain_rx
float d_antenna_gain_rx
Definition estimator_rcs_impl.h:60
gr::radar::estimator_rcs_impl::d_ppower
pmt::pmt_t d_ppower
Definition estimator_rcs_impl.h:65
gr::radar::estimator_rcs_impl::d_lambda
float d_lambda
Definition estimator_rcs_impl.h:61
gr::radar::estimator_rcs_impl::d_antenna_gain_abs_tx
float d_antenna_gain_abs_tx
Definition estimator_rcs_impl.h:61
gr::radar::estimator_rcs_impl::handle_msg
void handle_msg(pmt::pmt_t msg)
gr::radar::estimator_rcs_impl::d_range
std::vector< float > d_range
Definition estimator_rcs_impl.h:67
gr::radar::estimator_rcs_impl::d_fak
float d_fak
Definition estimator_rcs_impl.h:61
gr::radar::estimator_rcs_impl::d_rcs_key
pmt::pmt_t d_rcs_key
Definition estimator_rcs_impl.h:66
gr::radar::estimator_rcs_impl::d_num_mean
int d_num_mean
Definition estimator_rcs_impl.h:58
gr::radar::estimator_rcs_impl::set_usrp_gain_rx
void set_usrp_gain_rx(float val)
gr::radar::estimator_rcs_impl::~estimator_rcs_impl
~estimator_rcs_impl()
gr::radar::estimator_rcs_impl::d_rcs_pack
pmt::pmt_t d_rcs_pack
Definition estimator_rcs_impl.h:66
gr::radar::estimator_rcs_impl::d_usrp_gain_rx
float d_usrp_gain_rx
Definition estimator_rcs_impl.h:60
gr::radar::estimator_rcs_impl::calculate_vector_mean
float calculate_vector_mean(boost::circular_buffer< float > *)
gr::radar::estimator_rcs_impl::d_port_id_in
pmt::pmt_t d_port_id_in
Definition estimator_rcs_impl.h:64
gr::radar::estimator_rcs_impl::c_light
static constexpr float c_light
Definition estimator_rcs_impl.h:70
gr::radar::estimator_rcs_impl::d_msg_hold
std::vector< pmt::pmt_t > d_msg_hold
Definition estimator_rcs_impl.h:68
gr::radar::estimator_rcs_impl::d_antenna_gain_tx
float d_antenna_gain_tx
Definition estimator_rcs_impl.h:60
gr::radar::estimator_rcs_impl::d_prange
pmt::pmt_t d_prange
Definition estimator_rcs_impl.h:65
gr::radar::estimator_rcs_impl::d_corr_factor
float d_corr_factor
Definition estimator_rcs_impl.h:61
gr::radar::estimator_rcs_impl::d_rcs
std::vector< float > d_rcs
Definition estimator_rcs_impl.h:67
gr::radar::estimator_rcs_impl::set_corr_factor
void set_corr_factor(float val)
gr::radar::estimator_rcs_impl::d_exponent
float d_exponent
Definition estimator_rcs_impl.h:62
gr::radar::estimator_rcs_impl::set_center_freq
void set_center_freq(float val)
gr::radar::estimator_rcs_impl::set_power_tx
void set_power_tx(float val)
gr::radar::estimator_rcs_impl::d_power_tx
float d_power_tx
Definition estimator_rcs_impl.h:60
gr::radar::estimator_rcs_impl::calculate_rcs
float calculate_rcs()
gr::radar::estimator_rcs_impl::d_value
pmt::pmt_t d_value
Definition estimator_rcs_impl.h:65
gr::radar::estimator_rcs_impl::d_power
std::vector< float > d_power
Definition estimator_rcs_impl.h:67
gr::radar::estimator_rcs_impl::set_antenna_gain_tx
void set_antenna_gain_tx(float val)
gr::radar::estimator_rcs_impl::d_antenna_gain_abs_rx
float d_antenna_gain_abs_rx
Definition estimator_rcs_impl.h:61
gr::radar::estimator_rcs_impl::d_port_id_out
pmt::pmt_t d_port_id_out
Definition estimator_rcs_impl.h:64
gr::radar::estimator_rcs
Basic RCS block for estimating the RCS of a single target. Some hardware specs need to be known for c...
Definition estimator_rcs.h:62
estimator_rcs.h
gr::radar
Definition crop_matrix_vcvc.h:29
gr
Definition crop_matrix_vcvc.h:28