itpp_sci  1.0.0
it++ based simulation framework for scicoslab, scilab and scipy
Public Member Functions | Public Attributes | List of all members
SIM::cofdm_map Class Reference

mapper of QAM and BPSK symbol codes into COFDM carriers [I,Q]
Core immediate functions: SIM::cofdm_map.set_data(), SIM::cofdm_map.set_pilots(), SIM::cofdm_map.get_carriers()
Core clocked functions: SIM::cofdm_map.process()
More...

Inheritance diagram for SIM::cofdm_map:
Inheritance graph
[legend]

Public Member Functions

 cofdm_map ()
 
 ~cofdm_map ()
 
void set_NFFT (int n)
 
void set_qam_size (int m)
 
void set_PA (double pa)
 
void set_data_carriers (ivec dc_indx)
 
void set_pilots_carriers (ivec pc_indx)
 
void set_zero_carriers (ivec zc_indx)
 
void set_data (ivec x)
 
void set_pilots (bvec x)
 
cvec get_carriers ()
 
cmat process (const bvec &ce, const imat &x)
 

Public Attributes

cvec y0
 y0[i] - QAM[i,q] PILOTS[i,q] for carriers and pilots More...
 

Detailed Description

mapper of QAM and BPSK symbol codes into COFDM carriers [I,Q]
Core immediate functions: SIM::cofdm_map.set_data(), SIM::cofdm_map.set_pilots(), SIM::cofdm_map.get_carriers()
Core clocked functions: SIM::cofdm_map.process()

map QAM carrier [I+jQ] for QAM codes[0..M] for data and BPSK carrier [+/-p+j0] for boolean pilots

Constructor & Destructor Documentation

SIM::cofdm_map::cofdm_map ( )
inline
SIM::cofdm_map::~cofdm_map ( )
inline

Member Function Documentation

cvec SIM::cofdm_map::get_carriers ( )

get COFDM carriers - QAM data carriers [I+jQ], pilots [+/-PA+j0], zero [0+j0] set by set_data() and set_pilots()

Returns
- [cvec] y0
cmat SIM::cofdm_map::process ( const bvec &  ce,
const imat &  x 
)

for active clock ticks ce[i] and for [PILOT|DATA] codes x[i,:] return QAM, BPSK carriers y[i,:].

Parameters
ce- bvec[:] - clock enable vector,
x- imat[:,PILOT|DATA] - symbol codes,
Returns
y - cmat[:,NFFT] - carriers - QAM for data and BPSK for pilot carriers.
void SIM::cofdm_map::set_data ( ivec  x)

set QAM data carrier symbols, y0[data_carrier(i)] = QAM(x[i]), zero other carriers

Parameters
[in]x- [ivec] data carrier symbols
void SIM::cofdm_map::set_data_carriers ( ivec  dc_indx)

set data carrier indexes

Parameters
[in]dc_indx- [ivec] data carrier indexes, 0 =< index < NFFT
void SIM::cofdm_map::set_NFFT ( int  n)

set FFT size (2^k)

Parameters
[in]n- FFT size
void SIM::cofdm_map::set_PA ( double  pa)

set pilot amplitude

Parameters
[in]pa- pilot amplitude (pilot ? pa+j0:-pa+j0)-> y0[pilot_carrier(i)]
void SIM::cofdm_map::set_pilots ( bvec  x)

set pilots and zero carrier symbols, y0[pilot_carrier(i)] = (x[i]?pa+j0:-pa+j0)
/* zero carriers are set together with pilots - y0[zero_carrier(k)] = 0.0 + j0.0

Parameters
[in]x- [ivec] pilot carrier boolean values
void SIM::cofdm_map::set_pilots_carriers ( ivec  pc_indx)

set pilot carrier indexes

Parameters
[in]pc_indx- [ivec] pilot indexes, 0 =< index < NFFT
void SIM::cofdm_map::set_qam_size ( int  m)

set QAM size (4^k)

Parameters
[in]m- QAM size
void SIM::cofdm_map::set_zero_carriers ( ivec  zc_indx)

set zero carrier indexes

Parameters
[in]zc_indx- [ivec] zero carrier indexes, 0 =< index < NFFT

Member Data Documentation

cvec SIM::cofdm_map::y0

y0[i] - QAM[i,q] PILOTS[i,q] for carriers and pilots


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