#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
}
|
|
|
|
1.3.2