IT++ Logo Newcom Logo

itpp::FIR_Fading_Generator Class Reference
[Communication Channel Models]

FIR type Fading generator class. More...

#include <itpp/comm/channel.h>

Inheritance diagram for itpp::FIR_Fading_Generator:

itpp::Fading_Generator List of all members.

Public Member Functions

 FIR_Fading_Generator (const double norm_doppler=0.0, const DOPPLER_SPECTRUM spectrum=Jakes, const int filter_length=500)
virtual ~FIR_Fading_Generator ()
void set_filter_length (const int filter_length)
 Set FIR filter length.
int get_filter_length ()
 Get filter length.
virtual void init ()
 Initialize the generator (is not needed).
virtual void generate (const int no_samples, cvec &output)
 Generate no_samples values from the fading process.
virtual void generate (const int no_samples, const int upsampling_factor, cvec &output)
 is this really correct???
void set_norm_doppler (const double norm_doppler)
 Set normalized doppler rate.
void set_doppler_spectrum (const DOPPLER_SPECTRUM spectrum)
 Set doppler spectrum.
void set_LOS (const double relative_power, const double relative_doppler)
 Set LOS component. Used e.g. for Rice doppler spectrum. Rice factor and relative doppler (related to maximum doppler).
double get_norm_doppler ()
 Return normalized doppler rate.
DOPPLER_SPECTRUM get_doppler_spectrum ()
 Return doppler spectrum.
double get_LOS_power ()
 Get relative power of LOS component (Rice factor).
double get_LOS_doppler ()
 Get relative doppler (compared to maximum doppler) for the LOS component.
cvec generate (const int no_samples)
 Generate no_samples values from the fading process.
cvec generate (const int no_samples, const int upsampling_factor)
 Generate no_samples values from the fading process upsampled by upsampling_factor.
void shift_time_offset (const int no_samples)
 Shift generator time offset by a number of samples.

Protected Member Functions

void generate_zero_doppler (const int no_samples, cvec &output)
void generate_zero_doppler (const int no_samples, const int upsampling_factor, cvec &output)

Protected Attributes

int fir_length
 Generate no_samples values from the fading process.
int upsample_rate
MA_Filter< std::complex< double >,
double, std::complex< double > > 
fir_filter
cvec left_overs
DOPPLER_SPECTRUM dopp_spectrum
double n_dopp
double los_dopp
double los_power
bool init_flag
double time_offset

Detailed Description

FIR type Fading generator class.

Author:
Tony Ottosson
A FIR generator is a linear finite impulse response (FIR) filter implementation of filter method for generation of a fading process. Parameters that define the generator is the normalized doppler and the doppler spectrum. Possible values of doppler spectra are:

Furthermore also the number length of the FIR filter is needed. The default value is 500. If the normalized doppler frequency is lower than 0.1 an equivalent process of higher normalized doppler is generated and linearly interpolated.

References:

