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

atsc_trellis_encoder Class Reference

fancy, schmancy 12-way interleaved trellis encoder for ATSC More...

#include <atsc_trellis_encoder.h>

List of all members.

Public Member Functions

 atsc_trellis_encoder ()
 ~atsc_trellis_encoder ()
void reset ()
 reset all encoder states

void encode (atsc_data_segment out[NCODERS], const atsc_mpeg_packet_rs_encoded in[NCODERS])

Static Public Attributes

const int NCODERS = 12

Protected Member Functions

void encode_helper (unsigned char out[OUTPUT_SIZE], const unsigned char in[INPUT_SIZE])

Protected Attributes

atsc_basic_trellis_encoder enc [NCODERS]
bool debug

Static Protected Attributes

const int SEGMENT_SIZE = ATSC_MPEG_RS_ENCODED_LENGTH
const int INPUT_SIZE = (SEGMENT_SIZE * 12)
const int OUTPUT_SIZE = (ATSC_DATA_SEGMENT_LENGTH * 12)


Detailed Description

fancy, schmancy 12-way interleaved trellis encoder for ATSC


Constructor & Destructor Documentation

atsc_trellis_encoder::atsc_trellis_encoder  ) 
 

atsc_trellis_encoder::~atsc_trellis_encoder  ) 
 


Member Function Documentation

void atsc_trellis_encoder::encode atsc_data_segment  out[NCODERS],
const atsc_mpeg_packet_rs_encoded  in[NCODERS]
 

Take 12 RS encoded, convolutionally interleaved segments and produce 12 trellis coded data segments. We work in groups of 12 because that's the smallest number of segments that composes a single full cycle of the encoder mux.

void atsc_trellis_encoder::encode_helper unsigned char  out[OUTPUT_SIZE],
const unsigned char  in[INPUT_SIZE]
[protected]
 

void atsc_trellis_encoder::reset  ) 
 

reset all encoder states


Member Data Documentation

bool atsc_trellis_encoder::debug [protected]
 

atsc_basic_trellis_encoder atsc_trellis_encoder::enc[NCODERS] [protected]
 

const int atsc_trellis_encoder::INPUT_SIZE = (SEGMENT_SIZE * 12) [static, protected]
 

const int atsc_trellis_encoder::NCODERS = 12 [static]
 

const int atsc_trellis_encoder::OUTPUT_SIZE = (ATSC_DATA_SEGMENT_LENGTH * 12) [static, protected]
 

const int atsc_trellis_encoder::SEGMENT_SIZE = ATSC_MPEG_RS_ENCODED_LENGTH [static, protected]
 


The documentation for this class was generated from the following files:
Generated on Tue Mar 30 21:32:06 2004 for GNU Radio by doxygen 1.3.2