Model for impulsive noise sources. More...
#include <plc-noise.h>
Public Member Functions | |
PLC_ImpulsiveNoiseSource (Ptr< PLC_Node > m_src_node, Ptr< SpectrumValue > noisePsd) | |
PLC_ImpulsiveNoiseSource (Ptr< PLC_Node > src_node, Ptr< SpectrumValue > noisePsd, RandomVariable *pulselen_gen, RandomVariable *pulsegap_gen) | |
void | Enable (void) |
void | PulseStart (void) |
void | PulseEnd (void) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Protected Member Functions | |
virtual void | pureVirtualDummy (void) |
Model for impulsive noise sources.
Impulsive noise sources are modelled by a two random processes which provide values \ for the durations the noise source being active and the period between the "pulses", i.e. when the noise source is inactive. Of course there are no transient pulses simulated which would have a great influence on the shape of the noise PSD. Instead the propagated noise PSDs will be switched on and of at the receivers interference model.
ns3::PLC_ImpulsiveNoiseSource::PLC_ImpulsiveNoiseSource | ( | Ptr< PLC_Node > | src_node, |
Ptr< SpectrumValue > | noisePsd, | ||
RandomVariable * | pulselen_gen, | ||
RandomVariable * | pulsegap_gen | ||
) |
src_node | PLC_Node the noise source is located on |
noisePsd | Power spectral density of the noise's waveform |
pulselen_gen | RandomVariable for the pulse duration generator |
pulsegap_gen | RandomVariable for the silence duration generator |
void ns3::PLC_ImpulsiveNoiseSource::Enable | ( | void | ) | [virtual] |
Enable noise source
Reimplemented from ns3::PLC_NoiseSource.
void ns3::PLC_ImpulsiveNoiseSource::PulseEnd | ( | void | ) |
Stop emitting noise psd
Scheduled in PulseStart with random variable m_pulselen_gen
void ns3::PLC_ImpulsiveNoiseSource::PulseStart | ( | void | ) |
Emit noise psd if source is still enabled
Scheduled by PulseEnd() with random variable m_pulsegap_gen