Rice type fading generator class. More...
#include <itpp/comm/channel.h>
Public Member Functions | |
Rice_Fading_Generator (double norm_doppler, DOPPLER_SPECTRUM spectrum=Jakes, int no_freq=16, RICE_METHOD method=MEDS) | |
Default constructor. | |
virtual | ~Rice_Fading_Generator () |
Destructor. | |
virtual void | set_doppler_spectrum (DOPPLER_SPECTRUM spectrum) |
Set Doppler spectrum. | |
virtual void | set_no_frequencies (int no_freq) |
Set number of Doppler frequencies. | |
virtual void | set_rice_method (RICE_METHOD method) |
Set calculation method of Doppler frequencies and amplitudes. | |
virtual DOPPLER_SPECTRUM | get_doppler_spectrum () const |
Return Doppler spectrum. | |
virtual int | get_no_frequencies () const |
Get number of Doppler frequencies. | |
virtual RICE_METHOD | get_rice_method () const |
Get calculation method of Doppler frequencies and amplitudes. | |
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) | |
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) | |
Protected Member Functions | |
void | init_MEDS () |
Init function for MEDS method. | |
void | add_LOS (int idx, std::complex< double > &sample) |
add LOS component to the sample with index idx | |
Protected Attributes | |
DOPPLER_SPECTRUM | dopp_spectrum |
int | Ni |
Number of sine waves in a Gaussian process. | |
RICE_METHOD | rice_method |
Rice process generation method. | |
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)) | |
vec | f1 |
vec | f2 |
vec | c1 |
vec | c2 |
vec | th1 |
vec | th2 |
double | f01 |
double | f02 |
Rice type fading generator class.
A Rice generator is a generator of the form:
Here , , and are the Doppler coefficients, discrete Doppler frequencies, and Doppler phases, respectively. Rice showed that a generator of this form can perfectly model a Gaussian process when . When generating a fading pattern we need a complex-valued generator
Parameters that define the generator are the normalized Doppler and the doppler spectrum. Possible values of the Doppler spectrum are:
Furthermore also the number of sine waves, and method used to calculate the parameters , , and can be specified. For now the only method defined for calculating the parameters is the Method of Exact Doppler Spread (MEDS). See [Pat02] for more details.
References:
|
protected |
Doppler spectrum type (Jakes by default)
Definition at line 494 of file channel.h.
Referenced by generate(), init_MEDS(), and set_doppler_spectrum().
|
protected |
Doppler frequencies, amplitudes and phases
Definition at line 501 of file channel.h.
Referenced by generate(), and init_MEDS().
|
protected |
Doppler frequencies, amplitudes and phases
Definition at line 501 of file channel.h.
Referenced by generate(), and init_MEDS().
|
protected |
Doppler frequencies, amplitudes and phases
Definition at line 501 of file channel.h.
Referenced by generate(), and init_MEDS().
|
protected |
Doppler frequencies, amplitudes and phases
Definition at line 501 of file channel.h.
Referenced by generate(), and init_MEDS().
|
protected |
Doppler frequencies, amplitudes and phases
Definition at line 501 of file channel.h.
Referenced by generate(), and init_MEDS().
|
protected |
Doppler frequencies, amplitudes and phases
Definition at line 501 of file channel.h.
Referenced by generate(), and init_MEDS().
|
protected |
Frequency shift values of the Doppler spectrum in GaussI and GaussII
Definition at line 505 of file channel.h.
Referenced by generate(), and init_MEDS().
|
protected |
Frequency shift values of the Doppler spectrum in GaussI and GaussII
Definition at line 505 of file channel.h.
Referenced by generate(), and init_MEDS().
Generated on Sat May 25 2013 16:32:30 for IT++ by Doxygen 1.8.2