1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
3
* Copyright (c) 2007,2008, 2009 INRIA, UDcast
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
* Author: Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
19
* <amine.ismail@udcast.com>
22
#ifndef COST231_PROPAGATION_LOSS_MODEL_H
23
#define COST231_PROPAGATION_LOSS_MODEL_H
25
#include "ns3/nstime.h"
26
#include "ns3/propagation-loss-model.h"
31
* \ingroup propagation
33
* \brief The COST-Hata-Model is the most often cited of the COST 231 models.
35
* Also called the Hata Model PCS Extension, it is a radio propagation model
36
* that extends the Hata Model (which in turn is based on the Okumura Model)
37
* to cover a more elaborated range of frequencies. COST (COperation
38
* europ�enne dans le domaine de la recherche Scientifique et Technique)
39
* is a European Union Forum for cooperative scientific research which has
40
* developed this model accordingly to various experiments and researches.
41
* This model is applicable to urban areas. To further evaluate Path Loss
42
* in Suburban or Rural Quasi-open/Open Areas.
43
* Frequency: 1500 MHz to 2000 MHz
44
* Mobile Station Antenna Height: 1 up to 10m
45
* Base station Antenna Height: 30m to 200m
46
* Link Distance:up to 20 km
50
class Cost231PropagationLossModel : public PropagationLossModel
54
static TypeId GetTypeId (void);
55
Cost231PropagationLossModel ();
58
SubUrban, MediumCity, Metropolitan
62
* \param a the mobility model of the source
63
* \param b the mobility model of the destination
64
* \returns the propagation loss (in dBm)
66
double GetLoss (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const;
67
void SetBSAntennaHeight (double height);
68
void SetSSAntennaHeight (double height);
69
void SetEnvironment (Environment env);
70
void SetLambda (double lambda);
71
void SetMinDistance (double minDistance);
72
double GetBSAntennaHeight (void) const;
73
double GetSSAntennaHeight (void) const;
74
Environment GetEnvironment (void) const;
75
double GetMinDistance (void) const;
76
double GetLambda (void) const;
77
void SetLambda (double frequency, double speed);
78
double GetShadowing (void);
79
void SetShadowing (double shadowing);
81
virtual double DoCalcRxPower (double txPowerDbm, Ptr<MobilityModel> a, Ptr<MobilityModel> b) const;
82
double m_BSAntennaHeight; // in meter
83
double m_SSAntennaHeight; // in meter
86
Environment m_environment;
87
double m_minDistance; // in meter
88
double m_frequency; // frequency in MHz
95
#endif /* COST231PROPAGATIONMODEL_H */