Base class for noise source models. More...
#include <plc-noise.h>
Public Types | |
enum | NoiseSourceType { STATIC, TIMEVARIANT, IMPULSIVE } |
Public Member Functions | |
PLC_NoiseSource (Ptr< PLC_Node > src_node, Ptr< SpectrumValue > noisePsd, NoiseSourceType type) | |
void | SetNoisePsd (Ptr< SpectrumValue > psd) |
Ptr< SpectrumValue > | GetNoisePsd (void) |
NoiseSourceType | GetNoiseSourceType (void) |
void | SetNode (Ptr< PLC_Node > node) |
Ptr< PLC_Node > | GetNode (void) |
void | SetChannel (Ptr< PLC_Channel > channel) |
Ptr< PLC_Channel > | GetChannel (void) |
void | Init (void) |
virtual void | Enable (void) |
virtual void | Disable (void) |
bool | IsEnabled (void) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Protected Member Functions | |
virtual void | pureVirtualDummy (void)=0 |
Protected Attributes | |
NoiseSourceType | m_noise_source_type |
uint32_t | m_noise_srcId |
Ptr< PLC_Node > | m_src_node |
Ptr< SpectrumValue > | m_noisePsd |
Ptr< PLC_Channel > | m_channel |
Ptr< PLC_TxInterface > | m_txInterface |
bool | m_is_enabled |
bool | m_is_initialized |
Base class for noise source models.
The noise sources act as transmitters in the PLC network. The noise PSD will therefore experience channel distortion before received by the receivers as interfering signal. Thus a a more realistic noise environment can be simulated rather than using a simple AWGN noise model.
Noise source types
currently only impulsive noise source is implemented
ns3::PLC_NoiseSource::PLC_NoiseSource | ( | Ptr< PLC_Node > | src_node, |
Ptr< SpectrumValue > | noisePsd, | ||
NoiseSourceType | type | ||
) |
Constructor
src_node | The source node where the noise source is originated |
noisePsd | The noise power spectral density |
type | noise source type |
void ns3::PLC_NoiseSource::Disable | ( | void | ) | [virtual] |
Disable the noise source
void ns3::PLC_NoiseSource::Enable | ( | void | ) | [virtual] |
Enable the noise source
Reimplemented in ns3::PLC_ImpulsiveNoiseSource.
Ptr<PLC_Channel> ns3::PLC_NoiseSource::GetChannel | ( | void | ) | [inline] |
Ptr<PLC_Node> ns3::PLC_NoiseSource::GetNode | ( | void | ) | [inline] |
Ptr<SpectrumValue> ns3::PLC_NoiseSource::GetNoisePsd | ( | void | ) | [inline] |
Get noise source type
void ns3::PLC_NoiseSource::Init | ( | void | ) |
Initialize the noise source, i.e. create the transmit interface on the bounded node
bool ns3::PLC_NoiseSource::IsEnabled | ( | void | ) |
void ns3::PLC_NoiseSource::SetChannel | ( | Ptr< PLC_Channel > | channel | ) | [inline] |
Set the channel the noise source is connected to
channel | PLC_Channel |
void ns3::PLC_NoiseSource::SetNode | ( | Ptr< PLC_Node > | node | ) | [inline] |
Bind the noise source to a specific PLC_Node
node |
void ns3::PLC_NoiseSource::SetNoisePsd | ( | Ptr< SpectrumValue > | psd | ) | [inline] |
Set the noise power spectral density
psd | The noise power spectral density |