itpp::Multicode_Spread_1d Class Reference
Communications Module » Digital Modulation

Multicode spreading of float symbols. More...

`#include <itpp/comm/spread.h>`

## Public Member Functions

| Multicode_Spread_1d ()
| Constructor.
| Multicode_Spread_1d (const mat &incodes)
| Constructor.
vec | spread (const vec &symbols)
| Spreading function.
vec | despread (const vec &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 &incodes)
| Set the spreading codes. Each row represent one spreading code. The spreading factor equals the number of columns.
mat | get_codes ()
| Returns the matrix containing the spreading codes used as rows in the matrix.
int | get_period ()
| Returns the spreading factor.
int | get_nocodes ()
| Returns the number of multi-codes used.

## Protected Attributes

mat | codes
| The spreading codes used size ( )
int | L
| The number of multi-codes.
int | N
| The spreading factor.

## Detailed Description

Multicode spreading of float symbols.

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

## Constructor & Destructor Documentation

## Multicode_Spread_1d() [1/2]

itpp::Multicode_Spread_1d::Multicode_Spread_1d | ( |  | ) |

inline

Constructor.

Definition at line 203 of file spread.h.

## Multicode_Spread_1d() [2/2]

itpp::Multicode_Spread_1d::Multicode_Spread_1d | ( | const mat & | incodes | ) |

Constructor.

Definition at line 113 of file spread.cpp.

References set_codes().

## Member Function Documentation

## spread()

vec itpp::Multicode_Spread_1d::spread | ( | const vec & | symbols | ) |

Spreading function.

Definition at line 132 of file spread.cpp.

References codes, L, itpp::Array< T >::mid(), and N.

Referenced by itpp::Multicode_Spread_2d::spread().

## despread()

vec itpp::Multicode_Spread_1d::despread | ( | const vec & | receivedsignal,
|  | int | timing
| ) |  |

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

Definition at line 145 of file spread.cpp.

References codes, L, itpp::Array< T >::length(), itpp::Array< T >::mid(), and N.

Referenced by itpp::Multicode_Spread_2d::despread().

## set_codes()

void itpp::Multicode_Spread_1d::set_codes | ( | const mat & | incodes | ) |

Set the spreading codes. Each row represent one spreading code. The spreading factor equals the number of columns.

Definition at line 118 of file spread.cpp.

References codes, L, N, and itpp::norm().

Referenced by Multicode_Spread_1d(), and itpp::Multicode_Spread_2d::set_codes().

## get_codes()

mat itpp::Multicode_Spread_1d::get_codes | ( |  | ) |

Returns the matrix containing the spreading codes used as rows in the matrix.

Definition at line 127 of file spread.cpp.

References codes.

Referenced by itpp::Multicode_Spread_2d::get_codesI(), and itpp::Multicode_Spread_2d::get_codesQ().

## get_period()

int itpp::Multicode_Spread_1d::get_period | ( |  | ) |

inline

Returns the spreading factor.

Definition at line 215 of file spread.h.

## get_nocodes()

int itpp::Multicode_Spread_1d::get_nocodes | ( |  | ) |

inline

Returns the number of multi-codes used.

Definition at line 217 of file spread.h.

## Member Data Documentation

## codes

mat itpp::Multicode_Spread_1d::codes

protected

The spreading codes used size ( )

Definition at line 220 of file spread.h.

Referenced by despread(), get_codes(), set_codes(), and spread().

## L

int itpp::Multicode_Spread_1d::L

protected

The number of multi-codes.

Definition at line 222 of file spread.h.

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

## N

int itpp::Multicode_Spread_1d::N

protected

The spreading factor.

Definition at line 224 of file spread.h.

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

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

- itpp/comm/spread.h
- itpp/comm/spread.cpp

Generated on Mon Apr 22 2024 09:45:27 for IT++ by Doxygen 1.9.8