/usr/include/ns3.27/ns3/cost231-propagation-loss-model.h is in libns3-dev 3.27+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
* Copyright (c) 2007,2008, 2009 INRIA, UDcast
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation;
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Author: Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
* <amine.ismail@udcast.com>
*/
#ifndef COST231_PROPAGATION_LOSS_MODEL_H
#define COST231_PROPAGATION_LOSS_MODEL_H
#include "ns3/nstime.h"
#include "ns3/propagation-loss-model.h"
namespace ns3 {
/**
* \ingroup propagation
*
* \brief The COST-Hata-Model is the most often cited of the COST 231 models.
*
* Also called the Hata Model PCS Extension, it is a radio propagation model
* that extends the Hata Model (which in turn is based on the Okumura Model)
* to cover a more elaborated range of frequencies. COST (COperation
* europ�enne dans le domaine de la recherche Scientifique et Technique)
* is a European Union Forum for cooperative scientific research which has
* developed this model accordingly to various experiments and researches.
* This model is applicable to urban areas. To further evaluate Path Loss
* in Suburban or Rural Quasi-open/Open Areas.
* Frequency: 1500 MHz to 2000 MHz
* Mobile Station Antenna Height: 1 up to 10m
* Base station Antenna Height: 30m to 200m
* Link Distance:up to 20 km
*
*/
class Cost231PropagationLossModel : public PropagationLossModel
{
public:
/**
* \brief Get the type ID.
* \return the object TypeId
*/
static TypeId GetTypeId (void);
Cost231PropagationLossModel ();
/**
* Get the propagation loss
* \param a the mobility model of the source
* \param b the mobility model of the destination
* \returns the propagation loss (in dBm)
*/
double GetLoss (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const;
/**
* Set the BS antenna height
* \param height BS antenna height [m]
*/
void SetBSAntennaHeight (double height);
/**
* Set the SS antenna height
* \param height SS antenna height [m]
*/
void SetSSAntennaHeight (double height);
/**
* Set the wavelength
* \param lambda the wavelength
*/
void SetLambda (double lambda);
/**
* Set the wavelength
* \param frequency the signal frequency [Hz]
* \param speed the signal speed [m/s]
*/
void SetLambda (double frequency, double speed);
/**
* Set the minimum model distance
* \param minDistance the minimum model distance
*/
void SetMinDistance (double minDistance);
/**
* Get the BS antenna height
* \returns BS antenna height [m]
*/
double GetBSAntennaHeight (void) const;
/**
* Get the SS antenna height
* \returns SS antenna height [m]
*/
double GetSSAntennaHeight (void) const;
/**
* Get the minimum model distance
* \returns the minimum model distance
*/
double GetMinDistance (void) const;
/**
* Get the wavelength
* \returns the wavelength
*/
double GetLambda (void) const;
/**
* Get the shadowing value
* \returns the shadowing value
*/
double GetShadowing (void);
/**
* Set the shadowing value
* \param shadowing the shadowing value
*/
void SetShadowing (double shadowing);
private:
/**
* \brief Copy constructor
*
* Defined and unimplemented to avoid misuse
*/
Cost231PropagationLossModel (const Cost231PropagationLossModel &);
/**
* \brief Copy constructor
*
* Defined and unimplemented to avoid misuse
* \returns
*/
Cost231PropagationLossModel & operator = (const Cost231PropagationLossModel &);
virtual double DoCalcRxPower (double txPowerDbm, Ptr<MobilityModel> a, Ptr<MobilityModel> b) const;
virtual int64_t DoAssignStreams (int64_t stream);
double m_BSAntennaHeight; //!< BS Antenna Height [m]
double m_SSAntennaHeight; //!< SS Antenna Height [m]
double m_lambda; //!< The wavelength
double m_minDistance; //!< minimum distance [m]
double m_frequency; //!< frequency [Hz]
double m_shadowing; //!< Shadowing loss [dB]
};
}
#endif /* COST231PROPAGATIONMODEL_H */
|