Class for Rayleigh model fader. More...
#include "satellite-rayleigh-model.h"
Inheritance diagram for ns3::SatRayleighModel:
Collaboration diagram for ns3::SatRayleighModel: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.
Here is the call graph for this function:| ns3::SatRayleighModel::~SatRayleighModel | ( | ) |
Destructor.
Definition at line 71 of file satellite-rayleigh-model.cc.
References Reset().
Here is the call graph for this function:
|
private |
Function for constructing the oscillators.
Initial phase is common for all oscillators:
Theta is common for all oscillators:
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().
Here is the caller graph for this function:| void ns3::SatRayleighModel::DoDispose | ( | void | ) |
Do needed dispose actions.
Definition at line 79 of file satellite-rayleigh-model.cc.
References Reset().
Here is the call graph for this function:
|
virtual |
Function for returning the channel gain.
Implements ns3::SatBaseFader.
Definition at line 152 of file satellite-rayleigh-model.cc.
References GetComplexGain().
Here is the call graph for this function:
|
virtual |
Function for returning the channel gain in dB.
Implements ns3::SatBaseFader.
Definition at line 140 of file satellite-rayleigh-model.cc.
References GetComplexGain().
Here is the call graph for this function:| 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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().