A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
uan-prop-model-thorp.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2009 University of Washington
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Author: Leonard Tracy <lentracy@gmail.com>
18 */
19
20#ifndef UAN_PROP_MODEL_THORP_H
21#define UAN_PROP_MODEL_THORP_H
22
23#include "uan-prop-model.h"
24
25namespace ns3
26{
27
28class UanTxMode;
29
30/**
31 * \ingroup uan
32 *
33 * Uses Thorp's approximation to compute pathloss. Assumes implulse PDP.
34 */
36{
37 public:
38 /** Default constructor. */
40 /** Destructor */
41 ~UanPropModelThorp() override;
42
43 /**
44 * Register this type.
45 * \return The object TypeId.
46 */
47 static TypeId GetTypeId();
48
49 // Inherited methods
53
54 private:
55 /**
56 * Get the attenuation in dB / 1000 yards.
57 * \param freqKhz The channel center frequency, in kHz.
58 * \return The attenuation, in dB / 1000 yards.
59 */
60 double GetAttenDbKyd(double freqKhz);
61 /**
62 * Get the attenuation in dB / km.
63 * \param freqKhz The channel center frequency, in kHz.
64 * \return The attenuation, in dB/km.
65 */
66 double GetAttenDbKm(double freqKhz);
67
68 double m_SpreadCoef; //!< Spreading coefficient used in calculation of Thorp's approximation.
69
70}; // class UanPropModelThorp
71
72} // namespace ns3
73
74#endif /* UAN_PROP_MODEL_THORP_H */
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:77
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:105
a unique identifier for an interface.
Definition: type-id.h:59
The power delay profile returned by propagation models.
Base class for implemented underwater propagation models.
Uses Thorp's approximation to compute pathloss.
~UanPropModelThorp() override
Destructor.
UanPropModelThorp()
Default constructor.
double GetAttenDbKm(double freqKhz)
Get the attenuation in dB / km.
UanPdp GetPdp(Ptr< MobilityModel > a, Ptr< MobilityModel > b, UanTxMode mode) override
Get the PDP for the path between two nodes.
double GetPathLossDb(Ptr< MobilityModel > a, Ptr< MobilityModel > b, UanTxMode mode) override
Computes pathloss between nodes a and b.
double m_SpreadCoef
Spreading coefficient used in calculation of Thorp's approximation.
static TypeId GetTypeId()
Register this type.
double GetAttenDbKyd(double freqKhz)
Get the attenuation in dB / 1000 yards.
Time GetDelay(Ptr< MobilityModel > a, Ptr< MobilityModel > b, UanTxMode mode) override
Finds propagation delay between nodes a and b.
Abstraction of packet modulation information.
Definition: uan-tx-mode.h:43
Every class exported by the ns3 library is enclosed in the ns3 namespace.