Public Types | Public Member Functions | Static Public Member Functions | Friends

ns3::UanPdp Class Reference

#include <uan-prop-model.h>

Collaboration diagram for ns3::UanPdp:
Collaboration graph
[legend]

List of all members.

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.
void SetTap (std::complex< double > arrival, uint32_t index)
void SetNTaps (uint32_t nTaps)
void SetResolution (Time resolution)
Iterator GetBegin (void) const
Iterator GetEnd (void) const
uint32_t GetNTaps (void) const
const TapGetTap (uint32_t i) const
Time GetResolution (void) const
double SumTapsNc (Time begin, Time end) const
std::complex< double > SumTapsC (Time begin, Time end) const
double SumTapsFromMaxNc (Time delay, Time duration) const
std::complex< double > SumTapsFromMaxC (Time delay, Time duration) const

Static Public Member Functions

static UanPdp CreateImpulsePdp (void)

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)

Detailed Description

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.


Constructor & Destructor Documentation

ns3::UanPdp::UanPdp ( std::vector< Tap taps,
Time  resolution 
)

Create PDP object from a vector of Tap objects.

Parameters:
taps Taps to include in this PDP
resolution Resolution of PDP object
ns3::UanPdp::UanPdp ( std::vector< std::complex< double > >  arrivals,
Time  resolution 
)

Create PDP object from vector of arrival amplitudes.

Parameters:
arrivals Vector of complex amplitude arrivals
resolution Time duration between arrivals in vector
ns3::UanPdp::UanPdp ( std::vector< double >  arrivals,
Time  resolution 
)

Create PDP object from real valued arrival amplitudes.

Parameters:
arrivals vector of real valued arrivals
resolution Time duration between arrivals in vector

Member Function Documentation

static UanPdp ns3::UanPdp::CreateImpulsePdp ( void   )  [static]
Returns:
A PDP with a singlue unit impulse arrival at time 0
Iterator ns3::UanPdp::GetBegin ( void   )  const
Returns:
Iterator positioned at first arrival
Iterator ns3::UanPdp::GetEnd ( void   )  const
Returns:
Iterator positioned after last arrival
uint32_t ns3::UanPdp::GetNTaps ( void   )  const
Returns:
Number of taps in PDP
Time ns3::UanPdp::GetResolution ( void   )  const
Returns:
Resolution of PDP (time duration between arrivals)
const Tap& ns3::UanPdp::GetTap ( uint32_t  i  )  const
Returns:
Tap object at index i
Parameters:
i Index number of tap to return (0 based)
void ns3::UanPdp::SetNTaps ( uint32_t  nTaps  ) 
Parameters:
nTaps number of taps in this PDP
void ns3::UanPdp::SetResolution ( Time  resolution  ) 
Parameters:
resolution Resolution of PDP (time between arrivals)
void ns3::UanPdp::SetTap ( std::complex< double >  arrival,
uint32_t  index 
)
Parameters:
arrival complex arrival value
index index of arrival
std::complex<double> ns3::UanPdp::SumTapsC ( Time  begin,
Time  end 
) const
Parameters:
begin Time value to begin summing arrivals
end Time value to end summing arrivals
Returns:
Returns coherent sum of arrivals between two time values

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.

std::complex<double> ns3::UanPdp::SumTapsFromMaxC ( Time  delay,
Time  duration 
) const
Parameters:
delay Time duratation after max to begin summing arrivals
duration Time duration to sum arrivals for
Returns:
coherent sum of arrivals after max in given window

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

double ns3::UanPdp::SumTapsFromMaxNc ( Time  delay,
Time  duration 
) const
Parameters:
delay Time duratation after max to begin summing arrivals
duration Time duration to sum arrivals for
Returns:
non-coherent sum of arrivals after max in given window

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

double ns3::UanPdp::SumTapsNc ( Time  begin,
Time  end 
) const
Parameters:
begin Time value to begin summing arrivals
end Time value to end summing arrivals
Returns:
Returns Non-coherent sum of arrivals between two time values

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.


The documentation for this class was generated from the following file: