#include <uan-prop-model.h>
Public Types | |
typedef std::vector< Tap > ::const_iterator | Iterator |
Iterator is a standard template library constant interator. |
Public Member Functions | |
UanPdp () | |
Create empty PDP object. | |
UanPdp (std::vector< Tap > taps, Time resolution) | |
Create PDP object from a vector of Tap objects. | |
UanPdp (std::vector< std::complex< double > > arrivals, Time resolution) | |
Create PDP object from vector of arrival amplitudes. | |
UanPdp (std::vector< double > arrivals, Time resolution) | |
Create PDP object from real valued arrival amplitudes. | |
~UanPdp () | |
Iterator | GetBegin (void) const |
Iterator | GetEnd (void) const |
uint32_t | GetNTaps (void) const |
Time | GetResolution (void) const |
const Tap & | GetTap (uint32_t i) const |
void | SetNTaps (uint32_t nTaps) |
void | SetResolution (Time resolution) |
void | SetTap (std::complex< double > arrival, uint32_t index) |
std::complex< double > | SumTapsC (Time begin, Time end) const |
std::complex< double > | SumTapsFromMaxC (Time delay, Time duration) const |
double | SumTapsFromMaxNc (Time delay, Time duration) const |
double | SumTapsNc (Time begin, Time end) const |
Static Public Member Functions | |
static UanPdp | CreateImpulsePdp (void) |
Private Attributes | |
Time | m_resolution |
std::vector< Tap > | m_taps |
Friends | |
std::ostream & | operator<< (std::ostream &os, UanPdp &pdp) |
Writes PDP to stream as list of arrivals. | |
std::istream & | operator>> (std::istream &is, UanPdp &pdp) |
Container class to describe power delay profile returned from UAN propagation models using tapped delay line model. This should model a channel impulse response as a set of equally spaced signal arrivals.
Generally, the profile should be normalized, such that the sum of all taps should equal 1. The received signal power on any interval (t1, t2) can then be found from summing the taps on the interval and multiplying by the total received power at the receiver.
Definition at line 83 of file uan-prop-model.h.
typedef std::vector<Tap>::const_iterator ns3::UanPdp::Iterator |
Iterator is a standard template library constant interator.
Definition at line 89 of file uan-prop-model.h.
ns3::UanPdp::UanPdp | ( | ) |
Create empty PDP object.
Definition at line 108 of file uan-prop-model.cc.
Create PDP object from a vector of Tap objects.
taps | Taps to include in this PDP |
resolution | Resolution of PDP object |
Definition at line 113 of file uan-prop-model.cc.
ns3::UanPdp::UanPdp | ( | std::vector< std::complex< double > > | arrivals, |
Time | resolution | ||
) |
Create PDP object from vector of arrival amplitudes.
arrivals | Vector of complex amplitude arrivals |
resolution | Time duration between arrivals in vector |
Definition at line 119 of file uan-prop-model.cc.
References m_resolution, and m_taps.
ns3::UanPdp::UanPdp | ( | std::vector< double > | arrivals, |
Time | resolution | ||
) |
Create PDP object from real valued arrival amplitudes.
arrivals | vector of real valued arrivals |
resolution | Time duration between arrivals in vector |
Definition at line 131 of file uan-prop-model.cc.
References m_resolution, and m_taps.
ns3::UanPdp::~UanPdp | ( | ) |
Definition at line 143 of file uan-prop-model.cc.
References m_taps.
|
static |
Definition at line 331 of file uan-prop-model.cc.
References SetResolution(), and SetTap().
Referenced by ns3::UanPropModelThorp::GetPdp(), and ns3::UanPropModelIdeal::GetPdp().
UanPdp::Iterator ns3::UanPdp::GetBegin | ( | void | ) | const |
Definition at line 176 of file uan-prop-model.cc.
References m_taps.
Referenced by ns3::UanPhyCalcSinrFhFsk::CalcSinrDb().
UanPdp::Iterator ns3::UanPdp::GetEnd | ( | void | ) | const |
Definition at line 182 of file uan-prop-model.cc.
References m_taps.
Referenced by ns3::UanPhyCalcSinrFhFsk::CalcSinrDb().
uint32_t ns3::UanPdp::GetNTaps | ( | void | ) | const |
Definition at line 188 of file uan-prop-model.cc.
References m_taps.
Referenced by GetTap(), ns3::operator<<(), SumTapsC(), SumTapsFromMaxC(), SumTapsFromMaxNc(), and SumTapsNc().
Time ns3::UanPdp::GetResolution | ( | void | ) | const |
Definition at line 194 of file uan-prop-model.cc.
References m_resolution.
Referenced by ns3::operator<<().
const Tap & ns3::UanPdp::GetTap | ( | uint32_t | i | ) | const |
i | Index number of tap to return (0 based) |
Definition at line 160 of file uan-prop-model.cc.
References GetNTaps(), m_taps, and NS_ASSERT_MSG.
void ns3::UanPdp::SetNTaps | ( | uint32_t | nTaps | ) |
nTaps | number of taps in this PDP |
Definition at line 166 of file uan-prop-model.cc.
References m_taps.
void ns3::UanPdp::SetResolution | ( | Time | resolution | ) |
resolution | Resolution of PDP (time between arrivals) |
Definition at line 171 of file uan-prop-model.cc.
References m_resolution.
Referenced by CreateImpulsePdp().
void ns3::UanPdp::SetTap | ( | std::complex< double > | arrival, |
uint32_t | index | ||
) |
arrival | complex arrival value |
index | index of arrival |
Definition at line 149 of file uan-prop-model.cc.
References ns3::Time::GetSeconds(), m_resolution, and m_taps.
Referenced by CreateImpulsePdp().
Assuming that Tap at index 0 arrives at time 0, this function sums coherently (sums amplitude of arrivals considering phase difference) all arrivals between a start and end time.
Definition at line 300 of file uan-prop-model.cc.
References GetNTaps(), ns3::Time::GetSeconds(), m_resolution, m_taps, and NS_ASSERT_MSG.
delay | Time duratation after max to begin summing arrivals |
duration | Time duration to sum arrivals for |
this function sums coherently (sums amplitude of arrivals considering phase difference) all arrivals in a given duration starting the given time after the maximum amplitude arrival received
Definition at line 200 of file uan-prop-model.cc.
References GetNTaps(), ns3::Time::GetSeconds(), m_resolution, m_taps, NS_ASSERT_MSG, and visualizer.core::start().
delay | Time duratation after max to begin summing arrivals |
duration | Time duration to sum arrivals for |
this function sums non-coherently (sums amplitude of arrivals ignoring phase difference) all arrivals in a given duration starting the given time after the maximum amplitude arrival received
Definition at line 232 of file uan-prop-model.cc.
References GetNTaps(), ns3::Time::GetSeconds(), m_resolution, m_taps, NS_ASSERT_MSG, and visualizer.core::start().
Referenced by ns3::UanPhyCalcSinrFhFsk::CalcSinrDb().
Assuming that Tap at index 0 arrives at time 0, this function sums non-coherently (sums amplitude of arrivals ignoring phase difference) all arrivals between a start and end time.
Definition at line 267 of file uan-prop-model.cc.
References GetNTaps(), ns3::Time::GetSeconds(), m_resolution, m_taps, and NS_ASSERT_MSG.
Referenced by ns3::UanPhyCalcSinrFhFsk::CalcSinrDb().
|
friend |
Writes PDP to stream as list of arrivals.
Definition at line 30 of file uan-prop-model.cc.
|
friend |
Definition at line 44 of file uan-prop-model.cc.
|
private |
Definition at line 199 of file uan-prop-model.h.
Referenced by GetResolution(), ns3::operator>>(), SetResolution(), SetTap(), SumTapsC(), SumTapsFromMaxC(), SumTapsFromMaxNc(), SumTapsNc(), and UanPdp().
|
private |
Definition at line 198 of file uan-prop-model.h.
Referenced by GetBegin(), GetEnd(), GetNTaps(), GetTap(), ns3::operator<<(), ns3::operator>>(), SetNTaps(), SetTap(), SumTapsC(), SumTapsFromMaxC(), SumTapsFromMaxNc(), SumTapsNc(), UanPdp(), and ~UanPdp().