Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

simthlib::PunctConvEncoder Class Reference

#include <encoder.h>

Inheritance diagram for simthlib::PunctConvEncoder:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 PunctConvEncoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int codeRateNumerator, int codeRateDenumerator, int mem, int inbits, int outbits)
 PunctConvEncoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, int codeRateNumerator, int codeRateDenumerator, int inBitsPerStep, const simth::checkedVector< int > &polynomials, const int recursivePolynomial, bool systematic)
 PunctConvEncoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl)
 PunctConvEncoder (int deviceID, simth::DeviceSystemIntf *system, const simth::PropertyList &pl, const std::string &puncturingPattern, int inBitsPerStep, const simth::checkedVector< int > &polynomials, const int recursivePolynomial, bool systematic)
virtual ~PunctConvEncoder ()
virtual int getDataLength (int codedLength) const
virtual int getCodeLength (int rawLength) const
virtual void Encode (const simth::BitSeq &bsin, simth::BitSeq *bsout) const

Related Functions

(Note that these are not member functions.)

 propertylist_PunctConvEncoder (not_a_function)

Detailed Description

brief convolutional coder.

This class simulates a convolutional coder including puncturing. A particular coder is determined by the memory length, the number of input bits and the number of output bits. These parameters are passed as arguments of the constructor.


Constructor & Destructor Documentation

simthlib::PunctConvEncoder::PunctConvEncoder int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl,
int  codeRateNumerator,
int  codeRateDenumerator,
int  mem,
int  inbits,
int  outbits
 

Class constructor.

Parameters:
deviceID ID of this device
system Pointer to parent simulation system
pl Property list of this device
codeRateNumerator FIXME: add doc
codeRateDenumerator FIXME: add doc
mem memory length of the coder
inbits number of input bits per step
outbits number of output bits per step

simthlib::PunctConvEncoder::PunctConvEncoder int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl,
int  codeRateNumerator,
int  codeRateDenumerator,
int  inBitsPerStep,
const simth::checkedVector< int > &  polynomials,
const int  recursivePolynomial,
bool  systematic
 

simthlib::PunctConvEncoder::PunctConvEncoder int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl
 

Constructor for factory function

simthlib::PunctConvEncoder::PunctConvEncoder int  deviceID,
simth::DeviceSystemIntf system,
const simth::PropertyList pl,
const std::string &  puncturingPattern,
int  inBitsPerStep,
const simth::checkedVector< int > &  polynomials,
const int  recursivePolynomial,
bool  systematic
 

virtual simthlib::PunctConvEncoder::~PunctConvEncoder  )  [inline, virtual]
 


Member Function Documentation

virtual void simthlib::PunctConvEncoder::Encode const simth::BitSeq bsin,
simth::BitSeq bsout
const [virtual]
 

Encodes a bit sequence.

Reimplemented from simthlib::ConvEncoder.

virtual int simthlib::PunctConvEncoder::getCodeLength int  rawLength  )  const [virtual]
 

Returns the length of the coded bit sequence which the coder generates from a data sequence of the given length.

Reimplemented from simthlib::ConvEncoder.

virtual int simthlib::PunctConvEncoder::getDataLength int  codedLength  )  const [virtual]
 

Returns the length of a data bit sequence which can be encoded into a coded bit sequence of the given length.

Reimplemented from simthlib::ConvEncoder.


Friends And Related Function Documentation

propertylist_PunctConvEncoder not_a_function   )  [related]
 

These are the properties of class PunctConvEncoder . This list is auto-generated from the XML-Devicelist of this device by means of an XSLT transformation script.

Description of this device in the XML file: Punctured binary convolutional encoder. Specify this by the polynomial (e.g. '1' for uncoded transmission and '171 133' for the HiperLAN/2 code) and the puncturing rate.

Note that this class also has the Properties of its base classes. The direct base class is simthlib::ConvEncoder ; direct link to its propertylist should be propertylist_ConvEncoder(). The list below usually includes the properties that have been inherited from the base classes; the properties which belong only to this class can be found at the end of this list.

input_length
<sequencelength>, default "" --

1 properties in this class. The above properties have been inherited from the base class simthlib::Encoder .

bits_per_step
<unsigned>, default "1" -- The number of input bits per step. (Usually this is left at 1.) FIXME: Document me!

polynomials
<vector_octal_int>, default "" -- The sequence of forward polynomials specifying the code, in octal notation. For an uncoded sequence, this is '1'. For HiperLAN/2, this is '171 133'.

recursive_polynomial
<octal_int>, default "0" -- The recursive polynomial in octal notation (equals 0 for non recursive codes)

systematic
<bool>, default "false" -- If true a systematic part is considered

4 properties in this class. The above properties have been inherited from the base class simthlib::ConvEncoder .

code_rate_numerator
<unsigned>, default "1" -- The numerator for the code rate fraction.

code_rate_denominator
<unsigned>, default "1" -- The denumerator for the code rate fraction, i.e. for code rate 1/2 this is '2'.

2 properties in this class.


Generated on Tue Aug 9 14:38:09 2005 for simtheticlib by  doxygen 1.4.1