#include <spectrum-converter.h>
Public Member Functions | |
SpectrumConverter (Ptr< const SpectrumModel > fromSpectrumModel, Ptr< const SpectrumModel > toSpectrumModel) | |
SpectrumConverter () | |
Ptr< SpectrumValue > | Convert (Ptr< const SpectrumValue > vvf) const |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
Private Member Functions | |
double | GetCoefficient (const BandInfo &from, const BandInfo &to) const |
Private Attributes | |
std::vector< std::vector < double > > | m_conversionMatrix |
Ptr< const SpectrumModel > | m_fromSpectrumModel |
Ptr< const SpectrumModel > | m_toSpectrumModel |
Additional Inherited Members | |
![]() | |
static void | Cleanup (void) |
Class which implements a converter between SpectrumValue which are defined over different SpectrumModel. In more formal terms, this class allows conversion between different function spaces. In practical terms, this allows you to mix different spectrum representation within the same channel, such as a device using a coarse spectrum representation (e.g., one frequency for each IEEE 802.11 channel) and devices using a finer representation (e.g., one frequency for each OFDM subcarrier).
Definition at line 42 of file spectrum-converter.h.
ns3::SpectrumConverter::SpectrumConverter | ( | Ptr< const SpectrumModel > | fromSpectrumModel, |
Ptr< const SpectrumModel > | toSpectrumModel | ||
) |
Create a SpectrumConverter class that will be able to convert ValueVsFreq instances defined over one SpectrumModel to corresponding ValueVsFreq instances defined over a diffent SpectrumModel
fromSpectrumModel | the SpectrumModel to convert from |
toSpectrumModel | the SpectrumModel to convert to |
Definition at line 36 of file spectrum-converter.cc.
References ns3::SpectrumModel::Begin(), ns3::SpectrumModel::End(), GetCoefficient(), m_conversionMatrix, m_fromSpectrumModel, m_toSpectrumModel, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
ns3::SpectrumConverter::SpectrumConverter | ( | ) |
Definition at line 32 of file spectrum-converter.cc.
Ptr< SpectrumValue > ns3::SpectrumConverter::Convert | ( | Ptr< const SpectrumValue > | vvf | ) | const |
Convert a particular ValueVsFreq instance to
vvf | the ValueVsFreq instance to be converted |
Definition at line 74 of file spectrum-converter.cc.
References ns3::SpectrumValue::ConstValuesBegin(), ns3::SpectrumValue::ConstValuesEnd(), ns3::SpectrumValue::GetSpectrumModel(), m_conversionMatrix, m_fromSpectrumModel, m_toSpectrumModel, NS_ASSERT, ns3::SpectrumValue::ValuesBegin(), and ns3::SpectrumValue::ValuesEnd().
Referenced by ns3::SpectrumConverterTestSuite::SpectrumConverterTestSuite().
|
private |
Calculate the coefficient for value conversion between elements
Definition at line 62 of file spectrum-converter.cc.
References ns3::BandInfo::fh, ns3::BandInfo::fl, and NS_LOG_FUNCTION.
Referenced by SpectrumConverter().
|
private |
Definition at line 81 of file spectrum-converter.h.
Referenced by Convert(), and SpectrumConverter().
|
private |
Definition at line 82 of file spectrum-converter.h.
Referenced by Convert(), and SpectrumConverter().
|
private |
Definition at line 83 of file spectrum-converter.h.
Referenced by Convert(), and SpectrumConverter().