A Discrete-Event Network Simulator
API
three-gpp-v2v-propagation-loss-model.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2020 SIGNET Lab, Department of Information Engineering,
4  * University of Padova
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation;
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  */
19 
20 #ifndef THREE_GPP_V2V_PROPAGATION_LOSS_MODEL_H
21 #define THREE_GPP_V2V_PROPAGATION_LOSS_MODEL_H
22 
24 
25 namespace ns3 {
26 
34 {
35 public:
40  static TypeId GetTypeId (void);
41 
46 
50  virtual ~ThreeGppV2vUrbanPropagationLossModel () override;
51 
58 
66 
67 private:
77  virtual double GetLossLos (double distance2D, double distance3D, double hUt, double hBs) const override;
78 
88  virtual double GetLossNlosv (double distance2D, double distance3D, double hUt, double hBs) const override;
89 
99  virtual double GetLossNlos (double distance2D, double distance3D, double hUt, double hBs) const override;
100 
108  double GetAdditionalNlosvLoss (double distance3D, double hUt, double hBs) const;
109 
118 
124  virtual double GetShadowingCorrelationDistance (ChannelCondition::LosConditionValue cond) const override;
125 
129 };
130 
138 {
139 public:
144  static TypeId GetTypeId (void);
145 
150 
154  virtual ~ThreeGppV2vHighwayPropagationLossModel () override;
155 
156 private:
166  virtual double GetLossLos (double distance2D, double distance3D, double hUt, double hBs) const override;
167 };
168 
169 } // namespace ns3
170 
171 #endif /* THREE_GPP_V2V_PROPAGATION_LOSS_MODEL_H */
virtual double GetLossLos(double distance2D, double distance3D, double hUt, double hBs) const override
Computes the pathloss between a and b considering that the line of sight is not obstructed.
virtual double GetLossNlosv(double distance2D, double distance3D, double hUt, double hBs) const override
Computes the pathloss between a and b considering that the line of sight is obstructed by a vehicle...
Ptr< UniformRandomVariable > m_uniformVar
uniform random variable
double m_percType3Vehicles
percentage of Type 3 vehicles in the scenario (i.e., trucks)
double GetAdditionalNlosvLoss(double distance3D, double hUt, double hBs) const
Computes the additional loss due to an obstruction caused by a vehicle.
virtual double GetShadowingStd(Ptr< MobilityModel > a, Ptr< MobilityModel > b, ChannelCondition::LosConditionValue cond) const override
Returns the shadow fading standard deviation.
Implements the pathloss model defined in 3GPP TR 37.885, Table 6.2.1-1 for the Highway scenario...
virtual double GetShadowingCorrelationDistance(ChannelCondition::LosConditionValue cond) const override
Returns the shadow fading correlation distance.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual double GetLossNlos(double distance2D, double distance3D, double hUt, double hBs) const override
Computes the pathloss between a and b considering that the line of sight is obstructed by a building...
virtual double GetLossLos(double distance2D, double distance3D, double hUt, double hBs) const override
Computes the pathloss between a and b considering that the line of sight is not obstructed.
Implements the pathloss model defined in 3GPP TR 37.885, Table 6.2.1-1 for the Urban scenario...
Ptr< LogNormalRandomVariable > m_logNorVar
log normal random variable
ThreeGppV2vUrbanPropagationLossModel & operator=(const ThreeGppV2vUrbanPropagationLossModel &)=delete
Copy constructor.
Base class for the 3GPP propagation models.
LosConditionValue
Possible values for Line-of-Sight condition.
a unique identifier for an interface.
Definition: type-id.h:58