[St"uber] Gordon L. St"uber, Principles of mobile communication, 2nd. ed., Kluwer, 2001.

[Rappaport] Theodore S. Rappaport, Wireless communications: principles and practise, Prentice Hall, 1996.

Definition at line 367 of file channel.h.


Member Function Documentation

void itpp::FIR_Fading_Generator::set_filter_length ( const int  filter_length  ) 

Set FIR filter length.

Definition at line 287 of file channel.cpp.

References fir_length, itpp::Fading_Generator::init_flag, and it_assert.

Referenced by FIR_Fading_Generator().

int itpp::FIR_Fading_Generator::get_filter_length (  ) 

Get filter length.

Definition at line 294 of file channel.cpp.

References fir_length.

void itpp::FIR_Fading_Generator::init (  )  [virtual]

Initialize the generator (is not needed).

Implements itpp::Fading_Generator.

Definition at line 299 of file channel.cpp.

References itpp::Fading_Generator::dopp_spectrum, fir_filter, fir_length, itpp::Fading_Generator::init_flag, it_error, itpp::jake_filter(), left_overs, itpp::Fading_Generator::n_dopp, itpp::randn_c(), itpp::MA_Filter< T1, T2, T3 >::set_coeffs(), and upsample_rate.

Referenced by generate().

void itpp::FIR_Fading_Generator::generate ( const int  no_samples,
cvec &  output 
) [virtual]

Generate no_samples values from the fading process.

Implements itpp::Fading_Generator.

Definition at line 326 of file channel.cpp.

References itpp::ceil_i(), itpp::concat(), itpp::cos(), fir_filter, itpp::Fading_Generator::generate_zero_doppler(), init(), itpp::Fading_Generator::init_flag, left_overs, itpp::lininterp(), itpp::Fading_Generator::los_dopp, itpp::Fading_Generator::los_power, itpp::Fading_Generator::n_dopp, itpp::pi, itpp::randn_c(), itpp::sin(), itpp::sqrt(), itpp::Fading_Generator::time_offset, and upsample_rate.

Referenced by generate().

void itpp::FIR_Fading_Generator::generate ( const int  no_samples,
const int  upsampling_factor,
cvec &  output 
) [virtual]

is this really correct???

Implements itpp::Fading_Generator.

Definition at line 354 of file channel.cpp.

References generate().

void itpp::Fading_Generator::set_norm_doppler ( const double  norm_doppler  )  [inherited]

Set normalized doppler rate.

Definition at line 72 of file channel.cpp.

References itpp::Fading_Generator::init_flag, it_assert, and itpp::Fading_Generator::n_dopp.

Referenced by itpp::Fading_Generator::Fading_Generator().

void itpp::Fading_Generator::set_doppler_spectrum ( const DOPPLER_SPECTRUM  spectrum  )  [inherited]

Set doppler spectrum.

Definition at line 79 of file channel.cpp.

References itpp::Fading_Generator::dopp_spectrum, itpp::Fading_Generator::init_flag, itpp::Fading_Generator::los_dopp, and itpp::Fading_Generator::los_power.

Referenced by itpp::Fading_Generator::Fading_Generator().

void itpp::Fading_Generator::set_LOS ( const double  relative_power,
const double  relative_doppler 
) [inherited]

Set LOS component. Used e.g. for Rice doppler spectrum. Rice factor and relative doppler (related to maximum doppler).

Definition at line 89 of file channel.cpp.

References itpp::Fading_Generator::dopp_spectrum, itpp::Fading_Generator::init_flag, it_assert, itpp::Fading_Generator::los_dopp, and itpp::Fading_Generator::los_power.

double itpp::Fading_Generator::get_norm_doppler (  )  [inline, inherited]

Return normalized doppler rate.

Definition at line 234 of file channel.h.

References itpp::Fading_Generator::n_dopp.

DOPPLER_SPECTRUM itpp::Fading_Generator::get_doppler_spectrum (  )  [inline, inherited]

Return doppler spectrum.

Definition at line 236 of file channel.h.

References itpp::Fading_Generator::dopp_spectrum.

double itpp::Fading_Generator::get_LOS_power (  )  [inline, inherited]

Get relative power of LOS component (Rice factor).

Definition at line 238 of file channel.h.

References itpp::Fading_Generator::los_power.

double itpp::Fading_Generator::get_LOS_doppler (  )  [inline, inherited]

Get relative doppler (compared to maximum doppler) for the LOS component.

Definition at line 240 of file channel.h.

References itpp::Fading_Generator::los_dopp.

cvec itpp::Fading_Generator::generate ( const int  no_samples  )  [inherited]

Generate no_samples values from the fading process.

Definition at line 99 of file channel.cpp.

References itpp::Fading_Generator::generate().

cvec itpp::Fading_Generator::generate ( const int  no_samples,
const int  upsampling_factor 
) [inherited]

Generate no_samples values from the fading process upsampled by upsampling_factor.

Definition at line 106 of file channel.cpp.

References itpp::Fading_Generator::generate().

void itpp::Fading_Generator::shift_time_offset ( const int  no_samples  )  [inherited]

Shift generator time offset by a number of samples.

Definition at line 113 of file channel.cpp.

References itpp::Fading_Generator::time_offset.


Member Data Documentation

int itpp::FIR_Fading_Generator::fir_length [protected]

Generate no_samples values from the fading process.

Definition at line 390 of file channel.h.

Referenced by get_filter_length(), init(), and set_filter_length().


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

Generated on Thu Apr 19 14:43:49 2007 for IT++ by Doxygen 1.5.1