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

Author
Tony Kirke, Copyright(c) 2001
Tony Kirke

Constructor & Destructor Documentation

SPUC::viterbi::viterbi ( )
inline

References reset(), state0, and state1.

Here is the call graph for this function:

Member Function Documentation

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

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

References beststate.

void SPUC::viterbi::reset ( void  )
inline

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: