GNU Radio 3.7.2 C++ API
GNU Radio 3.7.2 C++ API
Building GNU Radio
GNU Radio Blocks
Manual Contents
Operating a Flowgraph
Reconfiguring Flowgraphs
Using Volk in GNU Radio
Configuration / Preference Files
Out-of-Tree Configuration
ControlPort
Build Instructions and Information
Instructions for using Volk in GNU Radio
Logging
Metadata Information
Message Passing
OFDM
Packet Data Transmission
Performance Counters
Polyphase Filterbanks
Polymorphic Types
Stream Tags
Tagged Stream Blocks
Block Thread Affinity and Priority
Analog Modulation
Audio Interface
Standard GNU Radio Blocks
Channel Model Blocks
Digital Modulation
FunCube Dongle Source
Forward Error Correction
FFT Signal Processing Blocks
Filter Signal Processing Blocks
QT Graphical User Interface
UHD Interface
Voice Coders and Decoders (Vocoders)
Modules
Namespaces
Classes
Files
File List
File Members
fs_correlator_impl.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2002 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 _ATSC_FS_CORRELATOR_H_
24
#define _ATSC_FS_CORRELATOR_H_
25
26
#include <
gnuradio/atsc/api.h
>
27
28
/*!
29
* \brief abstract base class for ATSC field sync correlator
30
*
31
* Processes input samples one at a time looking for
32
* an occurence of either the field sync 1 or field sync 2 pattern.
33
*
34
* For each sample processed, an output sample and an output tag are produced.
35
* The output samples are identical to the input samples but are delayed by
36
* a number of samples given by \p delay(). The output tag associated with
37
* the the given output sample indicates whether this sample is the beginning
38
* of one of the field syncs or is an ordinary sample. The tags are defined in
39
* atsci_sync_tag.h.
40
*
41
* For ease of use, the field sync patterns are defined to begin with the
42
* first symbol of the 4 symbol data segment sync pattern that immediately
43
* proceeds the actual PN 511 code. This makes it easier for downstream code
44
* to determine the location of data segment syncs merely by counting. They'll
45
* occur every 832 samples assuming everything is working.
46
*/
47
48
class
ATSC_API
atsci_fs_correlator
{
49
50
public
:
51
52
// CREATORS
53
atsci_fs_correlator
();
54
virtual
~
atsci_fs_correlator
() = 0;
55
56
// MANIPULATORS
57
virtual
void
reset () = 0;
58
virtual
void
filter (
float
input_sample,
float
*output_sample,
float
*output_tag) = 0;
59
60
// ACCESSORS
61
62
//! return delay in samples from input to output
63
virtual
int
delay ()
const
= 0;
64
};
65
66
#endif
/* _ATSC_FS_CORRELATOR_H_ */
ATSC_API
#define ATSC_API
Definition:
gr-atsc/include/gnuradio/atsc/api.h:30
api.h
atsci_fs_correlator
abstract base class for ATSC field sync correlator
Definition:
fs_correlator_impl.h:48
gnuradio
gr-atsc
include
gnuradio
atsc
fs_correlator_impl.h
Generated on Mon Sep 22 2014 16:08:59 for GNU Radio 3.7.2 C++ API by
1.8.6