atsci_basic_trellis_encoder Class Reference

#include <atsci_basic_trellis_encoder.h>

List of all members.


Detailed Description

ATSC trellis encoder building block.

Note this is NOT the 12x interleaved interface.

This implements a single instance of the ATSC trellis encoder. This is a rate 2/3 encoder (really a constraint length 3, rate 1/2 encoder with the top bit passed through unencoded. This does not implement the "precoding" of the top bit, because the NTSC rejection filter is not supported.

Public Member Functions

 atsci_basic_trellis_encoder ()
int encode (unsigned int input)
void reset ()
 reset encoder state

Static Public Attributes

static const unsigned char next_state [32]
static const unsigned char out_symbol [32]


Constructor & Destructor Documentation

atsci_basic_trellis_encoder::atsci_basic_trellis_encoder (  )  [inline]


Member Function Documentation

int atsci_basic_trellis_encoder::encode ( unsigned int  input  ) 

Encode two bit INPUT into 3 bit return value. Domain is [0,3], Range is [0,7]. The mapping to bipolar levels is not done.

References next_state, and out_symbol.

Referenced by atsci_trellis_encoder::encode_helper().

void atsci_basic_trellis_encoder::reset (  )  [inline]

reset encoder state


Member Data Documentation

const unsigned char atsci_basic_trellis_encoder::next_state [static]

Initial value:

 {
  0,1,4,5,
  2,3,6,7,
  1,0,5,4,
  3,2,7,6,
  4,5,0,1,
  6,7,2,3,
  5,4,1,0,
  7,6,3,2
}

Referenced by encode().

const unsigned char atsci_basic_trellis_encoder::out_symbol [static]

Initial value:

 {
  0,2,4,6,
  1,3,5,7,
  0,2,4,6,
  1,3,5,7,
  4,6,0,2,
  5,7,1,3,
  4,6,0,2,
  5,7,1,3
}

Referenced by encode().


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

Generated on Thu Mar 27 14:50:01 2008 for GNU Radio 3.1.1 by  doxygen 1.5.5