This class defines all functions to create a spectrum model for Wi-Fi based on a a spectral model aligned with an OFDM subcarrier spacing of 312.5 KHz (model also reused for DSSS modulations) More...
#include "wifi-spectrum-value-helper.h"
Public Member Functions | |
virtual | ~WifiSpectrumValueHelper () |
Destructor. More... | |
Static Public Member Functions | |
static Ptr< SpectrumValue > | CreateDsssTxPowerSpectralDensity (uint32_t centerFrequency, double txPowerW, uint8_t guardBandwidth) |
Create a transmit power spectral density corresponding to DSSS. More... | |
static Ptr< SpectrumValue > | CreateHeOfdmTxPowerSpectralDensity (uint32_t centerFrequency, uint8_t channelWidth, double txPowerW, uint8_t guardBandwidth) |
Create a transmit power spectral density corresponding to OFDM High Efficiency (HE) (802.11ax). More... | |
static Ptr< SpectrumValue > | CreateHtOfdmTxPowerSpectralDensity (uint32_t centerFrequency, uint8_t channelWidth, double txPowerW, uint8_t guardBandwidth) |
Create a transmit power spectral density corresponding to OFDM High Throughput (HT) (802.11n/ac). More... | |
static Ptr< SpectrumValue > | CreateNoisePowerSpectralDensity (uint32_t centerFrequency, uint8_t channelWidth, double bandBandwidth, double noiseFigure, uint8_t guardBandwidth) |
Create a power spectral density corresponding to the noise. More... | |
static Ptr< SpectrumValue > | CreateNoisePowerSpectralDensity (double noiseFigure, Ptr< SpectrumModel > spectrumModel) |
Create a thermal noise power spectral density. More... | |
static Ptr< SpectrumValue > | CreateOfdmTxPowerSpectralDensity (uint32_t centerFrequency, uint8_t channelWidth, double txPowerW, uint8_t guardBandwidth) |
Create a transmit power spectral density corresponding to OFDM (802.11a/g). More... | |
static Ptr< SpectrumValue > | CreateRfFilter (uint32_t centerFrequency, uint8_t channelWidth, double bandBandwidth, uint8_t guardBandwidth) |
Create a spectral density corresponding to the RF filter. More... | |
static Ptr< SpectrumModel > | GetSpectrumModel (uint32_t centerFrequency, uint8_t channelWidth, double bandBandwidth, uint8_t guardBandwidth) |
Return a SpectrumModel instance corresponding to the center frequency and channel width. More... | |
This class defines all functions to create a spectrum model for Wi-Fi based on a a spectral model aligned with an OFDM subcarrier spacing of 312.5 KHz (model also reused for DSSS modulations)
Definition at line 36 of file wifi-spectrum-value-helper.h.
|
virtual |
Destructor.
Definition at line 571 of file wifi-spectrum-value-helper.cc.
|
static |
Create a transmit power spectral density corresponding to DSSS.
The center frequency typically corresponds to 802.11b channel center frequencies but is not restricted to those frequencies.
centerFrequency | center frequency (MHz) |
txPowerW | transmit power (W) to allocate |
guardBandwidth | width of the guard band (MHz) |
Definition at line 119 of file wifi-spectrum-value-helper.cc.
References ns3::SpectrumValue::ConstBandsBegin(), ns3::SpectrumModel::GetNumBands(), GetSpectrumModel(), ns3::SpectrumValue::GetSpectrumModel(), NS_ASSERT, NS_LOG_FUNCTION, and ns3::SpectrumValue::ValuesBegin().
Referenced by ns3::SpectrumWifiPhy::GetTxPowerSpectralDensity().
|
static |
Create a transmit power spectral density corresponding to OFDM High Efficiency (HE) (802.11ax).
Channel width may vary between 20, 40, 80, and 160 MHz.
centerFrequency | center frequency (MHz) |
channelWidth | channel width (MHz) |
txPowerW | transmit power (W) to allocate |
guardBandwidth | width of the guard band (MHz) |
Definition at line 382 of file wifi-spectrum-value-helper.cc.
References ns3::SpectrumValue::ConstBandsBegin(), ns3::SpectrumModel::GetNumBands(), GetSpectrumModel(), ns3::SpectrumValue::GetSpectrumModel(), ns3::Integral(), NS_ASSERT_MSG, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::SpectrumValue::ValuesBegin().
Referenced by ns3::SpectrumWifiPhy::GetTxPowerSpectralDensity().
|
static |
Create a transmit power spectral density corresponding to OFDM High Throughput (HT) (802.11n/ac).
Channel width may vary between 20, 40, 80, and 160 MHz.
centerFrequency | center frequency (MHz) |
channelWidth | channel width (MHz) |
txPowerW | transmit power (W) to allocate |
guardBandwidth | width of the guard band (MHz) |
Definition at line 214 of file wifi-spectrum-value-helper.cc.
References ns3::SpectrumValue::ConstBandsBegin(), ns3::SpectrumModel::GetNumBands(), GetSpectrumModel(), ns3::SpectrumValue::GetSpectrumModel(), ns3::Integral(), NS_ASSERT_MSG, NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::SpectrumValue::ValuesBegin().
Referenced by ns3::SpectrumWifiPhy::GetTxPowerSpectralDensity().
|
static |
Create a power spectral density corresponding to the noise.
centerFrequency | center frequency (MHz) |
channelWidth | channel width (MHz) |
bandBandwidth | width of each band (Hz) |
noiseFigure | the noise figure in dB w.r.t. a reference temperature of 290K |
guardBandwidth | width of the guard band (MHz) |
Definition at line 517 of file wifi-spectrum-value-helper.cc.
References GetSpectrumModel().
|
static |
Create a thermal noise power spectral density.
noiseFigure | the noise figure |
spectrumModel | the spectrum model |
Definition at line 524 of file wifi-spectrum-value-helper.cc.
References ns3::Integral(), NS_LOG_DEBUG, and NS_LOG_FUNCTION.
|
static |
Create a transmit power spectral density corresponding to OFDM (802.11a/g).
Channel width may vary between 20, 10, and 5 MHz.
centerFrequency | center frequency (MHz) |
channelWidth | channel width (MHz) |
txPowerW | transmit power (W) to allocate |
guardBandwidth | width of the guard band (MHz) |
Definition at line 143 of file wifi-spectrum-value-helper.cc.
References ns3::SpectrumValue::ConstBandsBegin(), ns3::SpectrumModel::GetNumBands(), GetSpectrumModel(), ns3::SpectrumValue::GetSpectrumModel(), ns3::Integral(), NS_ASSERT_MSG, NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::SpectrumValue::ValuesBegin().
Referenced by ns3::SpectrumWifiPhy::GetTxPowerSpectralDensity().
|
static |
Create a spectral density corresponding to the RF filter.
centerFrequency | center frequency (MHz) |
channelWidth | channel width (MHz) |
bandBandwidth | width of each band (Hz) |
guardBandwidth | width of the guard band (MHz) |
Definition at line 542 of file wifi-spectrum-value-helper.cc.
References ns3::SpectrumValue::ConstBandsBegin(), ns3::SpectrumModel::GetNumBands(), GetSpectrumModel(), ns3::SpectrumValue::GetSpectrumModel(), NS_ASSERT_MSG, NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::SpectrumValue::ValuesBegin().
Referenced by ns3::SpectrumWifiPhy::StartRx().
|
static |
Return a SpectrumModel instance corresponding to the center frequency and channel width.
The model includes +/- 10 MHz of guard bands (i.e. the model will span (channelWidth + 20) MHz of bandwidth).
centerFrequency | center frequency (MHz) |
channelWidth | channel width (MHz) |
bandBandwidth | width of each band (Hz) |
guardBandwidth | width of the guard band (MHz) |
Definition at line 69 of file wifi-spectrum-value-helper.cc.
References f(), ns3::BandInfo::fc, ns3::BandInfo::fh, ns3::BandInfo::fl, ns3::SpectrumModel::GetUid(), NS_ASSERT, NS_ASSERT_MSG, NS_LOG_DEBUG, NS_LOG_FUNCTION, and NS_LOG_LOGIC().
Referenced by CreateDsssTxPowerSpectralDensity(), CreateHeOfdmTxPowerSpectralDensity(), CreateHtOfdmTxPowerSpectralDensity(), CreateNoisePowerSpectralDensity(), CreateOfdmTxPowerSpectralDensity(), CreateRfFilter(), ns3::SpectrumWifiPhy::GetRxSpectrumModel(), and ns3::SpectrumWifiPhy::ResetSpectrumModel().