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
cost231-propagation-loss-model.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2007,2008, 2009 INRIA, UDcast
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
7
* <amine.ismail@udcast.com>
8
*/
9
10
#ifndef COST231_PROPAGATION_LOSS_MODEL_H
11
#define COST231_PROPAGATION_LOSS_MODEL_H
12
13
#include "
propagation-loss-model.h
"
14
15
#include "ns3/nstime.h"
16
17
namespace
ns3
18
{
19
20
/**
21
* \ingroup propagation
22
*
23
* \brief The COST-Hata-Model is the most often cited of the COST 231 models.
24
*
25
* Also called the Hata Model PCS Extension, it is a radio propagation model
26
* that extends the Hata Model (which in turn is based on the Okumura Model)
27
* to cover a more elaborated range of frequencies. COST (COperation
28
* europ�enne dans le domaine de la recherche Scientifique et Technique)
29
* is a European Union Forum for cooperative scientific research which has
30
* developed this model accordingly to various experiments and researches.
31
* This model is applicable to urban areas. To further evaluate Path Loss
32
* in Suburban or Rural Quasi-open/Open Areas.
33
* Frequency: 1500 MHz to 2000 MHz
34
* Mobile Station Antenna Height: 1 up to 10m
35
* Base station Antenna Height: 30m to 200m
36
* Link Distance:up to 20 km
37
*
38
*/
39
40
class
Cost231PropagationLossModel
:
public
PropagationLossModel
41
{
42
public
:
43
/**
44
* \brief Get the type ID.
45
* \return the object TypeId
46
*/
47
static
TypeId
GetTypeId
();
48
Cost231PropagationLossModel
();
49
50
// Delete copy constructor and assignment operator to avoid misuse
51
Cost231PropagationLossModel
(
const
Cost231PropagationLossModel
&) =
delete
;
52
Cost231PropagationLossModel
&
operator=
(
const
Cost231PropagationLossModel
&) =
delete
;
53
54
/**
55
* Get the propagation loss
56
* \param a the mobility model of the source
57
* \param b the mobility model of the destination
58
* \returns the propagation loss (in dBm)
59
*/
60
double
GetLoss
(
Ptr<MobilityModel>
a,
Ptr<MobilityModel>
b)
const
;
61
62
/**
63
* Set the BS antenna height
64
* \param height BS antenna height [m]
65
*/
66
void
SetBSAntennaHeight
(
double
height);
67
/**
68
* Set the SS antenna height
69
* \param height SS antenna height [m]
70
*/
71
void
SetSSAntennaHeight
(
double
height);
72
73
/**
74
* Set the wavelength
75
* \param lambda the wavelength
76
*/
77
void
SetLambda
(
double
lambda);
78
/**
79
* Set the wavelength
80
* \param frequency the signal frequency [Hz]
81
* \param speed the signal speed [m/s]
82
*/
83
void
SetLambda
(
double
frequency,
double
speed);
84
/**
85
* Set the minimum model distance
86
* \param minDistance the minimum model distance
87
*/
88
void
SetMinDistance
(
double
minDistance);
89
/**
90
* Get the BS antenna height
91
* \returns BS antenna height [m]
92
*/
93
double
GetBSAntennaHeight
()
const
;
94
/**
95
* Get the SS antenna height
96
* \returns SS antenna height [m]
97
*/
98
double
GetSSAntennaHeight
()
const
;
99
/**
100
* Get the minimum model distance
101
* \returns the minimum model distance
102
*/
103
double
GetMinDistance
()
const
;
104
/**
105
* Get the wavelength
106
* \returns the wavelength
107
*/
108
double
GetLambda
()
const
;
109
/**
110
* Get the shadowing value
111
* \returns the shadowing value
112
*/
113
double
GetShadowing
()
const
;
114
/**
115
* Set the shadowing value
116
* \param shadowing the shadowing value
117
*/
118
void
SetShadowing
(
double
shadowing);
119
120
private
:
121
double
DoCalcRxPower
(
double
txPowerDbm,
122
Ptr<MobilityModel>
a,
123
Ptr<MobilityModel>
b)
const override
;
124
int64_t
DoAssignStreams
(int64_t stream)
override
;
125
126
double
m_BSAntennaHeight
;
//!< BS Antenna Height [m]
127
double
m_SSAntennaHeight
;
//!< SS Antenna Height [m]
128
double
m_lambda
;
//!< The wavelength
129
double
m_minDistance
;
//!< minimum distance [m]
130
double
m_frequency
;
//!< frequency [Hz]
131
double
m_shadowing
;
//!< Shadowing loss [dB]
132
};
133
134
}
// namespace ns3
135
136
#endif
/* COST231PROPAGATIONMODEL_H */
ns3::Cost231PropagationLossModel
The COST-Hata-Model is the most often cited of the COST 231 models.
Definition
cost231-propagation-loss-model.h:41
ns3::Cost231PropagationLossModel::GetShadowing
double GetShadowing() const
Get the shadowing value.
Definition
cost231-propagation-loss-model.cc:79
ns3::Cost231PropagationLossModel::SetShadowing
void SetShadowing(double shadowing)
Set the shadowing value.
Definition
cost231-propagation-loss-model.cc:85
ns3::Cost231PropagationLossModel::m_SSAntennaHeight
double m_SSAntennaHeight
SS Antenna Height [m].
Definition
cost231-propagation-loss-model.h:127
ns3::Cost231PropagationLossModel::GetLambda
double GetLambda() const
Get the wavelength.
Definition
cost231-propagation-loss-model.cc:98
ns3::Cost231PropagationLossModel::m_lambda
double m_lambda
The wavelength.
Definition
cost231-propagation-loss-model.h:128
ns3::Cost231PropagationLossModel::SetBSAntennaHeight
void SetBSAntennaHeight(double height)
Set the BS antenna height.
Definition
cost231-propagation-loss-model.cc:116
ns3::Cost231PropagationLossModel::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition
cost231-propagation-loss-model.cc:29
ns3::Cost231PropagationLossModel::DoAssignStreams
int64_t DoAssignStreams(int64_t stream) override
Assign a fixed random variable stream number to the random variables used by this model.
Definition
cost231-propagation-loss-model.cc:176
ns3::Cost231PropagationLossModel::m_frequency
double m_frequency
frequency [Hz]
Definition
cost231-propagation-loss-model.h:130
ns3::Cost231PropagationLossModel::Cost231PropagationLossModel
Cost231PropagationLossModel(const Cost231PropagationLossModel &)=delete
ns3::Cost231PropagationLossModel::GetBSAntennaHeight
double GetBSAntennaHeight() const
Get the BS antenna height.
Definition
cost231-propagation-loss-model.cc:122
ns3::Cost231PropagationLossModel::Cost231PropagationLossModel
Cost231PropagationLossModel()
Definition
cost231-propagation-loss-model.cc:66
ns3::Cost231PropagationLossModel::GetSSAntennaHeight
double GetSSAntennaHeight() const
Get the SS antenna height.
Definition
cost231-propagation-loss-model.cc:134
ns3::Cost231PropagationLossModel::GetMinDistance
double GetMinDistance() const
Get the minimum model distance.
Definition
cost231-propagation-loss-model.cc:110
ns3::Cost231PropagationLossModel::SetSSAntennaHeight
void SetSSAntennaHeight(double height)
Set the SS antenna height.
Definition
cost231-propagation-loss-model.cc:128
ns3::Cost231PropagationLossModel::SetLambda
void SetLambda(double lambda)
Set the wavelength.
Definition
cost231-propagation-loss-model.cc:91
ns3::Cost231PropagationLossModel::m_minDistance
double m_minDistance
minimum distance [m]
Definition
cost231-propagation-loss-model.h:129
ns3::Cost231PropagationLossModel::SetMinDistance
void SetMinDistance(double minDistance)
Set the minimum model distance.
Definition
cost231-propagation-loss-model.cc:104
ns3::Cost231PropagationLossModel::m_BSAntennaHeight
double m_BSAntennaHeight
BS Antenna Height [m].
Definition
cost231-propagation-loss-model.h:126
ns3::Cost231PropagationLossModel::GetLoss
double GetLoss(Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
Get the propagation loss.
Definition
cost231-propagation-loss-model.cc:140
ns3::Cost231PropagationLossModel::DoCalcRxPower
double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const override
PropagationLossModel.
Definition
cost231-propagation-loss-model.cc:168
ns3::Cost231PropagationLossModel::operator=
Cost231PropagationLossModel & operator=(const Cost231PropagationLossModel &)=delete
ns3::Cost231PropagationLossModel::m_shadowing
double m_shadowing
Shadowing loss [dB].
Definition
cost231-propagation-loss-model.h:131
ns3::PropagationLossModel
Models the propagation loss through a transmission medium.
Definition
propagation-loss-model.h:45
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
mpi-test-fixtures.h:37
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.
propagation-loss-model.h
src
propagation
model
cost231-propagation-loss-model.h
Generated on Fri Nov 8 2024 13:59:05 for ns-3 by
1.11.0