A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
parabolic-antenna-model.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2012 CTTC
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Nicola Baldo <nbaldo@cttc.es>
7
*/
8
9
#ifndef PARABOLIC_ANTENNA_MODEL_H
10
#define PARABOLIC_ANTENNA_MODEL_H
11
12
#include "
antenna-model.h
"
13
14
#include <ns3/object.h>
15
16
namespace
ns3
17
{
18
19
/**
20
* \ingroup antenna
21
*
22
* \brief Antenna model based on a parabolic approximation of the main lobe radiation pattern.
23
*
24
* This class implements the parabolic model as described in some 3GPP document, e.g., R4-092042
25
*
26
* A similar model appears in:
27
*
28
* George Calcev and Matt Dillon, "Antenna Tilt Control in CDMA Networks"
29
* in Proc. of the 2nd Annual International Wireless Internet Conference (WICON), 2006
30
*
31
* though the latter addresses also the elevation plane, which the present model doesn't.
32
*
33
*
34
*/
35
class
ParabolicAntennaModel
:
public
AntennaModel
36
{
37
public
:
38
/**
39
* \brief Get the type ID.
40
* \return The object TypeId.
41
*/
42
static
TypeId
GetTypeId
();
43
44
// inherited from AntennaModel
45
double
GetGainDb
(
Angles
a)
override
;
46
47
// attribute getters/setters
48
/**
49
* Set the Beam width
50
* \param beamwidthDegrees Beam width in degrees
51
*/
52
void
SetBeamwidth
(
double
beamwidthDegrees);
53
/**
54
* Get the Beam width
55
* \return beam width in degrees
56
*/
57
double
GetBeamwidth
()
const
;
58
/**
59
* Set the antenna orientation
60
* \param orientationDegrees antenna orientation in degrees
61
*/
62
void
SetOrientation
(
double
orientationDegrees);
63
/**
64
* Get the antenna orientation
65
* \return antenna orientation in degrees
66
*/
67
double
GetOrientation
()
const
;
68
69
private
:
70
double
m_beamwidthRadians
;
//!< Beam width in radians
71
double
m_orientationRadians
;
//!< Antenna orientation in radians
72
double
m_maxAttenuation
;
//!< Max attenuation
73
};
74
75
}
// namespace ns3
76
77
#endif
// PARABOLIC_ANTENNA_MODEL_H
antenna-model.h
ns3::Angles
Class holding the azimuth and inclination angles of spherical coordinates.
Definition
angles.h:107
ns3::AntennaModel
interface for antenna radiation pattern models
Definition
antenna-model.h:44
ns3::ParabolicAntennaModel
Antenna model based on a parabolic approximation of the main lobe radiation pattern.
Definition
parabolic-antenna-model.h:36
ns3::ParabolicAntennaModel::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition
parabolic-antenna-model.cc:26
ns3::ParabolicAntennaModel::SetBeamwidth
void SetBeamwidth(double beamwidthDegrees)
Set the Beam width.
Definition
parabolic-antenna-model.cc:55
ns3::ParabolicAntennaModel::GetGainDb
double GetGainDb(Angles a) override
this method is expected to be re-implemented by each antenna model
Definition
parabolic-antenna-model.cc:81
ns3::ParabolicAntennaModel::GetBeamwidth
double GetBeamwidth() const
Get the Beam width.
Definition
parabolic-antenna-model.cc:62
ns3::ParabolicAntennaModel::m_orientationRadians
double m_orientationRadians
Antenna orientation in radians.
Definition
parabolic-antenna-model.h:71
ns3::ParabolicAntennaModel::GetOrientation
double GetOrientation() const
Get the antenna orientation.
Definition
parabolic-antenna-model.cc:75
ns3::ParabolicAntennaModel::m_maxAttenuation
double m_maxAttenuation
Max attenuation.
Definition
parabolic-antenna-model.h:72
ns3::ParabolicAntennaModel::SetOrientation
void SetOrientation(double orientationDegrees)
Set the antenna orientation.
Definition
parabolic-antenna-model.cc:68
ns3::ParabolicAntennaModel::m_beamwidthRadians
double m_beamwidthRadians
Beam width in radians.
Definition
parabolic-antenna-model.h:70
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:48
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
antenna
model
parabolic-antenna-model.h
Generated on Fri Nov 8 2024 13:58:58 for ns-3 by
1.11.0