#include <atsc_basic_trellis_encoder.h>
Public Member Functions | |
atsc_basic_trellis_encoder () | |
int | encode (unsigned int input) |
void | reset () |
reset encoder state | |
Static Public Attributes | |
const unsigned char | next_state [32] |
const unsigned char | out_symbol [32] |
Private Attributes | |
int | state |
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.
|
|
|
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. |
|
reset encoder state
|
|
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 } |
|
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 } |
|
|