IT++ Logo
Public Member Functions | List of all members

Space Time block Codes (STC) class. More...

#include <itpp/comm/stc.h>

Public Member Functions

 STC (const std::string &in_code_name, int in_const_size, int in_em_antenna=0, int in_channel_uses=0)
 Space Time Code constructor (sets up the generator matrices using Hassibi's method)
 
void setup (const std::string &in_code_name, int in_const_size, int in_em_antenna=0, int in_channel_uses=0)
 Sets up the generator matrices using Hassibi's method (can be used to obtain new generator matrices, e.g. for a different code)
 
int get_nb_emission_antenna (void) const
 Gets the number of emission antenna (for some codes this is a predefined parameter)
 
int get_channel_uses (void) const
 Gets the channel uses (for some codes this is a predefined parameter)
 
int get_nb_symbols_per_block (void) const
 Gets the number of symbols per block (for all codes this is an output parameter)
 
itpp::cmat get_1st_gen_matrix (void) const
 Gets the first generator matrix of the ST code following Hassibi's approach.
 
itpp::cmat get_2nd_gen_matrix (void) const
 Gets the second generator matrix of the ST code following Hassibi's approach.
 
itpp::cmat encode (const itpp::cvec &symb)
 Encodes input symbols according to the specified ST code.
 

Detailed Description

Space Time block Codes (STC) class.

Implements space time block codes using Hassibi's model. The following codes are available:

The code name and the constellation size are always needed to generate the requested code. The number of emission antenna and the channel uses are required by some codes to be provided by the user as input parameters, for other codes they have predefined values and don't need to be specified by the user. The number of symbols per block is always set internally. Therefore, it is recommended that after setting up the generator matrices (either through the constructor or through the setup() method) to call getters in order to obtain the number of emission antenna, the channel uses and the number of symbols per block.

Usage example:

STC stc(code_name, const_size);
nb_em_antenna = stc.get_nb_emission_antenna();
channel_uses = stc.get_channel_uses();
symb_block = stc.get_nb_symbols_per_block();
//symbol generation
enc_symb = stc.encode(symb);

Reference: B. Hassibi and B. M. Hochwald, ''High-rate codes that are linear in space and time,`` IEEE Transactions on Information Theory, vol. 48, pp. 1804-1824, July 2002

Definition at line 80 of file stc.h.

Constructor & Destructor Documentation

itpp::STC::STC ( const std::string &  in_code_name,
int  in_const_size,
int  in_em_antenna = 0,
int  in_channel_uses = 0 
)
inline

Space Time Code constructor (sets up the generator matrices using Hassibi's method)

Parameters
in_code_namecode name (see available codes)
in_const_sizeconstellation size (should be at least two)
in_em_antennanumber of emission antenna (for some codes it is set internally and should be obtained with get_nb_emission_antenna())
in_channel_usesnumber of channel uses (for some codes it is set internally and should be obtained with get_channel_uses())

Definition at line 84 of file stc.h.

Member Function Documentation

void itpp::STC::setup ( const std::string &  in_code_name,
int  in_const_size,
int  in_em_antenna = 0,
int  in_channel_uses = 0 
)
inline

Sets up the generator matrices using Hassibi's method (can be used to obtain new generator matrices, e.g. for a different code)

Parameters
in_code_namecode name (see available codes)
in_const_sizeconstellation size (should be at least two)
in_em_antennanumber of emission antenna (for some codes it is set internally and should be obtained with get_nb_emission_antenna())
in_channel_usesnumber of channel uses (for some codes it is set internally and should be obtained with get_channel_uses())

Definition at line 93 of file stc.h.

References it_assert.


The documentation for this class was generated from the following files:
SourceForge Logo

Generated on Sat Jul 6 2013 10:54:33 for IT++ by Doxygen 1.8.2