20 #ifndef SATELLITE_RAYLEIGH_MODEL_H
21 #define SATELLITE_RAYLEIGH_MODEL_H
27 #include <ns3/random-variable-stream.h>
28 #include <ns3/vector.h>
64 SatRayleighModel(Ptr<SatRayleighConf> rayleighConf, uint32_t initialSet, uint32_t initialState);
Base class for faders such as the Rayleigh fader.
Class for Rayleigh model fader.
~SatRayleighModel()
Destructor.
Ptr< SatRayleighConf > m_rayleighConf
Rayleigh configuration object.
uint32_t m_currentSet
Current parameter set.
SatRayleighModel()
Constructor.
uint32_t m_currentState
Current state.
std::vector< Ptr< SatFadingOscillator > > m_oscillators
Vector of oscillators.
void DoDispose()
Do needed dispose actions.
void UpdateParameters(uint32_t set, uint32_t state)
Function for updating the parameter set and state.
std::vector< std::vector< double > > m_rayleighParameters
Rayleigh model parameters.
double GetChannelGainDb()
Function for returning the channel gain in dB.
void Reset()
Clear used variables.
Ptr< UniformRandomVariable > m_uniformVariable
Uniform distribution random variable.
void ConstructOscillators()
Function for constructing the oscillators.
static TypeId GetTypeId(void)
NS-3 function for type id.
double GetChannelGain()
Function for returning the channel gain.
std::complex< double > GetComplexGain()
Function for calculating the oscillator complex gain.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.