IT++ Logo
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
itpp::IFFT_Fading_Generator Class Reference

IFFT type Fading generator class. More...

#include <itpp/comm/channel.h>

Inheritance diagram for itpp::IFFT_Fading_Generator:
itpp::Correlated_Fading_Generator itpp::Fading_Generator

Public Member Functions

 IFFT_Fading_Generator (double norm_doppler)
 Default constructor.
 
virtual ~IFFT_Fading_Generator ()
 Destructor.
 
virtual void init ()
 Initialize the generator.
 
virtual void generate (int no_samples, cvec &output)
 Generate no_samples values from the fading process.
 
virtual void set_norm_doppler (double norm_doppler)
 Set normalized Doppler.
 
virtual void set_LOS_doppler (double relative_doppler)
 Set relative Doppler (compared to the maximum Doppler) for the LOS component.
 
virtual void set_time_offset (int offset)
 Set time offset in samples.
 
virtual double get_norm_doppler () const
 Return normalized Doppler.
 
virtual double get_LOS_doppler () const
 Get relative Doppler (compared to the maximum doppler) for the LOS component.
 
virtual double get_time_offset () const
 Get time offset in samples.
 
virtual void shift_time_offset (int no_samples)
 Shift generator time offset by a number of samples.
 
cvec generate (int no_samples)
 Generate no_samples values from the fading process.
 
void set_LOS_power (double relative_power)
 Set relative LOS power.
 
virtual void set_filter_length (int filter_length)
 Set FIR filter length (for FIR fading generator)
 
virtual void set_doppler_spectrum (DOPPLER_SPECTRUM spectrum)
 Set Doppler spectrum (for Rice fading generator)
 
virtual void set_no_frequencies (int no_freq)
 Set number of sine frequencies (for Rice fading generator)
 
virtual void set_rice_method (RICE_METHOD method)
 Set calculation method of Doppler frequencies and amplitudes (for Rice fading generator)
 
double get_LOS_power () const
 Get relative power of LOS component (Rice factor)
 
virtual int get_filter_length () const
 Set FIR filter length (for FIR fading generator)
 
virtual DOPPLER_SPECTRUM get_doppler_spectrum () const
 Return Doppler spectrum (for Rice fading generator)
 
virtual int get_no_frequencies () const
 Get number of sine frequencies (for Rice fading generator)
 
virtual RICE_METHOD get_rice_method () const
 Get calculation method of Doppler frequencies and amplitudes (for Rice fading generator)
 

Protected Member Functions

void generate_Jakes (int no_samples, cvec &output)
 Generator for Jakes spectrum.
 
void add_LOS (int idx, std::complex< double > &sample)
 add LOS component to the sample with index idx
 

Protected Attributes

double n_dopp
 Normalized maximum Doppler frequency.
 
double los_dopp
 Relative Doppler on LOS component (0.7 by default)
 
double time_offset
 Time offset in samples (time state in the generator)
 
bool init_flag
 signals if generator is initialized or not
 
double los_power
 Relative power of LOS component compared to diffuse component (K factor)
 
double los_diffuse
 Diffuse component: sqrt(1 / (1 + los_power))
 
double los_direct
 Direct component: sqrt(los_power / (1 + los_power))
 

Detailed Description

IFFT type Fading generator class.

Author
Tony Ottosson and Adam Piatyszek

A IFFT generator is a frequency domain filter implementation of filter method for generation of a fading process. Parameters that define the generator is the normalized Doppler.

The method is block-based and consecutive blocks are independent fading. The method is very efficient for large blocks. The size of the FFT, $ N_\mathrm{fft} $, is given by the nearest higher integer power of two that is larger than no_samples. For small blocks the FFT size is increased to keep a good accuracy (at least 10 samples in the representation of the Doppler spectrum). However, to keep the program reasonably efficient the largest upsampling factor is 64. Higher factors will result in a run-time error. If so, please use another method.

References:

Definition at line 597 of file channel.h.


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

Generated on Sat May 25 2013 16:32:30 for IT++ by Doxygen 1.8.2