SPUC  3.0
Public Member Functions | Public Attributes | List of all members

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

Detailed Description

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()

Tony Kirke, Copyright(c) 2001
Tony Kirke

Constructor & Destructor Documentation

SPUC::viterbi::viterbi ( )

References reset(), state0, and state1.

Here is the call graph for this function:

Member Function Documentation

bool SPUC::viterbi::clock ( long  value)

References decode(), and decoded.

Referenced by depuncture().

Here is the call graph for this function:

bool SPUC::viterbi::decode ( long  s0,
long  s1 

References beststate, bitcnt, BUTTERFLY, enable_output, next, state, state0, and state1.

Referenced by clock().

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().

Here is the call graph for this function:

void SPUC::viterbi::minimize_metrics ( )

References beststate.

void SPUC::viterbi::reset ( void  )

References state0, and state1.

Referenced by SPUC::qam_conv_decoder::reset(), and viterbi().

Member Data Documentation

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
bool SPUC::viterbi::phase

Referenced by depuncture().

long SPUC::viterbi::prev_value
viterbi_state * SPUC::viterbi::state

Referenced by decode().

viterbi_state* SPUC::viterbi::state0

Referenced by decode(), reset(), and viterbi().

viterbi_state * SPUC::viterbi::state1

Referenced by decode(), reset(), and viterbi().

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