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

Static fading generator class. More...

#include <itpp/comm/channel.h>

Inheritance diagram for itpp::Static_Fading_Generator:
itpp::Fading_Generator

Public Member Functions

 Static_Fading_Generator ()
 Default constructor.
 
virtual ~Static_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 generate (int no_samples, cvec &output)=0
 Generate no_samples values from the fading process.
 
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_LOS_doppler (double relative_doppler)
 Set relative Doppler of the LOS component (for correlated fading generators)
 
virtual void set_time_offset (int offset)
 Set time offset in samples (for correlated fading generators)
 
virtual void set_filter_length (int filter_length)
 Set FIR filter length (for FIR fading generator)
 
virtual void set_norm_doppler (double norm_doppler)
 Set normalized Doppler (for correlated fading generators)
 
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 double get_LOS_doppler () const
 Get relative Doppler of the LOS component (for correlated fading generators)
 
virtual double get_time_offset () const
 Get time offset in samples (for correlated fading generators)
 
virtual int get_filter_length () const
 Set FIR filter length (for FIR fading generator)
 
virtual double get_norm_doppler () const
 Return normalized Doppler (for correlated fading generators)
 
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)
 
virtual void shift_time_offset (int no_samples)
 Shift generator time offset by a number of samples (for correlated fading generators)
 

Protected Attributes

double static_sample_re
 Static Rayleigh distributed sample.
 
double static_sample_im
 
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

Static fading generator class.

Author
Adam Piatyszek

This class implements the static fading generator, which can be used on each tap of the TDL channel model. This generator produces a set of identical (static) Rayleigh or Rice distributed channel coefficients.

Definition at line 355 of file channel.h.

Constructor & Destructor Documentation

◆ Static_Fading_Generator()

itpp::Static_Fading_Generator::Static_Fading_Generator ( )
inline

Default constructor.

Definition at line 359 of file channel.h.

◆ ~Static_Fading_Generator()

virtual itpp::Static_Fading_Generator::~Static_Fading_Generator ( )
inlinevirtual

Destructor.

Definition at line 361 of file channel.h.

Member Function Documentation

◆ init()

void itpp::Static_Fading_Generator::init ( )
virtual

◆ generate() [1/3]

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

Generate no_samples values from the fading process.

Implements itpp::Fading_Generator.

Definition at line 190 of file channel.cpp.

References init(), itpp::Fading_Generator::init_flag, and static_sample_re.

◆ generate() [2/3]

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

Generate no_samples values from the fading process.

Implements itpp::Fading_Generator.

◆ generate() [3/3]

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

Generate no_samples values from the fading process.

Definition at line 279 of file channel.cpp.

◆ set_LOS_power()

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

◆ set_LOS_doppler()

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

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)
virtualinherited

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)
virtualinherited

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)
virtualinherited

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)
virtualinherited

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)
virtualinherited

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)
virtualinherited

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
inlineinherited

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
virtualinherited

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
virtualinherited

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
virtualinherited

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
virtualinherited

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
virtualinherited

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
virtualinherited

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
virtualinherited

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)
virtualinherited

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.

Member Data Documentation

◆ static_sample_re

double itpp::Static_Fading_Generator::static_sample_re
protected

Static Rayleigh distributed sample.

Definition at line 373 of file channel.h.

Referenced by generate(), and init().

◆ static_sample_im

double itpp::Static_Fading_Generator::static_sample_im
protected

Definition at line 374 of file channel.h.

◆ init_flag

bool itpp::Fading_Generator::init_flag
protectedinherited

◆ los_power

double itpp::Fading_Generator::los_power
protectedinherited

◆ los_diffuse

double itpp::Fading_Generator::los_diffuse
protectedinherited

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

Definition at line 284 of file channel.h.

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

◆ los_direct

double itpp::Fading_Generator::los_direct
protectedinherited

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(), init(), and itpp::Fading_Generator::set_LOS_power().


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

Generated on Tue Aug 17 2021 10:59:15 for IT++ by Doxygen 1.9.8