itpp::Fading_Generator Class Referenceabstract

Fading generator class. More...

`#include <itpp/comm/channel.h>`

Inheritance diagram for itpp::Fading_Generator:

## Public Member Functions

| Fading_Generator ()
| Default constructor.
virtual | ~Fading_Generator ()
| Destructor.
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)
virtual void | init ()=0
| Initialize the generator.
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.

## Protected Attributes

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

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, and los_power.

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

Initialize the generator.

Implemented in itpp::Independent_Fading_Generator, itpp::Static_Fading_Generator, itpp::Rice_Fading_Generator, itpp::FIR_Fading_Generator, itpp::IFFT_Fading_Generator, and itpp::Correlated_Fading_Generator.

## generate() [1/2]

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

pure virtual

Generate no_samples values from the fading process.

Implemented in itpp::Independent_Fading_Generator, itpp::Static_Fading_Generator, itpp::Rice_Fading_Generator, itpp::FIR_Fading_Generator, itpp::IFFT_Fading_Generator, itpp::Independent_Fading_Generator, itpp::Static_Fading_Generator, itpp::Correlated_Fading_Generator, itpp::Correlated_Fading_Generator, itpp::Rice_Fading_Generator, itpp::Rice_Fading_Generator, itpp::FIR_Fading_Generator, itpp::FIR_Fading_Generator, itpp::IFFT_Fading_Generator, and itpp::IFFT_Fading_Generator.

Referenced by generate().

## 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

signals if generator is initialized or not

Definition at line 282 of file channel.h.

Referenced by itpp::Independent_Fading_Generator::generate(), itpp::Static_Fading_Generator::generate(), itpp::Rice_Fading_Generator::generate(), itpp::FIR_Fading_Generator::generate(), itpp::IFFT_Fading_Generator::generate(), itpp::Static_Fading_Generator::init(), itpp::Rice_Fading_Generator::set_doppler_spectrum(), itpp::FIR_Fading_Generator::set_filter_length(), itpp::Rice_Fading_Generator::set_no_frequencies(), itpp::Correlated_Fading_Generator::set_norm_doppler(), and itpp::Rice_Fading_Generator::set_rice_method().

## los_power

double itpp::Fading_Generator::los_power

protected

Relative power of LOS component compared to diffuse component (K factor)

Definition at line 283 of file channel.h.

Referenced by itpp::Independent_Fading_Generator::generate(), itpp::Rice_Fading_Generator::generate(), itpp::FIR_Fading_Generator::generate(), itpp::IFFT_Fading_Generator::generate(), itpp::Static_Fading_Generator::init(), and set_LOS_power().

## los_diffuse

double itpp::Fading_Generator::los_diffuse

protected

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

## 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:

- itpp/comm/channel.h
- itpp/comm/channel.cpp

Generated on Mon Jun 10 2024 11:49:35 for IT++ by Doxygen 1.9.8