#include <itpp/comm/channel.h>
Public Member Functions | |
Fading_Generator (const double norm_doppler=0.0, const DOPPLER_SPECTRUM spectrum=Jakes) | |
virtual | ~Fading_Generator () |
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. | |
virtual void | init ()=0 |
Initialize the generator (has to be done before calling generate()). | |
virtual void | generate (const int no_samples, cvec &output)=0 |
Generate no_samples values from the fading process. | |
cvec | generate (const int no_samples) |
Generate no_samples values from the fading process. | |
virtual void | generate (const int no_samples, const int upsampling_factor, cvec &output)=0 |
Generate no_samples values from the fading process upsampled by upsampling_factor . | |
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 | |
DOPPLER_SPECTRUM | dopp_spectrum |
double | n_dopp |
double | los_dopp |
double | los_power |
bool | init_flag |
double | time_offset |
Abstract class defining the interface of a single tap fading generator. Parameters that define the generator is the normalized doppler and the doppler spectrum. Possible values of doppler spectra are:
Two types of genators exist in the litterature: the filter method and the Rice method. The filter method filter a complex Gaussian process to achieve a given doppler spectrum while the Rice method approximate the process as a sum of sinusoids.
References:
[P"atzold] Matthias P"atzold, Mobile fading channels, Wiley, 2002.
Definition at line 221 of file channel.h.
void itpp::Fading_Generator::set_norm_doppler | ( | const double | norm_doppler | ) |
Set normalized doppler rate.
Definition at line 72 of file channel.cpp.
References init_flag, it_assert, and n_dopp.
Referenced by Fading_Generator().
void itpp::Fading_Generator::set_doppler_spectrum | ( | const DOPPLER_SPECTRUM | spectrum | ) |
Set doppler spectrum.
Definition at line 79 of file channel.cpp.
References dopp_spectrum, init_flag, los_dopp, los_power, and itpp::Rice.
Referenced by Fading_Generator().
void itpp::Fading_Generator::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).
Definition at line 89 of file channel.cpp.
References dopp_spectrum, init_flag, it_assert, los_dopp, los_power, and itpp::Rice.
double itpp::Fading_Generator::get_norm_doppler | ( | ) | [inline] |
DOPPLER_SPECTRUM itpp::Fading_Generator::get_doppler_spectrum | ( | ) | [inline] |
double itpp::Fading_Generator::get_LOS_power | ( | ) | [inline] |
double itpp::Fading_Generator::get_LOS_doppler | ( | ) | [inline] |
virtual void itpp::Fading_Generator::init | ( | ) | [pure virtual] |
Initialize the generator (has to be done before calling generate()).
Implemented in itpp::Rice_Fading_Generator, itpp::FIR_Fading_Generator, and itpp::IFFT_Fading_Generator.
virtual void itpp::Fading_Generator::generate | ( | const int | no_samples, | |
cvec & | output | |||
) | [pure virtual] |
Generate no_samples
values from the fading process.
Implemented in itpp::Rice_Fading_Generator, itpp::FIR_Fading_Generator, and itpp::IFFT_Fading_Generator.
Referenced by generate().
cvec itpp::Fading_Generator::generate | ( | const int | no_samples | ) |
Generate no_samples
values from the fading process.
Definition at line 99 of file channel.cpp.
References generate().
virtual void itpp::Fading_Generator::generate | ( | const int | no_samples, | |
const int | upsampling_factor, | |||
cvec & | output | |||
) | [pure virtual] |
Generate no_samples
values from the fading process upsampled by upsampling_factor
.
Implemented in itpp::Rice_Fading_Generator, itpp::FIR_Fading_Generator, and itpp::IFFT_Fading_Generator.
cvec itpp::Fading_Generator::generate | ( | const int | no_samples, | |
const int | upsampling_factor | |||
) |
Generate no_samples
values from the fading process upsampled by upsampling_factor
.
Definition at line 106 of file channel.cpp.
References generate().
void itpp::Fading_Generator::shift_time_offset | ( | const int | no_samples | ) |
Shift generator time offset by a number of samples.
Definition at line 113 of file channel.cpp.
References time_offset.
Generated on Thu Aug 30 02:47:24 2007 for IT++ by Doxygen 1.5.3