Multicode spreading of complex symbols to complex output. More...
#include <itpp/comm/spread.h>
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) | |
int | get_period () |
Returns the spreading factor. | |
Protected Attributes | |
Multicode_Spread_1d | mcspreadI |
Multicode_Spread_1d | mcspreadQ |
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
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 176 of file spread.cpp.
References it_assert, mcspreadI, mcspreadQ, and itpp::Multicode_Spread_1d::set_codes().
Referenced by Multicode_Spread_2d().
|
protected |
The multicode spreaders for the I and Q channels respectively
Definition at line 274 of file spread.h.
Referenced by despread(), get_codesI(), set_codes(), and spread().
|
protected |
The multicode spreaders for the I and Q channels respectively
Definition at line 274 of file spread.h.
Referenced by despread(), get_codesQ(), set_codes(), and spread().
Generated on Sat May 25 2013 16:32:32 for IT++ by Doxygen 1.8.2