GNU Radio Radar Toolbox
estimator_fmcw.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_FMCW_H
22 #define INCLUDED_RADAR_ESTIMATOR_FMCW_H
23 
24 #include <radar/api.h>
25 #include <gnuradio/block.h>
26 
27 namespace gr {
28  namespace radar {
29 
30  /*!
31  * \brief This block estimates range and veloicty from peaks of a FMCW spectrum. Input messages are data with the identifier 'frequency' of the up-chirp, down-chirp and CW part. If data is available on all three message ports the estimation starts. The velocity is estimated with the frequency information of the CW block and the range is estimated with the up and down chirp. If multiple frequencies are given, the velocity is estimated first and associated with the most likely range from the up- and down-chirp. The output identifiers are 'range' and 'velocity'.
32  *
33  * \param samp_rate Sample rate
34  * \param center_freq Center frequency
35  * \param sweep_freq Sweep frequency
36  * \param samp_up Samples of up-chirp
37  * \param samp_down Samples of down-chirp
38  * \param push_power Push through power of peak
39  *
40  * \ingroup radar
41  *
42  */
43  class RADAR_API estimator_fmcw : virtual public gr::block
44  {
45  public:
46  typedef boost::shared_ptr<estimator_fmcw> sptr;
47 
48  /*!
49  * \brief Return a shared_ptr to a new instance of radar::estimator_fmcw.
50  *
51  * To avoid accidental use of raw pointers, radar::estimator_fmcw's
52  * constructor is in a private implementation
53  * class. radar::estimator_fmcw::make is the public interface for
54  * creating new instances.
55  */
56  static sptr make(int samp_rate, float center_freq, float sweep_freq, int samp_up, int samp_down, bool push_power);
57  };
58 
59  } // namespace radar
60 } // namespace gr
61 
62 #endif /* INCLUDED_RADAR_ESTIMATOR_FMCW_H */
63 
This block estimates range and veloicty from peaks of a FMCW spectrum. Input messages are data with t...
Definition: estimator_fmcw.h:43
Definition: crop_matrix_vcvc.h:28
boost::shared_ptr< estimator_fmcw > sptr
Definition: estimator_fmcw.h:46
#define RADAR_API
Definition: api.h:30