22 #include "ns3/double.h"
46 .AddAttribute (
"SpreadCoef",
47 "Spreading coefficient used in calculation of Thorp's approximation.",
50 MakeDoubleChecker<double> ())
87 double fsq = freqKhz * freqKhz;
92 atten = 0.11 * fsq / (1 + fsq) + 44 * fsq / (4100 + fsq)
93 + 2.75 * 0.0001 * fsq + 0.003;
97 atten = 0.002 + 0.11 * (freqKhz / (1 + freqKhz)) + 0.011 * freqKhz;
double GetAttenDbKm(double freqKhz)
Get the attenuation in dB / km.
Simulation virtual time values and global simulation resolution.
double GetDistanceFrom(Ptr< const MobilityModel > position) const
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
virtual Time GetDelay(Ptr< MobilityModel > a, Ptr< MobilityModel > b, UanTxMode mode)
Finds propagation delay between nodes a and b.
double GetAttenDbKyd(double freqKhz)
Get the attenuation in dB / 1000 yards.
static UanPdp CreateImpulsePdp(void)
Get a unit impulse PDP at time 0.
static TypeId GetTypeId(void)
Register this type.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Uses Thorp's approximation to compute pathloss.
double m_SpreadCoef
Spreading coefficient used in calculation of Thorp's approximation.
The power delay profile returned by propagation models.
Abstraction of packet modulation information.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint32_t GetCenterFreqHz(void) const
Get the transmission center frequency.
virtual double GetPathLossDb(Ptr< MobilityModel > a, Ptr< MobilityModel > b, UanTxMode mode)
Computes pathloss between nodes a and b.
UanPropModelThorp()
Default constructor.
Ptr< const AttributeAccessor > MakeDoubleAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
Time Seconds(double value)
Construct a Time in the indicated unit.
virtual ~UanPropModelThorp()
Destructor.
A base class which provides memory management and object aggregation.
This class can be used to hold variables of floating point type such as 'double' or 'float'...
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
virtual UanPdp GetPdp(Ptr< MobilityModel > a, Ptr< MobilityModel > b, UanTxMode mode)
Get the PDP for the path between two nodes.