GNU Radio's AIS Package
corr_est_cc_impl.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2013 Free Software Foundation, Inc.
4 *
5 * This file is part of GNU Radio
6 *
7 * GNU Radio is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3, or (at your option)
10 * any later version.
11 *
12 * GNU Radio is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with GNU Radio; see the file COPYING. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street,
20 * Boston, MA 02110-1301, USA.
21 */
22
23#ifndef INCLUDED_DIGITAL_CORR_EST_CC_IMPL_H
24#define INCLUDED_DIGITAL_CORR_EST_CC_IMPL_H
25
26#include <ais/corr_est_cc.h>
27#include <gnuradio/filter/fft_filter.h>
28
29using namespace gr::filter;
30
31namespace gr {
32 namespace ais {
33
35 {
36 private:
37 pmt::pmt_t d_src_id;
38 std::vector<gr_complex> d_symbols;
39 float d_sps;
40 unsigned int d_mark_delay;
41 float d_thresh;
42 kernel::fft_filter_ccc *d_filter;
43
44 gr_complex *d_corr;
45 float *d_corr_mag;
46
47 public:
48 corr_est_cc_impl(const std::vector<gr_complex> &symbols,
49 float sps, unsigned int mark_delay,
50 float threshold=0.9);
52
53 std::vector<gr_complex> symbols() const;
54 void set_symbols(const std::vector<gr_complex> &symbols);
55
56 int work(int noutput_items,
57 gr_vector_const_void_star &input_items,
58 gr_vector_void_star &output_items);
59 };
60
61 } // namespace ais
62} // namespace gr
63
64#endif /* INCLUDED_DIGITAL_CORR_EST_CC_IMPL_H */
Definition corr_est_cc_impl.h:35
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
std::vector< gr_complex > symbols() const
corr_est_cc_impl(const std::vector< gr_complex > &symbols, float sps, unsigned int mark_delay, float threshold=0.9)
void set_symbols(const std::vector< gr_complex > &symbols)
Correlate stream with a pre-defined sequence and estimate peak.
Definition corr_est_cc.h:86
Definition corr_est_cc.h:29