Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

GrAtscSegSymSyncImpl Class Reference

concrete implementation of GrAtscSegSymSync More...

#include <GrAtscSegSymSyncImpl.h>

Inheritance diagram for GrAtscSegSymSyncImpl:

GrAtscSegSymSync VrDecimatingSigProc< float, float > VrHistoryProc< iType, oType > VrSigProc List of all members.

Public Member Functions

 GrAtscSegSymSyncImpl (double nominal_ratio_of_rx_clock_to_symbol_freq)
virtual ~GrAtscSegSymSyncImpl ()
virtual const char * name ()
 default name for a module (override with actual name)
virtual int forecast (VrSampleRange output, VrSampleRange inputs[])
 map output range to required input ranges
virtual int work (VrSampleRange output, void *o[], VrSampleRange inputs[], void *i[])
 Generate up to output.size output points at o[output#][sample#] using data at the inputptrs[input#][sample#].
void pre_initialize ()
 Set sampling frequency based on upstream sampling freq.
virtual void reset ()
 reset bit timing loop on channel change

Private Attributes

atsc_sssr d_sssr
atsc_interpolator d_interp
VrSampleIndex d_next_input
double d_rx_clock_to_symbol_freq

Detailed Description

concrete implementation of GrAtscSegSymSync

This class implements data segment sync tracking and symbol timing using a variation of the method described in "ATSC/VSB Tutorial - Receiver Technology" by Wayne E. Bretl of Zenith, pgs 41-45.


Constructor & Destructor Documentation

GrAtscSegSymSyncImpl::GrAtscSegSymSyncImpl double  nominal_ratio_of_rx_clock_to_symbol_freq  ) 
 

GrAtscSegSymSyncImpl::~GrAtscSegSymSyncImpl  )  [virtual]
 


Member Function Documentation

int GrAtscSegSymSyncImpl::forecast VrSampleRange  output,
VrSampleRange  inputs[]
[virtual]
 

map output range to required input ranges

Reimplemented from VrDecimatingSigProc< float, float >.

virtual const char* GrAtscSegSymSyncImpl::name  )  [inline, virtual]
 

default name for a module (override with actual name)

Reimplemented from VrSigProc.

void GrAtscSegSymSyncImpl::pre_initialize  )  [virtual]
 

Set sampling frequency based on upstream sampling freq.

This method handles automatically setting the sampling frequency for this module based on the sampling frequency of the upstream modules. For most modules, our sampling frequency is the same as our upstream neighbor. VrInterpolatingSigProc and VrDecimatingSigProc override this.

This method is called immediately prior to initialize.

Reimplemented from VrDecimatingSigProc< float, float >.

void GrAtscSegSymSyncImpl::reset  )  [virtual]
 

reset bit timing loop on channel change

Implements GrAtscSegSymSync.

int GrAtscSegSymSyncImpl::work VrSampleRange  output,
void *  o[],
VrSampleRange  inputs[],
void *  i[]
[virtual]
 

Generate up to output.size output points at o[output#][sample#] using data at the inputptrs[input#][sample#].

Pointers start at corresponding VrSampleIndex in the range params. output.size is a multiple of outputSize. Returns the number of outputs (<= output.size) that it was able to compute with the given input ranges. If this value is < output.size, forecast() will need to be called again.

Implements VrSigProc.


Member Data Documentation

atsc_interpolator GrAtscSegSymSyncImpl::d_interp [private]
 

VrSampleIndex GrAtscSegSymSyncImpl::d_next_input [private]
 

double GrAtscSegSymSyncImpl::d_rx_clock_to_symbol_freq [private]
 

atsc_sssr GrAtscSegSymSyncImpl::d_sssr [private]
 


The documentation for this class was generated from the following files:
Generated on Tue Mar 15 23:55:36 2005 for GNU Radio by  doxygen 1.4.0