#include <atsc_sssr.h>
Public Member Functions | |
| atsc_sssr () | |
| ~atsc_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) | |
Private Member Functions | |
| bool | incr_counter () |
| void | incr_symbol_index () |
Private Attributes | |
| sssr::digital_correlator | d_correlator |
| sssr::seg_sync_integrator | d_integrator |
| sssr::quad_filter | d_quad_filter |
| double | d_quad_output [ATSC_DATA_SEGMENT_LENGTH] |
| double | d_timing_adjust |
| int | d_counter |
| int | d_symbol_index |
| bool | d_seg_locked |
| FILE * | d_debug_fp |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call on channel change
|
|
||||||||||||||||||||
|
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. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.3.8