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