![]()  | 
  
  
  
    ccsoft
    0.0.0
    
   Convolutional codes library with soft decision decoding 
   | 
  
  
  
 
Convolutional encoding class. Supports any k,n with k<n. The input bits of a symbol are clocked simultaneously into the right hand side, or least significant position of the internal registers. Therefore the given polynomial representation of generators should follow the same convention. More...
#include <CC_Encoding.h>


Public Member Functions | |
| CC_Encoding (const std::vector< unsigned int > &_constraints, const std::vector< std::vector< T_Register > > &_genpoly_representations) | |
| virtual | ~CC_Encoding () | 
| void | clear () | 
| virtual T_Register & | get_register (unsigned int index) | 
| const std::vector< T_Register > & | get_registers () const | 
| void | set_registers (const std::vector< T_Register > &_registers) | 
Protected Attributes | |
| std::vector< T_Register > | registers | 
| Memory registers as many as there are inputs.   | |
Convolutional encoding class. Supports any k,n with k<n. The input bits of a symbol are clocked simultaneously into the right hand side, or least significant position of the internal registers. Therefore the given polynomial representation of generators should follow the same convention.
| T_Register | type of the internal registers | 
| T_IOSymbol | type used to pass input and output symbols | 
| ccsoft::CC_Encoding< T_Register, T_IOSymbol >::CC_Encoding | ( | const std::vector< unsigned int > & | _constraints, | 
| const std::vector< std::vector< T_Register > > & | _genpoly_representations | ||
| ) |  [inline] | 
        
Constructor.
| _constraints | Vector of register lengths (constraint length + 1). The number of elements determines k. | 
| _genpoly_representations | Generator polynomial numeric representations. There are as many elements as there are input bits (k). Each element is itself a vector with one polynomial value per output bit. The smallest size of these vectors is retained as the number of output bits n. The input bits of a symbol are clocked simultaneously into the right hand side, or least significant position of the internal registers. Therefore the given polynomial representation of generators should follow the same convention. | 
                                                                                                                                :
        CC_Encoding_base<T_Register, T_IOSymbol>(_constraints, _genpoly_representations),
        registers(_constraints.size(),0)
    {
    }
| virtual ccsoft::CC_Encoding< T_Register, T_IOSymbol >::~CC_Encoding | ( | ) |  [inline, virtual] | 
        
Destructor
    {}
| void ccsoft::CC_Encoding< T_Register, T_IOSymbol >::clear | ( | ) |  [inline] | 
        
| virtual T_Register& ccsoft::CC_Encoding< T_Register, T_IOSymbol >::get_register | ( | unsigned int | index | ) |  [inline, virtual] | 
        
Get a R/W reference to a regiser
| index | Index of the register | 
Implements ccsoft::CC_Encoding_base< T_Register, T_IOSymbol >.
    {
        return registers[index];
    }
| const std::vector<T_Register>& ccsoft::CC_Encoding< T_Register, T_IOSymbol >::get_registers | ( | ) |  const [inline] | 
        
Get registers reference
    {
        return registers;
    }
| void ccsoft::CC_Encoding< T_Register, T_IOSymbol >::set_registers | ( | const std::vector< T_Register > & | _registers | ) |  [inline] | 
        
Set registers
    {
        registers = _registers;
    }
std::vector<T_Register> ccsoft::CC_Encoding< T_Register, T_IOSymbol >::registers [protected] | 
        
Memory registers as many as there are inputs.