19#ifndef THREE_GPP_V2V_PROPAGATION_LOSS_MODEL_H 
   20#define THREE_GPP_V2V_PROPAGATION_LOSS_MODEL_H 
   67    double GetLossLos(
double distance2D, 
double distance3D, 
double hUt, 
double hBs) 
const override;
 
   98                        double hBs) 
const override;
 
  109    double GetLossNlos(
double distance2D, 
double distance3D, 
double hUt, 
double hBs) 
const override;
 
  180    double GetLossLos(
double distance2D, 
double distance3D, 
double hUt, 
double hBs) 
const override;
 
LosConditionValue
Possible values for Line-of-Sight condition.
 
Smart pointer class similar to boost::intrusive_ptr.
 
Base class for the 3GPP propagation models.
 
Implements the pathloss model defined in 3GPP TR 37.885, Table 6.2.1-1 for the Highway scenario.
 
~ThreeGppV2vHighwayPropagationLossModel() override
Destructor.
 
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.
 
ThreeGppV2vHighwayPropagationLossModel()
Constructor.
 
static TypeId GetTypeId()
Get the type ID.
 
Implements the pathloss model defined in 3GPP TR 37.885, Table 6.2.1-1 for the Urban scenario.
 
double GetShadowingStd(Ptr< MobilityModel > a, Ptr< MobilityModel > b, ChannelCondition::LosConditionValue cond) const override
Returns the shadow fading standard deviation.
 
ThreeGppV2vUrbanPropagationLossModel & operator=(const ThreeGppV2vUrbanPropagationLossModel &)=delete
 
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.
 
ThreeGppV2vUrbanPropagationLossModel(const ThreeGppV2vUrbanPropagationLossModel &)=delete
 
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.
 
double GetO2iDistance2dIn() const override
Returns the minimum of the two independently generated distances according to the uniform distributio...
 
double GetShadowingCorrelationDistance(ChannelCondition::LosConditionValue cond) const override
Returns the shadow fading correlation distance.
 
double m_percType3Vehicles
percentage of Type 3 vehicles in the scenario (i.e., trucks)
 
Ptr< LogNormalRandomVariable > m_logNorVar
log normal random variable
 
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.
 
ThreeGppV2vUrbanPropagationLossModel()
Constructor.
 
static TypeId GetTypeId()
Get the type ID.
 
int64_t DoAssignStreams(int64_t stream) override
Assign a fixed random variable stream number to the random variables used by this model.
 
~ThreeGppV2vUrbanPropagationLossModel() override
Destructor.
 
double GetAdditionalNlosvLoss(double distance3D, double hUt, double hBs) const
Computes the additional loss due to an obstruction caused by a vehicle.
 
Ptr< UniformRandomVariable > m_uniformVar
uniform random variable
 
a unique identifier for an interface.
 
Every class exported by the ns3 library is enclosed in the ns3 namespace.