GNU Radio Radar Toolbox
estimator_rcs_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_ESTIMATOR_RCS_IMPL_H
22 #define INCLUDED_RADAR_ESTIMATOR_RCS_IMPL_H
23 
24 #include <radar/estimator_rcs.h>
25 
26 namespace gr {
27 namespace radar {
28 
30 {
31 private:
32  // Nothing to declare in this block
33 
34 public:
35  estimator_rcs_impl(int num_mean,
36  float center_freq,
37  float antenna_gain_tx,
38  float antenna_gain_rx,
39  float usrp_gain_rx,
40  float power_tx,
41  float corr_factor,
42  float exponent);
44  void handle_msg(pmt::pmt_t msg);
45  float calculate_rcs();
46  float calculate_vector_mean(boost::circular_buffer<float>*);
47  void set_num_mean(int val);
48  void set_center_freq(float val);
49  void set_antenna_gain_tx(float val);
50  void set_antenna_gain_rx(float val);
51  void set_usrp_gain_rx(float val);
52  void set_power_tx(float val);
53  void set_corr_factor(float val);
54 
55 
56  boost::circular_buffer<float> d_rcs_vals;
58 
61  d_exponent;
62 
64  pmt::pmt_t d_prange, d_ppower, d_value;
66  std::vector<float> d_range, d_power, d_rcs;
67  std::vector<pmt::pmt_t> d_msg_hold;
68 
69  constexpr static float c_light = 3e8;
70 };
71 
72 } // namespace radar
73 } // namespace gr
74 
75 #endif /* INCLUDED_RADAR_ESTIMATOR_RCS_IMPL_H */
gr::radar::estimator_rcs_impl::d_rcs_vals
boost::circular_buffer< float > d_rcs_vals
Definition: estimator_rcs_impl.h:56
gr::radar::estimator_rcs_impl::set_antenna_gain_rx
void set_antenna_gain_rx(float val)
estimator_rcs.h
gr::radar::estimator_rcs_impl::d_fak
float d_fak
Definition: estimator_rcs_impl.h:59
gr::radar::estimator_rcs_impl::calculate_vector_mean
float calculate_vector_mean(boost::circular_buffer< float > *)
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:61
gr::radar::estimator_rcs_impl::d_loop_counter
int d_loop_counter
Definition: estimator_rcs_impl.h:57
gr::radar::estimator_rcs_impl::set_antenna_gain_tx
void set_antenna_gain_tx(float val)
gr::radar::estimator_rcs_impl
Definition: estimator_rcs_impl.h:29
gr::radar::estimator_rcs_impl::set_corr_factor
void set_corr_factor(float val)
gr::radar::estimator_rcs_impl::d_power
std::vector< float > d_power
Definition: estimator_rcs_impl.h:66
gr::radar::estimator_rcs_impl::d_rcs_pack
pmt::pmt_t d_rcs_pack
Definition: estimator_rcs_impl.h:65
gr::radar::estimator_rcs_impl::d_usrp_gain_rx
float d_usrp_gain_rx
Definition: estimator_rcs_impl.h:59
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_lambda
float d_lambda
Definition: estimator_rcs_impl.h:59
gr::radar::estimator_rcs_impl::d_port_id_out
pmt::pmt_t d_port_id_out
Definition: estimator_rcs_impl.h:63
gr::radar::estimator_rcs_impl::d_prange
pmt::pmt_t d_prange
Definition: estimator_rcs_impl.h:64
gr::radar::estimator_rcs_impl::d_ppower
pmt::pmt_t d_ppower
Definition: estimator_rcs_impl.h:64
gr::radar::estimator_rcs_impl::d_rcs
std::vector< float > d_rcs
Definition: estimator_rcs_impl.h:66
gr::radar::estimator_rcs_impl::d_num_mean
int d_num_mean
Definition: estimator_rcs_impl.h:57
gr::radar::estimator_rcs_impl::handle_msg
void handle_msg(pmt::pmt_t msg)
gr::radar::estimator_rcs_impl::d_power_tx
float d_power_tx
Definition: estimator_rcs_impl.h:59
gr::radar::estimator_rcs_impl::d_antenna_gain_abs_rx
float d_antenna_gain_abs_rx
Definition: estimator_rcs_impl.h:59
gr::radar::estimator_rcs_impl::d_corr_factor
float d_corr_factor
Definition: estimator_rcs_impl.h:59
gr::radar::estimator_rcs_impl::d_antenna_gain_rx
float d_antenna_gain_rx
Definition: estimator_rcs_impl.h:59
gr::radar::estimator_rcs_impl::d_range
std::vector< float > d_range
Definition: estimator_rcs_impl.h:66
gr::radar::estimator_rcs_impl::d_msg_hold
std::vector< pmt::pmt_t > d_msg_hold
Definition: estimator_rcs_impl.h:67
gr::radar::estimator_rcs_impl::d_center_freq
float d_center_freq
Definition: estimator_rcs_impl.h:59
gr::radar::estimator_rcs_impl::d_port_id_in
pmt::pmt_t d_port_id_in
Definition: estimator_rcs_impl.h:63
gr::radar::estimator_rcs_impl::d_exponent
float d_exponent
Definition: estimator_rcs_impl.h:59
gr::radar::estimator_rcs_impl::d_rcs_value
pmt::pmt_t d_rcs_value
Definition: estimator_rcs_impl.h:65
gr
Definition: crop_matrix_vcvc.h:28
gr::radar::estimator_rcs_impl::d_value
pmt::pmt_t d_value
Definition: estimator_rcs_impl.h:64
gr::radar::estimator_rcs_impl::~estimator_rcs_impl
~estimator_rcs_impl()
gr::radar::estimator_rcs_impl::calculate_rcs
float calculate_rcs()
gr::radar::estimator_rcs_impl::set_center_freq
void set_center_freq(float val)
gr::radar::estimator_rcs_impl::d_antenna_gain_tx
float d_antenna_gain_tx
Definition: estimator_rcs_impl.h:59
gr::radar::estimator_rcs_impl::set_power_tx
void set_power_tx(float val)
gr::radar::estimator_rcs_impl::set_usrp_gain_rx
void set_usrp_gain_rx(float val)
gr::radar::estimator_rcs_impl::d_rcs_key
pmt::pmt_t d_rcs_key
Definition: estimator_rcs_impl.h:65
gr::radar::estimator_rcs_impl::d_antenna_gain_abs_tx
float d_antenna_gain_abs_tx
Definition: estimator_rcs_impl.h:59
gr::radar::estimator_rcs_impl::c_light
constexpr static float c_light
Definition: estimator_rcs_impl.h:69