GNU Radio 3.7.0 C++ API
atsci_trellis_encoder Class Reference

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

#include <trellis_encoder_impl.h>

List of all members.

Public Member Functions

 atsci_trellis_encoder ()
 ~atsci_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

static const int NCODERS = 12

Protected Member Functions

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

Protected Attributes

atsci_basic_trellis_encoder enc [NCODERS]
bool debug

Static Protected Attributes

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

Detailed Description

fancy, schmancy 12-way interleaved trellis encoder for ATSC


Constructor & Destructor Documentation


Member Function Documentation

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 atsci_trellis_encoder::encode_helper ( unsigned char  out[OUTPUT_SIZE],
const unsigned char  in[INPUT_SIZE] 
) [protected]

reset all encoder states


Member Data Documentation

const int atsci_trellis_encoder::INPUT_SIZE = (SEGMENT_SIZE * 12) [static, protected]
const int atsci_trellis_encoder::NCODERS = 12 [static]
const int atsci_trellis_encoder::OUTPUT_SIZE = (ATSC_DATA_SEGMENT_LENGTH * 12) [static, protected]

The documentation for this class was generated from the following file: