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

Fading generator class. More...

#include <itpp/comm/channel.h>

Inheritance diagram for itpp::Fading_Generator:
itpp::Correlated_Fading_Generator itpp::Independent_Fading_Generator itpp::Static_Fading_Generator itpp::FIR_Fading_Generator itpp::IFFT_Fading_Generator itpp::Rice_Fading_Generator

Public Member Functions

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

Protected Attributes

bool init_flag
 signals if generator is initialized or not More...
 
double los_power
 Relative power of LOS component compared to diffuse component (K factor) More...
 
double los_diffuse
 Diffuse component: sqrt(1 / (1 + los_power)) More...
 
double los_direct
 Direct component: sqrt(los_power / (1 + los_power)) More...
 

Detailed Description

Fading generator class.

Author
Tony Ottosson, Adam Piatyszek and Zbigniew Dlugaszewski

Abstract base class defining the interface of a single tap fading generator. Besides pure interface methods it implements a common set_LOS_power() method for setting up the Rice factor to be used in fading generators, which inherit from this class.

Definition at line 228 of file channel.h.

Constructor & Destructor Documentation

◆ Fading_Generator()

itpp::Fading_Generator::Fading_Generator ( )

Default constructor.

Definition at line 51 of file channel.cpp.

References set_LOS_power().

◆ ~Fading_Generator()

virtual itpp::Fading_Generator::~Fading_Generator ( )
inlinevirtual

Destructor.

Definition at line 234 of file channel.h.

Member Function Documentation

◆ set_LOS_power()

void itpp::Fading_Generator::set_LOS_power ( double  relative_power)

Set relative LOS power.

Definition at line 57 of file channel.cpp.

References it_assert, los_diffuse, los_direct, los_power, and itpp::sqrt().

Referenced by Fading_Generator().

◆ set_LOS_doppler()

void itpp::Fading_Generator::set_LOS_doppler ( double  relative_doppler)
virtual

Set relative Doppler of the LOS component (for correlated fading generators)

Reimplemented in itpp::Correlated_Fading_Generator.

Definition at line 66 of file channel.cpp.

References it_warning.

◆ set_time_offset()

void itpp::Fading_Generator::set_time_offset ( int  offset)
virtual

Set time offset in samples (for correlated fading generators)

Reimplemented in itpp::Correlated_Fading_Generator.

Definition at line 71 of file channel.cpp.

References it_warning.

◆ set_filter_length()

void itpp::Fading_Generator::set_filter_length ( int  filter_length)
virtual

Set FIR filter length (for FIR fading generator)

Reimplemented in itpp::FIR_Fading_Generator.

Definition at line 81 of file channel.cpp.

References it_warning.

◆ set_norm_doppler()

void itpp::Fading_Generator::set_norm_doppler ( double  norm_doppler)
virtual

Set normalized Doppler (for correlated fading generators)

Reimplemented in itpp::Correlated_Fading_Generator.

Definition at line 76 of file channel.cpp.

References it_warning.

◆ set_doppler_spectrum()

void itpp::Fading_Generator::set_doppler_spectrum ( DOPPLER_SPECTRUM  spectrum)
virtual

Set Doppler spectrum (for Rice fading generator)

Reimplemented in itpp::Rice_Fading_Generator.

Definition at line 86 of file channel.cpp.

References it_warning.

◆ set_no_frequencies()

void itpp::Fading_Generator::set_no_frequencies ( int  no_freq)
virtual

Set number of sine frequencies (for Rice fading generator)

Reimplemented in itpp::Rice_Fading_Generator.

Definition at line 91 of file channel.cpp.

References it_warning.

◆ set_rice_method()

void itpp::Fading_Generator::set_rice_method ( RICE_METHOD  method)
virtual

Set calculation method of Doppler frequencies and amplitudes (for Rice fading generator)

Reimplemented in itpp::Rice_Fading_Generator.

Definition at line 96 of file channel.cpp.

References it_warning.

◆ get_LOS_power()

double itpp::Fading_Generator::get_LOS_power ( ) const
inline

Get relative power of LOS component (Rice factor)

Definition at line 254 of file channel.h.

◆ get_LOS_doppler()

double itpp::Fading_Generator::get_LOS_doppler ( ) const
virtual

Get relative Doppler of the LOS component (for correlated fading generators)

Reimplemented in itpp::Correlated_Fading_Generator.

Definition at line 101 of file channel.cpp.

References it_warning.

◆ get_time_offset()

double itpp::Fading_Generator::get_time_offset ( ) const
virtual

Get time offset in samples (for correlated fading generators)

Reimplemented in itpp::Correlated_Fading_Generator.

Definition at line 107 of file channel.cpp.

References it_warning.

◆ get_filter_length()

int itpp::Fading_Generator::get_filter_length ( ) const
virtual

Set FIR filter length (for FIR fading generator)

Reimplemented in itpp::FIR_Fading_Generator.

Definition at line 113 of file channel.cpp.

References it_warning.

◆ get_norm_doppler()

double itpp::Fading_Generator::get_norm_doppler ( ) const
virtual

Return normalized Doppler (for correlated fading generators)

Reimplemented in itpp::Correlated_Fading_Generator.

Definition at line 119 of file channel.cpp.

References it_warning.

◆ get_doppler_spectrum()

DOPPLER_SPECTRUM itpp::Fading_Generator::get_doppler_spectrum ( ) const
virtual

Return Doppler spectrum (for Rice fading generator)

Reimplemented in itpp::Rice_Fading_Generator.

Definition at line 125 of file channel.cpp.

References it_warning.

◆ get_no_frequencies()

int itpp::Fading_Generator::get_no_frequencies ( ) const
virtual

Get number of sine frequencies (for Rice fading generator)

Reimplemented in itpp::Rice_Fading_Generator.

Definition at line 131 of file channel.cpp.

References it_warning.

◆ get_rice_method()

RICE_METHOD itpp::Fading_Generator::get_rice_method ( ) const
virtual

Get calculation method of Doppler frequencies and amplitudes (for Rice fading generator)

Reimplemented in itpp::Rice_Fading_Generator.

Definition at line 137 of file channel.cpp.

References it_warning.

◆ shift_time_offset()

void itpp::Fading_Generator::shift_time_offset ( int  no_samples)
virtual

Shift generator time offset by a number of samples (for correlated fading generators)

Reimplemented in itpp::Correlated_Fading_Generator.

Definition at line 143 of file channel.cpp.

References it_warning.

◆ init()

virtual void itpp::Fading_Generator::init ( )
pure virtual

◆ generate() [1/2]

virtual void itpp::Fading_Generator::generate ( int  no_samples,
cvec &  output 
)
pure virtual

◆ generate() [2/2]

cvec itpp::Fading_Generator::generate ( int  no_samples)

Generate no_samples values from the fading process.

Definition at line 148 of file channel.cpp.

References generate().

Member Data Documentation

◆ init_flag

bool itpp::Fading_Generator::init_flag
protected

◆ los_power

double itpp::Fading_Generator::los_power
protected

◆ los_diffuse

double itpp::Fading_Generator::los_diffuse
protected

◆ los_direct

double itpp::Fading_Generator::los_direct
protected

Direct component: sqrt(los_power / (1 + los_power))

Definition at line 285 of file channel.h.

Referenced by itpp::Correlated_Fading_Generator::add_LOS(), itpp::Independent_Fading_Generator::generate(), itpp::Static_Fading_Generator::init(), and set_LOS_power().


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

Generated on Sun Jun 5 2022 21:26:42 for IT++ by Doxygen 1.9.3