GNU Radio 3.4.0 C++ API
|
ATSC Segment and Symbol Sync Recovery. More...
#include <atsci_sssr.h>
Public Member Functions | |
atsci_sssr () | |
~atsci_sssr () | |
void | reset () |
call on channel change | |
void | update (sssr::sample_t sample_in, bool *seg_locked, int *symbol_index, double *timing_adjust) |
process a single sample at the ATSC symbol rate (~10.76 MSPS) |
ATSC Segment and Symbol Sync Recovery.
This class implements data segment sync tracking and symbol timing using the method described in "ATSC/VSB Tutorial - Receiver Technology" by Wayne E. Bretl of Zenith, pgs 41-45.
atsci_sssr::atsci_sssr | ( | ) |
atsci_sssr::~atsci_sssr | ( | ) |
void atsci_sssr::reset | ( | ) |
call on channel change
void atsci_sssr::update | ( | sssr::sample_t | sample_in, |
bool * | seg_locked, | ||
int * | symbol_index, | ||
double * | timing_adjust | ||
) |
process a single sample at the ATSC symbol rate (~10.76 MSPS)
This block computes an indication of our timing error and keeps track of where the segment sync's occur. timing_adjust
is returned to indicate how the interpolator timing needs to be adjusted to track the transmitter's symbol timing. If seg_locked
is true, then symbol_index
is the index of this sample in the current segment. The symbols are numbered from 0 to 831, where symbols 0, 1, 2 and 3 correspond to the data segment sync pattern, nominally +5, -5, -5, +5.