GNU Radio 3.3.0 C++ API
|
abstract base class for ATSC field sync correlator More...
#include <atsci_fs_correlator.h>
Public Member Functions | |
atsci_fs_correlator () | |
virtual | ~atsci_fs_correlator ()=0 |
virtual void | reset ()=0 |
virtual void | filter (float input_sample, float *output_sample, float *output_tag)=0 |
virtual int | delay () const =0 |
return delay in samples from input to output |
abstract base class for ATSC field sync correlator
Processes input samples one at a time looking for an occurence of either the field sync 1 or field sync 2 pattern.
For each sample processed, an output sample and an output tag are produced. The output samples are identical to the input samples but are delayed by a number of samples given by delay()
. The output tag associated with the the given output sample indicates whether this sample is the beginning of one of the field syncs or is an ordinary sample. The tags are defined in atsci_sync_tag.h.
For ease of use, the field sync patterns are defined to begin with the first symbol of the 4 symbol data segment sync pattern that immediately proceeds the actual PN 511 code. This makes it easier for downstream code to determine the location of data segment syncs merely by counting. They'll occur every 832 samples assuming everything is working.
atsci_fs_correlator::atsci_fs_correlator | ( | ) |
virtual atsci_fs_correlator::~atsci_fs_correlator | ( | ) | [pure virtual] |
virtual int atsci_fs_correlator::delay | ( | ) | const [pure virtual] |
return delay in samples from input to output
Implemented in atsci_fs_correlator_naive.
virtual void atsci_fs_correlator::filter | ( | float | input_sample, |
float * | output_sample, | ||
float * | output_tag | ||
) | [pure virtual] |
Implemented in atsci_fs_correlator_naive.
virtual void atsci_fs_correlator::reset | ( | ) | [pure virtual] |
Implemented in atsci_fs_correlator_naive.