GNU Radio Radar Toolbox
os_cfar_c_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_OS_CFAR_C_IMPL_H
22#define INCLUDED_RADAR_OS_CFAR_C_IMPL_H
23
24#include <radar/os_cfar_c.h>
25
26namespace gr {
27namespace radar {
28
30{
31private:
32 // Nothing to declare in this block.
33
34protected:
35 int calculate_output_stream_length(const gr_vector_int& ninput_items);
36
37public:
38 os_cfar_c_impl(int samp_rate,
39 int samp_compare,
40 int samp_protect,
41 float rel_threshold,
42 float mult_threshold,
43 bool merge_consecutive,
44 const std::string& len_key);
46 void set_rel_threshold(float inp);
47 void set_mult_threshold(float inp);
48 void set_samp_compare(int inp);
49 void set_samp_protect(int inp);
50
54
55 std::vector<float> d_pks, d_freq, d_angle, d_hold_samp;
56
57 pmt::pmt_t d_port_id;
59 std::vector<tag_t> d_tags;
60
61 // Where all the action really happens
62 int work(int noutput_items,
63 gr_vector_int& ninput_items,
64 gr_vector_const_void_star& input_items,
65 gr_vector_void_star& output_items);
66};
67
68} // namespace radar
69} // namespace gr
70
71#endif /* INCLUDED_RADAR_OS_CFAR_C_IMPL_H */
Definition os_cfar_c_impl.h:30
bool d_merge_consecutive
Definition os_cfar_c_impl.h:53
std::vector< float > d_pks
Definition os_cfar_c_impl.h:55
std::vector< float > d_freq
Definition os_cfar_c_impl.h:55
pmt::pmt_t d_pfreq
Definition os_cfar_c_impl.h:58
int calculate_output_stream_length(const gr_vector_int &ninput_items)
void set_samp_protect(int inp)
void set_rel_threshold(float inp)
pmt::pmt_t d_value
Definition os_cfar_c_impl.h:58
float d_mult_threshold
Definition os_cfar_c_impl.h:52
pmt::pmt_t d_ppks
Definition os_cfar_c_impl.h:58
int work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
pmt::pmt_t d_port_id
Definition os_cfar_c_impl.h:57
void set_mult_threshold(float inp)
bool d_consecutive
Definition os_cfar_c_impl.h:53
std::vector< float > d_angle
Definition os_cfar_c_impl.h:55
int d_samp_rate
Definition os_cfar_c_impl.h:51
void set_samp_compare(int inp)
pmt::pmt_t d_ptimestamp
Definition os_cfar_c_impl.h:58
int d_samp_protect
Definition os_cfar_c_impl.h:51
pmt::pmt_t d_pangle
Definition os_cfar_c_impl.h:58
float d_rel_threshold
Definition os_cfar_c_impl.h:52
os_cfar_c_impl(int samp_rate, int samp_compare, int samp_protect, float rel_threshold, float mult_threshold, bool merge_consecutive, const std::string &len_key)
std::vector< tag_t > d_tags
Definition os_cfar_c_impl.h:59
int d_samp_compare
Definition os_cfar_c_impl.h:51
std::vector< float > d_hold_samp
Definition os_cfar_c_impl.h:55
This block estimates peaks of a given FFT spectrum as tagged stream. Multi peak detection is implemen...
Definition os_cfar_c.h:54
Definition crop_matrix_vcvc.h:28