ViterbiR2O4 Class Reference

`#include <ViterbiR204.h>`

Inheritance diagram for ViterbiR2O4:

## Classes

struct | candStruct

## Derived values.

typedef struct ViterbiR2O4::candStruct | vCand
void | vitClear (vCand &v)

## Survivors and candidates.

unsigned | iRate () const
uint32_t | cMask () const
uint32_t | stateTable (unsigned g, unsigned i) const
unsigned | deferral () const
| ViterbiR2O4 ()
void | initializeStates ()
const vCand * | vstep (uint32_t inSample, const float *probs, const float *iprobs, bool isNotTailBits)
void | encode (const BitVector &in, BitVector &target) const
void | decode (const SoftVector &in, BitVector &target)
int | getBEC ()

## Additional Inherited Members

Public Member Functions inherited from ViterbiBase
unsigned | applyPoly (uint64_t val, uint64_t poly)
unsigned | applyPoly (uint64_t val, uint64_t poly, unsigned order)

## Detailed Description

Class to represent convolutional coders/decoders of rate 1/2, memory length 4. This is the "workhorse" coder for most GSM channels.

## Member Typedef Documentation

## vCand

typedef struct ViterbiR2O4::candStruct ViterbiR2O4::vCand

A candidate sequence in a Viterbi decoder. The 32-bit state register can support a deferral of 6 with a 4th-order coder.

## Constructor & Destructor Documentation

## ViterbiR2O4()

ViterbiR2O4::ViterbiR2O4 | ( |  | ) |

## Member Function Documentation

## cMask()

uint32_t ViterbiR2O4::cMask | ( |  | ) | const

inline

## decode()

void ViterbiR2O4::decode | ( | const SoftVector & | in,
|  | BitVector & | target
| ) |  |

virtual

Implements ViterbiBase.

## deferral()

unsigned ViterbiR2O4::deferral | ( |  | ) | const

inline

## encode()

void ViterbiR2O4::encode | ( | const BitVector & | in,
|  | BitVector & | target
| ) |  | const

virtual

Implements ViterbiBase.

## getBEC()

int ViterbiR2O4::getBEC | ( |  | ) |

inline virtual

Reimplemented from ViterbiBase.

## initializeStates()

void ViterbiR2O4::initializeStates | ( |  | ) |

Set all cost metrics to zero.

## iRate()

unsigned ViterbiR2O4::iRate | ( |  | ) | const

inline

## stateTable()

uint32_t ViterbiR2O4::stateTable | ( | unsigned | g,
|  | unsigned | i
| ) |  | const

inline

## vitClear()

void ViterbiR2O4::vitClear | ( | vCand & | v | ) |

inline

Clear a structure.

References ViterbiR2O4::candStruct::bitErrorCnt, ViterbiR2O4::candStruct::cost, ViterbiR2O4::candStruct::iState, and ViterbiR2O4::candStruct::oState.

## vstep()

const vCand * ViterbiR2O4::vstep | ( | uint32_t | inSample,
|  | const float * | probs,
|  | const float * | iprobs,
|  | bool | isNotTailBits
| ) |  |

Full cycle of the Viterbi algorithm: branch, metrics, prune, select.

Returns
  reference to minimum-cost candidate.

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

- ViterbiR204.h