GNU Radio's GSM Package
ViterbiR2O4 Class Reference

#include <ViterbiR204.h>

Inheritance diagram for ViterbiR2O4:
[legend]

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

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

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

◆ 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: