GNU Radio Radar Toolbox
estimator_fsk.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_FSK_H
22 #define INCLUDED_RADAR_ESTIMATOR_FSK_H
23 
24 #include <gnuradio/block.h>
25 #include <radar/api.h>
26 
27 namespace gr {
28 namespace radar {
29 
30 /*!
31  * \brief This block estimates the range with peaks given from a FSK spectrum. Needed
32  * identifiers (symbols) are 'frequency' and 'phase'. The velocity is calculated with the
33  * 'frequency' information and the doppler formula. The phase of the doppler peaks are
34  * used to estimate the range. Output identifier are 'range' and 'velocity'. If push_power
35  * is true the information about the power of the peaks is pushed through. This can be
36  * used for estimating the RCS of an object.
37  *
38  * \param center_freq Center frequency
39  * \param delta_freq Frequency difference of high and low frequency
40  * \param push_power Toggle pushing through information about power of peaks
41  *
42  * \ingroup radar
43  *
44  */
45 class RADAR_API estimator_fsk : virtual public gr::block
46 {
47 public:
48  typedef std::shared_ptr<estimator_fsk> sptr;
49 
50  /*!
51  * \brief Return a shared_ptr to a new instance of radar::estimator_fsk.
52  *
53  * To avoid accidental use of raw pointers, radar::estimator_fsk's
54  * constructor is in a private implementation
55  * class. radar::estimator_fsk::make is the public interface for
56  * creating new instances.
57  */
58  static sptr make(float center_freq, float delta_freq, bool push_power = false);
59 };
60 
61 } // namespace radar
62 } // namespace gr
63 
64 #endif /* INCLUDED_RADAR_ESTIMATOR_FSK_H */
#define RADAR_API
Definition: api.h:31
This block estimates the range with peaks given from a FSK spectrum. Needed identifiers (symbols) are...
Definition: estimator_fsk.h:46
std::shared_ptr< estimator_fsk > sptr
Definition: estimator_fsk.h:48
static sptr make(float center_freq, float delta_freq, bool push_power=false)
Return a shared_ptr to a new instance of radar::estimator_fsk.
Definition: crop_matrix_vcvc.h:28