IT++ Logo Newcom Logo

itpp::Multicode_Spread_2d Class Reference
[Digital Modulation]

Multicode spreading of complex symbols to complex output. More...

#include <itpp/comm/spread.h>

List of all members.

Public Member Functions

 Multicode_Spread_2d ()
 Constructor.
 Multicode_Spread_2d (const mat &incodesI, const mat &incodesQ)
 Constructor.
cvec spread (const cvec &symbols)
 Spreading of signal.
cvec despread (const cvec &receivedsignal, int timing)
 Despreading of signal. timing is the start position of the first symbol, given in number of samples.
void set_codes (const mat &incodesI, const mat &incodesQ)
 Set the spreading codes.
mat get_codesI ()
 Return the matrix containing the in-phase codes (as rows).
mat get_codesQ ()
 Return the matrix containing the quadrature-phase codes (as rows).
short get_period ()
 Returns the spreading factor.

Protected Attributes

Multicode_Spread_1d mcspreadI
 The multicode spreaders for the I and Q channels respectively.
Multicode_Spread_1d mcspreadQ


Detailed Description

Multicode spreading of complex symbols to complex output.

The spreading are done independently for the I and Q phases. That is real(symbols) are spread by the incodeI and imag(symbols) are spread by incodeQ.

Before despreading the phase should be corrected, that is the complex baseband signal should be multiplied by exp(j*PHIk), where PHIk is the phase of that user (and path).

Obeserve that the spreading is normalized so that the energy per bit is preserved before and after spreading (that is each symbol is multiplied with 1/sqrt(N)). Hence, for the multicode case the energy is normalized for one symbol (code) but the transmitted signal consist of a sum of several signals.

Example: See Spread_1d

Definition at line 245 of file spread.h.


Constructor & Destructor Documentation

itpp::Multicode_Spread_2d::Multicode_Spread_2d (  )  [inline]

Constructor.

Definition at line 248 of file spread.h.

itpp::Multicode_Spread_2d::Multicode_Spread_2d ( const mat &  incodesI,
const mat &  incodesQ 
)

Constructor.

Definition at line 163 of file spread.cpp.

References set_codes().


Member Function Documentation

cvec itpp::Multicode_Spread_2d::spread ( const cvec &  symbols  ) 

Spreading of signal.

Definition at line 186 of file spread.cpp.

References itpp::imag(), mcspreadI, mcspreadQ, itpp::real(), itpp::Multicode_Spread_1d::spread(), and itpp::to_cvec().

cvec itpp::Multicode_Spread_2d::despread ( const cvec &  receivedsignal,
int  timing 
)

Despreading of signal. timing is the start position of the first symbol, given in number of samples.

Definition at line 191 of file spread.cpp.

References itpp::Multicode_Spread_1d::despread(), itpp::imag(), mcspreadI, mcspreadQ, itpp::real(), and itpp::to_cvec().

void itpp::Multicode_Spread_2d::set_codes ( const mat &  incodesI,
const mat &  incodesQ 
)

Set the spreading codes.

The codes are given as rows in the matricies incodesI and incodesQ. The number of rows shall equal the number of multiple spreading codes

Definition at line 178 of file spread.cpp.

References it_assert, mcspreadI, mcspreadQ, and itpp::Multicode_Spread_1d::set_codes().

Referenced by Multicode_Spread_2d().

mat itpp::Multicode_Spread_2d::get_codesI (  ) 

Return the matrix containing the in-phase codes (as rows).

Definition at line 168 of file spread.cpp.

References itpp::Multicode_Spread_1d::get_codes(), and mcspreadI.

mat itpp::Multicode_Spread_2d::get_codesQ (  ) 

Return the matrix containing the quadrature-phase codes (as rows).

Definition at line 173 of file spread.cpp.

References itpp::Multicode_Spread_1d::get_codes(), and mcspreadQ.

short itpp::Multicode_Spread_2d::get_period (  )  [inline]

Returns the spreading factor.

Definition at line 267 of file spread.h.

References itpp::Multicode_Spread_1d::get_period(), and mcspreadI.


Member Data Documentation

Multicode_Spread_1d itpp::Multicode_Spread_2d::mcspreadI [protected]

The multicode spreaders for the I and Q channels respectively.

Definition at line 270 of file spread.h.

Referenced by despread(), get_codesI(), get_period(), set_codes(), and spread().


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

Generated on Sat Aug 25 23:41:05 2007 for IT++ by Doxygen 1.5.2