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 |
1.7.6.1