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 */
boost::circular_buffer< float > d_rcs_vals
Definition: estimator_rcs_impl.h:56
void set_antenna_gain_rx(float val)
int d_loop_counter
Definition: estimator_rcs_impl.h:57
void set_antenna_gain_tx(float val)
float d_fak
Definition: estimator_rcs_impl.h:59
float calculate_vector_mean(boost::circular_buffer< float > *)
pmt::pmt_t d_rcs_pack
Definition: estimator_rcs_impl.h:65
float d_usrp_gain_rx
Definition: estimator_rcs_impl.h:59
void set_corr_factor(float val)
std::vector< float > d_power
Definition: estimator_rcs_impl.h:66
pmt::pmt_t d_prange
Definition: estimator_rcs_impl.h:64
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:57
void handle_msg(pmt::pmt_t msg)
float d_lambda
Definition: estimator_rcs_impl.h:59
pmt::pmt_t d_port_id_out
Definition: estimator_rcs_impl.h:63
Definition: crop_matrix_vcvc.h:28
pmt::pmt_t d_ppower
Definition: estimator_rcs_impl.h:64
std::vector< float > d_rcs
Definition: estimator_rcs_impl.h:66
float d_antenna_gain_rx
Definition: estimator_rcs_impl.h:59
std::vector< float > d_range
Definition: estimator_rcs_impl.h:66
float d_center_freq
Definition: estimator_rcs_impl.h:59
std::vector< pmt::pmt_t > d_msg_hold
Definition: estimator_rcs_impl.h:67
float d_power_tx
Definition: estimator_rcs_impl.h:59
float d_antenna_gain_abs_rx
Definition: estimator_rcs_impl.h:59
float d_exponent
Definition: estimator_rcs_impl.h:59
float d_corr_factor
Definition: estimator_rcs_impl.h:59
pmt::pmt_t d_rcs_value
Definition: estimator_rcs_impl.h:65
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
pmt::pmt_t d_value
Definition: estimator_rcs_impl.h:64
pmt::pmt_t d_port_id_in
Definition: estimator_rcs_impl.h:63
void set_center_freq(float val)
void set_usrp_gain_rx(float val)
pmt::pmt_t d_rcs_key
Definition: estimator_rcs_impl.h:65
float d_antenna_gain_tx
Definition: estimator_rcs_impl.h:59
float d_antenna_gain_abs_tx
Definition: estimator_rcs_impl.h:59
Definition: estimator_rcs_impl.h:29
static constexpr float c_light
Definition: estimator_rcs_impl.h:69