Class for Rayleigh model fader. More...
#include "satellite-rayleigh-model.h"
Public Member Functions | |
SatRayleighModel () | |
Constructor. More... | |
SatRayleighModel (Ptr< SatRayleighConf > rayleighConf, uint32_t initialSet, uint32_t initialState) | |
Constructor. More... | |
~SatRayleighModel () | |
Destructor. More... | |
void | DoDispose () |
Do needed dispose actions. More... | |
double | GetChannelGain () |
Function for returning the channel gain. More... | |
double | GetChannelGainDb () |
Function for returning the channel gain in dB. More... | |
std::complex< double > | GetComplexGain () |
Function for calculating the oscillator complex gain. More... | |
void | UpdateParameters (uint32_t set, uint32_t state) |
Function for updating the parameter set and state. More... | |
Public Member Functions inherited from ns3::SatBaseFader | |
SatBaseFader () | |
Constructor. More... | |
virtual | ~SatBaseFader () |
Destructor. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
NS-3 function for type id. More... | |
Static Public Member Functions inherited from ns3::SatBaseFader | |
static TypeId | GetTypeId (void) |
NS-3 type id function. More... | |
Private Member Functions | |
void | ConstructOscillators () |
Function for constructing the oscillators. More... | |
void | Reset () |
Clear used variables. More... | |
Private Attributes | |
uint32_t | m_currentSet |
Current parameter set. More... | |
uint32_t | m_currentState |
Current state. More... | |
std::vector< Ptr< SatFadingOscillator > > | m_oscillators |
Vector of oscillators. More... | |
Ptr< SatRayleighConf > | m_rayleighConf |
Rayleigh configuration object. More... | |
std::vector< std::vector< double > > | m_rayleighParameters |
Rayleigh model parameters. More... | |
Ptr< UniformRandomVariable > | m_uniformVariable |
Uniform distribution random variable. More... | |
Class for Rayleigh model fader.
The class implements Rayleigh model fader for the Markov -based fading model. The model uses multiple oscillators to form the fading (inspired by Jakes model).
Definition at line 44 of file satellite-rayleigh-model.h.
ns3::SatRayleighModel::SatRayleighModel | ( | ) |
Constructor.
Definition at line 43 of file satellite-rayleigh-model.cc.
ns3::SatRayleighModel::SatRayleighModel | ( | Ptr< SatRayleighConf > | rayleighConf, |
uint32_t | initialSet, | ||
uint32_t | initialState | ||
) |
Constructor.
rayleighConf | Rayleigh configuration. |
initialSet | Initial set of parameters for which Rayleigh parameters are requested. |
initialState | Initial state of the model. |
Definition at line 53 of file satellite-rayleigh-model.cc.
References ConstructOscillators(), m_currentSet, m_rayleighConf, m_rayleighParameters, and m_uniformVariable.
ns3::SatRayleighModel::~SatRayleighModel | ( | ) |
Destructor.
Definition at line 71 of file satellite-rayleigh-model.cc.
References Reset().
|
private |
Function for constructing the oscillators.
Initial phase is common for all oscillators:
Theta is common for all oscillators:
, n is oscillatorNumber, M is m_nOscillators
1b. Initiate rotation speed:
Definition at line 98 of file satellite-rayleigh-model.cc.
References m_oscillators, m_rayleighParameters, and m_uniformVariable.
Referenced by SatRayleighModel().
void ns3::SatRayleighModel::DoDispose | ( | void | ) |
Do needed dispose actions.
Definition at line 79 of file satellite-rayleigh-model.cc.
References Reset().
|
virtual |
Function for returning the channel gain.
Implements ns3::SatBaseFader.
Definition at line 152 of file satellite-rayleigh-model.cc.
References GetComplexGain().
|
virtual |
Function for returning the channel gain in dB.
Implements ns3::SatBaseFader.
Definition at line 140 of file satellite-rayleigh-model.cc.
References GetComplexGain().
std::complex< double > ns3::SatRayleighModel::GetComplexGain | ( | ) |
Function for calculating the oscillator complex gain.
Definition at line 125 of file satellite-rayleigh-model.cc.
References m_oscillators.
Referenced by GetChannelGain(), and GetChannelGainDb().
|
static |
NS-3 function for type id.
Definition at line 35 of file satellite-rayleigh-model.cc.
|
private |
Clear used variables.
Definition at line 88 of file satellite-rayleigh-model.cc.
References m_oscillators, m_rayleighConf, and m_uniformVariable.
Referenced by ~SatRayleighModel(), and DoDispose().
|
virtual |
Function for updating the parameter set and state.
set | parameter set |
state | state |
Implements ns3::SatBaseFader.
Definition at line 165 of file satellite-rayleigh-model.cc.
References m_currentSet, and m_currentState.
|
private |
Current parameter set.
Definition at line 120 of file satellite-rayleigh-model.h.
Referenced by SatRayleighModel(), and UpdateParameters().
|
private |
Current state.
Definition at line 125 of file satellite-rayleigh-model.h.
Referenced by UpdateParameters().
|
private |
Vector of oscillators.
Definition at line 115 of file satellite-rayleigh-model.h.
Referenced by ConstructOscillators(), GetComplexGain(), and Reset().
|
private |
Rayleigh configuration object.
Definition at line 135 of file satellite-rayleigh-model.h.
Referenced by SatRayleighModel(), and Reset().
|
private |
Rayleigh model parameters.
Definition at line 140 of file satellite-rayleigh-model.h.
Referenced by SatRayleighModel(), and ConstructOscillators().
|
private |
Uniform distribution random variable.
Definition at line 130 of file satellite-rayleigh-model.h.
Referenced by SatRayleighModel(), ConstructOscillators(), and Reset().