IT++ Logo Newcom Logo

itpp::Spread_2d Class Reference
[Digital Modulation]

Spreading of complex symbols to complex output. More...

#include <itpp/comm/spread.h>

List of all members.

Public Member Functions

 Spread_2d ()
 Constructor.
 Spread_2d (const vec &incodeI, const vec &incodeQ)
 Constructor.
void spread (const cvec &symbols, cvec &out)
 Spreading of signal.
cvec spread (const cvec &symbols)
 Spreading of signal.
void despread (const cvec &rec_signal, cvec &out, int timing)
 Despreading of signal. timing is the start position of the first symbol, given in number of samples.
cvec despread (const cvec &rec_signal, int timing)
 Despreading of signal. timing is the start position of the first symbol, given in number of samples.
void set_code (const vec &incodeI, const vec &incodeQ)
 Set the in-phase and the quadrature-phase spreading codes.
vec get_codeI ()
 Returns the in-phase spreading code.
vec get_codeQ ()
 Returns the quadrature-phase spreading code.
short get_period ()
 Get the period of the code (length of code vector).

Protected Attributes

Spread_1d spreadI
 The spreaders for the I and Q channels respectively.
Spread_1d spreadQ


Detailed Description

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 154 of file spread.h.


Constructor & Destructor Documentation

itpp::Spread_2d::Spread_2d (  )  [inline]

Constructor.

Definition at line 157 of file spread.h.

itpp::Spread_2d::Spread_2d ( const vec &  incodeI,
const vec &  incodeQ 
)

Constructor.

Definition at line 88 of file spread.cpp.

References set_code().


Member Function Documentation

void itpp::Spread_2d::spread ( const cvec &  symbols,
cvec &  out 
)

Spreading of signal.

Definition at line 100 of file spread.cpp.

References itpp::imag(), itpp::real(), itpp::Spread_1d::spread(), spreadI, spreadQ, and itpp::to_cvec().

Referenced by spread().

cvec itpp::Spread_2d::spread ( const cvec &  symbols  )  [inline]

Spreading of signal.

Definition at line 163 of file spread.h.

References spread().

void itpp::Spread_2d::despread ( const cvec &  rec_signal,
cvec &  out,
int  timing 
)

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

Definition at line 105 of file spread.cpp.

References itpp::Spread_1d::despread(), itpp::imag(), itpp::real(), spreadI, spreadQ, and itpp::to_cvec().

Referenced by despread().

cvec itpp::Spread_2d::despread ( const cvec &  rec_signal,
int  timing 
) [inline]

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

Definition at line 171 of file spread.h.

References despread().

void itpp::Spread_2d::set_code ( const vec &  incodeI,
const vec &  incodeQ 
)

Set the in-phase and the quadrature-phase spreading codes.

Definition at line 93 of file spread.cpp.

References it_assert, itpp::Spread_1d::set_code(), spreadI, and spreadQ.

Referenced by Spread_2d().

vec itpp::Spread_2d::get_codeI (  ) 

Returns the in-phase spreading code.

Definition at line 78 of file spread.cpp.

References itpp::Spread_1d::get_code(), and spreadI.

vec itpp::Spread_2d::get_codeQ (  ) 

Returns the quadrature-phase spreading code.

Definition at line 83 of file spread.cpp.

References itpp::Spread_1d::get_code(), and spreadQ.

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

Get the period of the code (length of code vector).

Definition at line 180 of file spread.h.

References itpp::Spread_1d::get_period(), and spreadI.


Member Data Documentation

Spread_1d itpp::Spread_2d::spreadI [protected]

The spreaders for the I and Q channels respectively.

Definition at line 183 of file spread.h.

Referenced by despread(), get_codeI(), get_period(), set_code(), and spread().


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

Generated on Fri Jun 8 02:09:05 2007 for IT++ by Doxygen 1.5.2