20#ifndef SATELLITE_LOO_MODEL_H
21#define SATELLITE_LOO_MODEL_H
27#include "ns3/random-variable-stream.h"
28#include "ns3/vector.h"
68 uint32_t initialState);
167 std::vector<Ptr<SatFadingOscillator>> oscillator,
168 double timeInSeconds);
177 double timeInSeconds);
190 void ChangeSet(uint32_t newSet, uint32_t newState);
SatBaseFader()
Constructor.
double GetChannelGain()
Function for returning the channel gain.
double GetChannelGainDb()
Function for returning the channel gain in dB.
SatLooModel()
Constructor.
void ChangeState(uint32_t newState)
Function for setting the state.
void UpdateParameters(uint32_t set, uint32_t state)
Function for updating the parameter set and state.
Ptr< UniformRandomVariable > m_uniformVariable
Uniform distribution random variable.
std::vector< std::vector< double > > m_looParameters
Loo's model parameters.
uint32_t m_currentSet
Current parameter set.
void CalculateSigma()
Function for calculating sigma for different states.
uint32_t m_numOfStates
Number of states.
void ChangeSet(uint32_t newSet, uint32_t newState)
Function for setting the parameter set and state.
uint32_t m_currentState
Current state.
void Reset()
Clear used variables.
std::vector< std::vector< Ptr< SatFadingOscillator > > > m_multipathOscillators
Multipath oscillators.
void ConstructMultipathOscillators()
Function for constructing multipath oscillators.
std::vector< double > m_sigma
Multipath power converted to linear units.
~SatLooModel()
Destructor.
void ConstructDirectSignalOscillators()
Function for constructing direct signal oscillators.
Ptr< NormalRandomVariable > m_normalRandomVariable
Normal distribution random variable.
void DoDispose()
Do needed dispose actions.
std::vector< std::vector< Ptr< SatFadingOscillator > > > m_directSignalOscillators
Direct signal oscillators.
std::complex< double > GetOscillatorCosineWaveSum(std::vector< Ptr< SatFadingOscillator > > oscillator, double timeInSeconds)
Function for calculating cosine wave oscillator complex sum.
static TypeId GetTypeId(void)
NS-3 function for type id.
std::complex< double > GetOscillatorComplexSum(std::vector< Ptr< SatFadingOscillator > > oscillator, double timeInSeconds)
Function for calculating oscillator complex sum.
Ptr< SatLooConf > m_looConf
Loo's model configuration object.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.