SPUC
3.0
|
A Viterbi decoder (for DVB) More...
#include <viterbi.h>
Public Member Functions | |
viterbi () | |
void | reset () |
bool | clock (long value) |
bool | decode (long s0, long s1) |
void | minimize_metrics () |
bool | depuncture (const long steal, long soft_in) |
Public Attributes | |
bool | decoded |
bool | enable_output |
bool | output_ready |
long | prev_value |
viterbi_state * | state0 |
viterbi_state * | state1 |
viterbi_state * | state |
viterbi_state * | next |
int | bitcnt |
int | beststate |
long | depuncture_bit_number |
bool | phase |
A Viterbi decoder (for DVB)
The two generator polynomials for the NASA Standard K=7 code. Since these polynomials are known to be optimal for this constraint length there is not much point in changing them. But if you do, you will have to regenerate the BUTTERFLY macro calls in viterbi()
|
inline |
|
inline |
References decode(), and decoded.
Referenced by depuncture().
bool SPUC::viterbi::decode | ( | long | s0, |
long | s1 | ||
) |
bool SPUC::viterbi::depuncture | ( | const long | steal, |
long | soft_in | ||
) |
References clock(), depuncture_bit_number, and phase.
Referenced by SPUC::qam_conv_decoder::data_decode().
|
inline |
References beststate.
|
inline |
References state0, and state1.
Referenced by SPUC::qam_conv_decoder::reset(), and viterbi().
int SPUC::viterbi::beststate |
Referenced by decode(), and minimize_metrics().
int SPUC::viterbi::bitcnt |
Referenced by decode().
bool SPUC::viterbi::decoded |
Referenced by clock().
long SPUC::viterbi::depuncture_bit_number |
Referenced by depuncture().
bool SPUC::viterbi::enable_output |
Referenced by decode().
viterbi_state * SPUC::viterbi::next |
Referenced by decode().
bool SPUC::viterbi::output_ready |
Referenced by SPUC::qam_conv_decoder::data_decode().
bool SPUC::viterbi::phase |
Referenced by depuncture().
long SPUC::viterbi::prev_value |
viterbi_state * SPUC::viterbi::state |
Referenced by decode().