Set of values corresponding to a given SpectrumModel. More...
#include <spectrum-value.h>
Inheritance diagram for ns3::SpectrumValue:
Collaboration diagram for ns3::SpectrumValue:Private Member Functions | |
| void | Add (const SpectrumValue &x) |
| void | Add (double s) |
| void | ChangeSign () |
| void | Divide (const SpectrumValue &x) |
| void | Divide (double s) |
| void | Exp (double base) |
| void | Log () |
| void | Log10 () |
| void | Log2 () |
| void | Multiply (const SpectrumValue &x) |
| void | Multiply (double s) |
| void | Pow (double exp) |
| void | ShiftLeft (int n) |
| void | ShiftRight (int n) |
| void | Subtract (const SpectrumValue &x) |
| void | Subtract (double s) |
Private Attributes | |
| Ptr< const SpectrumModel > | m_spectrumModel |
| Values | m_values |
Additional Inherited Members | |
Static Public Member Functions inherited from ns3::SimpleRefCount< SpectrumValue > | |
| static void | Cleanup (void) |
Set of values corresponding to a given SpectrumModel.
This class implements a Function Space which can represent any function 
Every instance of this class represent a particular function
. The domain of the function space, i.e.,
, is implemented by SetOfFreq. The codomain of the function space is implemented by SetOfValues
To every possible value of
corresponds a different Function Space. Mathematical operations are defined in this Function Space; these operations are implemented by means of operator overloading.
The intended use of this class is to represent frequency-dependent things, such as power spectral densities, frequency-dependent propagation losses, spectral masks, etc.
Definition at line 57 of file spectrum-value.h.
| ns3::SpectrumValue::SpectrumValue | ( | Ptr< const SpectrumModel > | sm | ) |
SpectrumValue constructor.
| sm | pointer to the SpectrumModel which implements the set of frequencies to which the values will be referring. |
Definition at line 41 of file spectrum-value.cc.
| ns3::SpectrumValue::SpectrumValue | ( | ) |
Definition at line 37 of file spectrum-value.cc.
|
private |
Definition at line 108 of file spectrum-value.cc.
References m_spectrumModel, m_values, and NS_ASSERT.
Referenced by ns3::operator+(), operator+=(), ns3::operator-(), and Subtract().
Here is the caller graph for this function:
|
private |
Definition at line 126 of file spectrum-value.cc.
References m_values.
|
private |
Definition at line 233 of file spectrum-value.cc.
References m_values.
Referenced by ns3::operator-().
Here is the caller graph for this function:| Bands::const_iterator ns3::SpectrumValue::ConstBandsBegin | ( | ) | const |
Definition at line 95 of file spectrum-value.cc.
References ns3::SpectrumModel::Begin(), and m_spectrumModel.
Referenced by ns3::ConstantSpectrumPropagationLossModel::DoCalcRxPowerSpectralDensity(), ns3::FriisSpectrumPropagationLossModel::DoCalcRxPowerSpectralDensity(), ns3::ShannonSpectrumErrorModel::EvaluateChunk(), ns3::Integral(), and ns3::WriteAveragePowerSpectralDensityReport().
Here is the call graph for this function:
Here is the caller graph for this function:| Bands::const_iterator ns3::SpectrumValue::ConstBandsEnd | ( | ) | const |
Definition at line 101 of file spectrum-value.cc.
References ns3::SpectrumModel::End(), and m_spectrumModel.
Referenced by ns3::ConstantSpectrumPropagationLossModel::DoCalcRxPowerSpectralDensity(), ns3::FriisSpectrumPropagationLossModel::DoCalcRxPowerSpectralDensity(), ns3::ShannonSpectrumErrorModel::EvaluateChunk(), ns3::Integral(), and ns3::WriteAveragePowerSpectralDensityReport().
Here is the call graph for this function:
Here is the caller graph for this function:| Values::const_iterator ns3::SpectrumValue::ConstValuesBegin | ( | ) | const |
Definition at line 70 of file spectrum-value.cc.
References m_values.
Referenced by ns3::SpectrumConverter::Convert(), ns3::LteAmc::CreateCqiFeedbacks(), ns3::LteEnbPhy::CreateUlCqiReport(), ns3::ShannonSpectrumErrorModel::EvaluateChunk(), ns3::Integral(), ns3::Norm(), ns3::operator<<(), ns3::Prod(), ns3::Sum(), and ns3::WriteAveragePowerSpectralDensityReport().
Here is the caller graph for this function:| Values::const_iterator ns3::SpectrumValue::ConstValuesEnd | ( | ) | const |
Definition at line 76 of file spectrum-value.cc.
References m_values.
Referenced by ns3::SpectrumConverter::Convert(), ns3::LteAmc::CreateCqiFeedbacks(), ns3::LteEnbPhy::CreateUlCqiReport(), ns3::ShannonSpectrumErrorModel::EvaluateChunk(), ns3::Integral(), ns3::Norm(), ns3::operator<<(), ns3::Prod(), ns3::Sum(), and ns3::WriteAveragePowerSpectralDensityReport().
Here is the caller graph for this function:| Ptr< SpectrumValue > ns3::SpectrumValue::Copy | ( | void | ) | const |
Definition at line 410 of file spectrum-value.cc.
References m_spectrumModel.
Referenced by ns3::SpectrumSignalParameters::SpectrumSignalParameters(), and ns3::LteInterference::StartRx().
Here is the caller graph for this function:
|
private |
Definition at line 199 of file spectrum-value.cc.
References m_spectrumModel, m_values, and NS_ASSERT.
Referenced by ns3::operator/(), and operator/=().
Here is the caller graph for this function:
|
private |
Definition at line 217 of file spectrum-value.cc.
References m_values, and NS_LOG_FUNCTION.
|
private |
Definition at line 295 of file spectrum-value.cc.
References m_values, and NS_LOG_FUNCTION.
Referenced by ns3::Pow().
Here is the caller graph for this function:| Ptr< const SpectrumModel > ns3::SpectrumValue::GetSpectrumModel | ( | ) | const |
Definition at line 63 of file spectrum-value.cc.
References m_spectrumModel.
Referenced by ns3::LteInterference::AddSignal(), ns3::SpectrumConverter::Convert(), ns3::SpectrumValueTestCase::DoRun(), ns3::LteTestSinrChunkProcessor::EvaluateSinrChunk(), ns3::LteCqiSinrChunkProcessor::EvaluateSinrChunk(), ns3::LtePemSinrChunkProcessor::EvaluateSinrChunk(), ns3::SpectrumAnalyzer::GenerateReport(), ns3::HalfDuplexIdealPhy::GetRxSpectrumModel(), ns3::LteInterference::SetNoisePowerSpectralDensity(), ns3::SpectrumInterference::SetNoisePowerSpectralDensity(), and ns3::LteSpectrumPhy::SetNoisePowerSpectralDensity().
Here is the caller graph for this function:| SpectrumModelUid_t ns3::SpectrumValue::GetSpectrumModelUid | ( | ) | const |
Definition at line 56 of file spectrum-value.cc.
References ns3::SpectrumModel::GetUid(), and m_spectrumModel.
Referenced by ns3::LteNoisePsdTestCase::DoRun(), and ns3::LteTxPsdTestCase::DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 336 of file spectrum-value.cc.
References m_values, and NS_LOG_FUNCTION.
|
private |
Definition at line 309 of file spectrum-value.cc.
References m_values, and NS_LOG_FUNCTION.
|
private |
Definition at line 322 of file spectrum-value.cc.
References m_values, and NS_LOG_FUNCTION.
|
private |
Definition at line 166 of file spectrum-value.cc.
References m_spectrumModel, m_values, and NS_ASSERT.
Referenced by ns3::operator*(), and operator*=().
Here is the caller graph for this function:
|
private |
Definition at line 184 of file spectrum-value.cc.
References m_values.
| SpectrumValue & ns3::SpectrumValue::operator*= | ( | const SpectrumValue & | rhs | ) |
Multiply *this by the Right Hand Side of the operator, component by component
| rhs | the Right Hand Side |
Definition at line 616 of file spectrum-value.cc.
References Multiply().
Here is the call graph for this function:| SpectrumValue & ns3::SpectrumValue::operator*= | ( | double | rhs | ) |
Multiply every component of *this by the value of the Right Hand Side of the operator
| rhs | the Right Hand Side |
Definition at line 645 of file spectrum-value.cc.
References Multiply().
Here is the call graph for this function:| SpectrumValue & ns3::SpectrumValue::operator+= | ( | const SpectrumValue & | rhs | ) |
Add the Right Hand Side of the operator to *this, component by component
| rhs | the Right Hand Side |
Definition at line 602 of file spectrum-value.cc.
References Add().
Here is the call graph for this function:| SpectrumValue & ns3::SpectrumValue::operator+= | ( | double | rhs | ) |
Add the value of the Right Hand Side of the operator to all components of *this
| rhs | the Right Hand Side |
Definition at line 631 of file spectrum-value.cc.
References Add().
Here is the call graph for this function:| SpectrumValue & ns3::SpectrumValue::operator-= | ( | const SpectrumValue & | rhs | ) |
Subtract the Right Hand Side of the operator from *this, component by component
| rhs | the Right Hand Side |
Definition at line 609 of file spectrum-value.cc.
References Subtract().
Here is the call graph for this function:| SpectrumValue & ns3::SpectrumValue::operator-= | ( | double | rhs | ) |
Subtract the value of the Right Hand Side of the operator from all components of *this
| rhs | the Right Hand Side |
Definition at line 638 of file spectrum-value.cc.
References Subtract().
Here is the call graph for this function:| SpectrumValue & ns3::SpectrumValue::operator/= | ( | const SpectrumValue & | rhs | ) |
Divide *this by the Right Hand Side of the operator, component by component
| rhs | the Right Hand Side |
Definition at line 623 of file spectrum-value.cc.
References Divide().
Here is the call graph for this function:| SpectrumValue & ns3::SpectrumValue::operator/= | ( | double | rhs | ) |
Divide every component of *this by the value of the Right Hand Side of the operator
| rhs | the Right Hand Side |
Definition at line 652 of file spectrum-value.cc.
References Divide().
Here is the call graph for this function:| SpectrumValue ns3::SpectrumValue::operator<< | ( | int | n | ) | const |
left shift operator
| n | position to shift |
Definition at line 675 of file spectrum-value.cc.
References ShiftLeft().
Here is the call graph for this function:| SpectrumValue & ns3::SpectrumValue::operator= | ( | double | rhs | ) |
Assign each component of *this to the value of the Right Hand Side of the operator
| rhs |
Definition at line 660 of file spectrum-value.cc.
References m_values.
| SpectrumValue ns3::SpectrumValue::operator>> | ( | int | n | ) | const |
right shift operator
| n | position to shift |
Definition at line 683 of file spectrum-value.cc.
References ShiftRight().
Here is the call graph for this function:| double & ns3::SpectrumValue::operator[] | ( | size_t | index | ) |
Access value at given frequency index
| index | the given frequency index |
Definition at line 49 of file spectrum-value.cc.
References m_values.
|
private |
Definition at line 281 of file spectrum-value.cc.
References m_values, and NS_LOG_FUNCTION.
|
private |
Definition at line 246 of file spectrum-value.cc.
References m_values.
Referenced by operator<<().
Here is the caller graph for this function:
|
private |
Definition at line 263 of file spectrum-value.cc.
References m_values.
Referenced by operator>>().
Here is the caller graph for this function:
|
private |
Definition at line 140 of file spectrum-value.cc.
References m_spectrumModel, m_values, and NS_ASSERT.
Referenced by ns3::operator-(), and operator-=().
Here is the caller graph for this function:
|
private |
Definition at line 158 of file spectrum-value.cc.
References Add().
Here is the call graph for this function:| Values::iterator ns3::SpectrumValue::ValuesBegin | ( | ) |
Definition at line 83 of file spectrum-value.cc.
References m_values.
Referenced by ns3::SpectrumConverter::Convert(), ns3::ConstantSpectrumPropagationLossModel::DoCalcRxPowerSpectralDensity(), ns3::FriisSpectrumPropagationLossModel::DoCalcRxPowerSpectralDensity(), and ns3::TraceFadingLossModel::DoCalcRxPowerSpectralDensity().
Here is the caller graph for this function:| Values::iterator ns3::SpectrumValue::ValuesEnd | ( | ) |
Definition at line 89 of file spectrum-value.cc.
References m_values.
Referenced by ns3::SpectrumConverter::Convert(), ns3::ConstantSpectrumPropagationLossModel::DoCalcRxPowerSpectralDensity(), ns3::FriisSpectrumPropagationLossModel::DoCalcRxPowerSpectralDensity(), and ns3::TraceFadingLossModel::DoCalcRxPowerSpectralDensity().
Here is the caller graph for this function:
|
friend |
| arg | the argument |
Definition at line 391 of file spectrum-value.cc.
|
friend |
| arg | the argument |
Definition at line 594 of file spectrum-value.cc.
Referenced by ns3::Log().
|
friend |
| arg | the argument |
Definition at line 578 of file spectrum-value.cc.
Referenced by ns3::Log10().
|
friend |
| arg | the argument |
Definition at line 586 of file spectrum-value.cc.
Referenced by ns3::Log2().
|
friend |
| x | the operand |
Definition at line 349 of file spectrum-value.cc.
|
friend |
multiplication component-by-component (Schur product)
| lhs | Left Hand Side of the operator |
| rhs | Right Hand Side of the operator |
Definition at line 491 of file spectrum-value.cc.
|
friend |
multiplication by a scalar
| lhs | Left Hand Side of the operator |
| rhs | Right Hand Side of the operator |
Definition at line 500 of file spectrum-value.cc.
|
friend |
multiplication of a scalar
| lhs | Left Hand Side of the operator |
| rhs | Right Hand Side of the operator |
Definition at line 509 of file spectrum-value.cc.
|
friend |
addition operator
| lhs | Left Hand Side of the operator |
| rhs | Right Hand Side of the operator |
Definition at line 436 of file spectrum-value.cc.
|
friend |
addition operator
| lhs | Left Hand Side of the operator |
| rhs | Right Hand Side of the operator |
Definition at line 445 of file spectrum-value.cc.
|
friend |
addition operator
| lhs | Left Hand Side of the operator |
| rhs | Right Hand Side of the operator |
Definition at line 454 of file spectrum-value.cc.
|
friend |
|
friend |
subtraction operator
| lhs | Left Hand Side of the operator |
| rhs | Right Hand Side of the operator |
Definition at line 463 of file spectrum-value.cc.
|
friend |
subtraction operator
| lhs | Left Hand Side of the operator |
| rhs | Right Hand Side of the operator |
Definition at line 474 of file spectrum-value.cc.
|
friend |
subtraction operator
| lhs | Left Hand Side of the operator |
| rhs | Right Hand Side of the operator |
Definition at line 483 of file spectrum-value.cc.
|
friend |
|
friend |
division component-by-component
| lhs | Left Hand Side of the operator |
| rhs | Right Hand Side of the operator |
Definition at line 518 of file spectrum-value.cc.
|
friend |
division by a scalar
| lhs | Left Hand Side of the operator |
| rhs | Right Hand Side of the operator |
Definition at line 527 of file spectrum-value.cc.
|
friend |
division of a scalar
| lhs | Left Hand Side of the operator |
| rhs | Right Hand Side of the operator |
Definition at line 536 of file spectrum-value.cc.
|
friend |
| lhs | the base |
| rhs | the exponent |
Definition at line 569 of file spectrum-value.cc.
Referenced by ns3::Pow().
|
friend |
| lhs | the base |
| rhs | the exponent |
Definition at line 560 of file spectrum-value.cc.
|
friend |
| x | the operand |
Definition at line 378 of file spectrum-value.cc.
|
friend |
| x | the operand |
Definition at line 363 of file spectrum-value.cc.
|
private |
Definition at line 518 of file spectrum-value.h.
Referenced by Add(), ConstBandsBegin(), ConstBandsEnd(), Copy(), Divide(), GetSpectrumModel(), GetSpectrumModelUid(), Multiply(), and Subtract().
|
private |
Set of values which implement the codomain of the functions in the Function Space defined by SpectrumValue. There is no restriction on what these values represent (a transmission power density, a propagation loss, etc.).
Definition at line 528 of file spectrum-value.h.
Referenced by Add(), ChangeSign(), ConstValuesBegin(), ConstValuesEnd(), Divide(), Exp(), Log(), Log10(), Log2(), Multiply(), operator=(), operator[](), Pow(), ShiftLeft(), ShiftRight(), Subtract(), ValuesBegin(), and ValuesEnd().