Public Member Functions | |
double | CalculatePayloadChunkSuccessRate (double snir, Time duration, const WifiTxVector &txVector, uint16_t staId=SU_STA_ID) const |
Calculate the success rate of the payload chunk given the SINR, duration, and TXVECTOR. | |
double | CalculateSnr (Ptr< Event > event, MHz_u channelWidth, uint8_t nss, const WifiSpectrumBandInfo &band) const |
Calculate the SNIR for the event (starting from now until the event end). | |
double | CalculateSnr (Watt_u signal, Watt_u noiseInterference, MHz_u channelWidth, uint8_t nss) const |
Calculate SNR (linear ratio) from the given signal power and noise+interference power. | |
Public Member Functions inherited from ns3::InterferenceHelper | |
InterferenceHelper () | |
~InterferenceHelper () override | |
Ptr< Event > | Add (Ptr< const WifiPpdu > ppdu, Time duration, RxPowerWattPerChannelBand &rxPower, const FrequencyRange &freqRange, bool isStartHePortionRxing=false) |
Add the PPDU-related signal to interference helper. | |
void | AddBand (const WifiSpectrumBandInfo &band) |
Add a frequency band. | |
void | AddForeignSignal (Time duration, RxPowerWattPerChannelBand &rxPower, const FrequencyRange &freqRange) |
Add a non-Wifi signal to interference helper. | |
PhyEntity::SnrPer | CalculatePayloadSnrPer (Ptr< Event > event, MHz_u channelWidth, const WifiSpectrumBandInfo &band, uint16_t staId, std::pair< Time, Time > relativeMpduStartStop) const |
Calculate the SNIR at the start of the payload and accumulate all SNIR changes in the SNIR vector for each MPDU of an A-MPDU. | |
PhyEntity::SnrPer | CalculatePhyHeaderSnrPer (Ptr< Event > event, MHz_u channelWidth, const WifiSpectrumBandInfo &band, WifiPpduField header) const |
Calculate the SNIR at the start of the PHY header and accumulate all SNIR changes in the SNIR vector. | |
double | CalculateSnr (Ptr< Event > event, MHz_u channelWidth, uint8_t nss, const WifiSpectrumBandInfo &band) const |
Calculate the SNIR for the event (starting from now until the event end). | |
Time | GetEnergyDuration (Watt_u energy, const WifiSpectrumBandInfo &band) |
Ptr< ErrorRateModel > | GetErrorRateModel () const |
Return the error rate model. | |
bool | HasBands () const |
Check whether bands are already tracked by this interference helper. | |
void | NotifyRxEnd (Time endTime, const FrequencyRange &freqRange) |
Notify that RX has ended. | |
void | NotifyRxStart (const FrequencyRange &freqRange) |
Notify that RX has started. | |
void | RemoveBand (const WifiSpectrumBandInfo &band) |
Remove a frequency band. | |
void | SetErrorRateModel (const Ptr< ErrorRateModel > rate) |
Set the error rate model for this interference helper. | |
void | SetNoiseFigure (double value) |
Set the noise figure. | |
void | SetNumberOfReceiveAntennas (uint8_t rx) |
Set the number of RX antennas in the receiver corresponding to this interference helper. | |
void | UpdateBands (const std::vector< WifiSpectrumBandInfo > &bands, const FrequencyRange &freqRange) |
Update the frequency bands that belongs to a given frequency range when the spectrum model is changed. | |
void | UpdateEvent (Ptr< Event > event, const RxPowerWattPerChannelBand &rxPower) |
Update event to scale its received power (W) per band. | |
Public Member Functions inherited from ns3::Object | |
Object () | |
Constructor. | |
~Object () override | |
Destructor. | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. | |
void | Dispose () |
Dispose of this Object. | |
AggregateIterator | GetAggregateIterator () const |
Get an iterator to the Objects aggregated to this one. | |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. | |
template<typename T > | |
Ptr< T > | GetObject () const |
Get a pointer to the requested aggregated Object. | |
template<> | |
Ptr< Object > | GetObject () const |
Specialization of () for objects of type ns3::Object. | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. | |
template<> | |
Ptr< Object > | GetObject (TypeId tid) const |
Specialization of (TypeId tid) for objects of type ns3::Object. | |
void | Initialize () |
Invoke DoInitialize on all Objects aggregated to this one. | |
bool | IsInitialized () const |
Check if the object has been initialized. | |
void | UnidirectionalAggregateObject (Ptr< Object > other) |
Aggregate an Object to another Object. | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount () | |
Default constructor. | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. | |
void | Ref () const |
Increment the reference count. | |
void | Unref () const |
Decrement the reference count. | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. | |
void | GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const |
Get the value of an attribute, raising fatal errors if unsuccessful. | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising errors. | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. | |
Additional Inherited Members | |
Static Public Member Functions inherited from ns3::InterferenceHelper | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId () |
Register this type. | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId () |
Get the type ID. | |
Protected Types inherited from ns3::InterferenceHelper | |
using | FirstPowerPerBand = std::map<WifiSpectrumBandInfo, Watt_u> |
Map of first power per band. | |
using | NiChanges = std::multimap<Time, NiChange> |
typedef for a multimap of NiChange | |
using | NiChangesPerBand = std::map<WifiSpectrumBandInfo, NiChanges> |
Map of NiChanges per band. | |
Protected Member Functions inherited from ns3::InterferenceHelper | |
double | CalculateChunkSuccessRate (double snir, Time duration, WifiMode mode, const WifiTxVector &txVector, WifiPpduField field) const |
Calculate the success rate of the chunk given the SINR, duration, and TXVECTOR. | |
double | CalculatePayloadChunkSuccessRate (double snir, Time duration, const WifiTxVector &txVector, uint16_t staId=SU_STA_ID) const |
Calculate the success rate of the payload chunk given the SINR, duration, and TXVECTOR. | |
double | CalculateSnr (Watt_u signal, Watt_u noiseInterference, MHz_u channelWidth, uint8_t nss) const |
Calculate SNR (linear ratio) from the given signal power and noise+interference power. | |
void | DoDispose () override |
Destructor implementation. | |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
Copy an Object. | |
virtual void | DoInitialize () |
Initialize() implementation. | |
virtual void | NotifyNewAggregate () |
Notify all Objects aggregated to this one of a new Object being aggregated. | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. | |
Protected Attributes inherited from ns3::InterferenceHelper | |
NiChangesPerBand | m_niChanges |
NI Changes for each band. | |
std::map< FrequencyRange, bool > | m_rxing |
flag whether it is in receiving state for a given FrequencyRange | |
Related Symbols inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
Definition at line 388 of file wifi-error-rate-models-test.cc.
double ns3::InterferenceHelper::CalculatePayloadChunkSuccessRate | ( | double | snir, |
Time | duration, | ||
const WifiTxVector & | txVector, | ||
uint16_t | staId = SU_STA_ID ) const |
Calculate the success rate of the payload chunk given the SINR, duration, and TXVECTOR.
The duration and TXVECTOR are used to calculate how many bits are present in the payload chunk.
snir | the SINR |
duration | the duration of the chunk |
txVector | the TXVECTOR |
staId | the station ID of the PSDU (only used for MU) |
Definition at line 346 of file interference-helper.cc.
Referenced by WifiErrorRateModelsTestCaseMimo::DoRun().
double ns3::InterferenceHelper::CalculateSnr | ( | Ptr< Event > | event, |
MHz_u | channelWidth, | ||
uint8_t | nss, | ||
const WifiSpectrumBandInfo & | band ) const |
Calculate the SNIR for the event (starting from now until the event end).
event | the event corresponding to the first time the corresponding PPDU arrives |
channelWidth | the channel width |
nss | the number of spatial streams |
band | identify the band used by the PSDU |
Definition at line 259 of file interference-helper.cc.
Referenced by WifiErrorRateModelsTestCaseMimo::DoRun().
double ns3::InterferenceHelper::CalculateSnr | ( | Watt_u | signal, |
Watt_u | noiseInterference, | ||
MHz_u | channelWidth, | ||
uint8_t | nss ) const |
Calculate SNR (linear ratio) from the given signal power and noise+interference power.
signal | signal power |
noiseInterference | noise and interference power |
channelWidth | signal width |
nss | the number of spatial streams |
Definition at line 313 of file interference-helper.cc.