GNU Radio Radar Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Macros
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, float center_freq, float antenna_gain_tx, float antenna_gain_rx, float usrp_gain_rx, float power_tx, float corr_factor, float exponent);
37  void handle_msg(pmt::pmt_t msg);
38  float calculate_rcs();
39  float calculate_vector_mean(boost::circular_buffer<float>*);
40  void set_num_mean(int val);
41  void set_center_freq(float val);
42  void set_antenna_gain_tx(float val);
43  void set_antenna_gain_rx(float val);
44  void set_usrp_gain_rx(float val);
45  void set_power_tx(float val);
46  void set_corr_factor(float val);
47 
48 
49  boost::circular_buffer<float> d_rcs_vals;
51 
54 
56  pmt::pmt_t d_prange, d_ppower, d_value;
58  std::vector<float> d_range, d_power, d_rcs;
59  std::vector<pmt::pmt_t> d_msg_hold;
60 
61  const static float c_light = 3e8;
62 
63  };
64 
65  } // namespace radar
66 } // namespace gr
67 
68 #endif /* INCLUDED_RADAR_ESTIMATOR_RCS_IMPL_H */
69 
boost::circular_buffer< float > d_rcs_vals
Definition: estimator_rcs_impl.h:49
void set_antenna_gain_rx(float val)
int d_loop_counter
Definition: estimator_rcs_impl.h:50
void set_antenna_gain_tx(float val)
float d_fak
Definition: estimator_rcs_impl.h:52
float calculate_vector_mean(boost::circular_buffer< float > *)
pmt::pmt_t d_rcs_pack
Definition: estimator_rcs_impl.h:57
float d_usrp_gain_rx
Definition: estimator_rcs_impl.h:52
void set_corr_factor(float val)
static const float c_light
Definition: estimator_rcs_impl.h:61
std::vector< float > d_power
Definition: estimator_rcs_impl.h:58
pmt::pmt_t d_prange
Definition: estimator_rcs_impl.h:56
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)
int d_num_mean
Definition: estimator_rcs_impl.h:50
void handle_msg(pmt::pmt_t msg)
float d_lambda
Definition: estimator_rcs_impl.h:52
pmt::pmt_t d_port_id_out
Definition: estimator_rcs_impl.h:55
pmt::pmt_t d_ppower
Definition: estimator_rcs_impl.h:56
std::vector< float > d_rcs
Definition: estimator_rcs_impl.h:58
float d_antenna_gain_rx
Definition: estimator_rcs_impl.h:52
std::vector< float > d_range
Definition: estimator_rcs_impl.h:58
float d_center_freq
Definition: estimator_rcs_impl.h:52
std::vector< pmt::pmt_t > d_msg_hold
Definition: estimator_rcs_impl.h:59
float d_power_tx
Definition: estimator_rcs_impl.h:52
float d_antenna_gain_abs_rx
Definition: estimator_rcs_impl.h:52
float d_exponent
Definition: estimator_rcs_impl.h:52
float d_corr_factor
Definition: estimator_rcs_impl.h:52
pmt::pmt_t d_rcs_value
Definition: estimator_rcs_impl.h:57
Basic RCS block for estimating the RCS of a single target. Some hardware specs need to be known for c...
Definition: estimator_rcs.h:51
pmt::pmt_t d_value
Definition: estimator_rcs_impl.h:56
pmt::pmt_t d_port_id_in
Definition: estimator_rcs_impl.h:55
void set_center_freq(float val)
void set_usrp_gain_rx(float val)
pmt::pmt_t d_rcs_key
Definition: estimator_rcs_impl.h:57
float d_antenna_gain_tx
Definition: estimator_rcs_impl.h:52
float d_antenna_gain_abs_tx
Definition: estimator_rcs_impl.h:52
Definition: estimator_rcs_impl.h:29