GNU Radio 3.7.1 C++ API
bit_timing_loop.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2006 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_ATSC_BIT_TIMING_LOOP_H
24
#define INCLUDED_ATSC_BIT_TIMING_LOOP_H
25
26
#include <
gnuradio/atsc/api.h
>
27
#include <cstdio>
28
#include <
gnuradio/block.h
>
29
#include <
gnuradio/atsc/diag_output_impl.h
>
30
#include <
gnuradio/atsc/sssr_impl.h
>
31
#include <
gnuradio/atsc/syminfo_impl.h
>
32
33
class
atsc_bit_timing_loop
;
34
typedef
boost::shared_ptr<atsc_bit_timing_loop>
atsc_bit_timing_loop_sptr
;
35
36
ATSC_API
atsc_bit_timing_loop_sptr
atsc_make_bit_timing_loop
();
37
38
/*!
39
* \brief ATSC BitTimingLoop3
40
* \ingroup atsc
41
*
42
* This class accepts a single real input and produces two outputs,
43
* the raw symbol (float) and the tag (atsc_syminfo)
44
*/
45
class
ATSC_API
atsc_bit_timing_loop
:
public
gr::block
46
{
47
friend
ATSC_API
atsc_bit_timing_loop_sptr
atsc_make_bit_timing_loop
();
48
49
atsc_bit_timing_loop
();
50
51
public
:
52
int
work (
int
noutput_items,
53
gr_vector_const_void_star
&input_items,
54
gr_vector_void_star
&output_items);
55
56
void
reset
() {
/* nop */
}
57
58
~atsc_bit_timing_loop
() { };
59
60
void
forecast
(
int
noutput_items,
gr_vector_int
&ninput_items_required);
61
62
int
general_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
// debug (NOPs)
69
void
set_mu
(
double
a_mu) { }
70
void
set_no_update
(
bool
a_no_update) { }
71
void
set_loop_filter_tap
(
double
tap) { }
72
void
set_timing_rate
(
double
rate) { }
73
74
75
protected
:
76
77
atsci_sssr
d_sssr
;
78
atsci_interpolator
d_interp
;
79
unsigned
long
long
d_next_input
;
80
double
d_rx_clock_to_symbol_freq
;
81
int
d_si
;
82
83
84
};
85
86
#endif
/* INCLUDED_ATSC_BIT_TIMING_LOOP_H */
87
88
89
gr-atsc
include
gnuradio
atsc
bit_timing_loop.h
Generated on Wed Oct 2 2013 01:55:46 for GNU Radio 3.7.1 C++ API by
1.8.4