A Discrete-Event Network Simulator
API
cost231-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) 2007,2008, 2009 INRIA, UDcast
4 *
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;
8 *
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.
13 *
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
17 *
18 * Author: Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
19 * <amine.ismail@udcast.com>
20 */
21
22#ifndef COST231_PROPAGATION_LOSS_MODEL_H
23#define COST231_PROPAGATION_LOSS_MODEL_H
24
25#include "ns3/nstime.h"
26#include "ns3/propagation-loss-model.h"
27
28namespace ns3 {
29
51{
52
53public:
58 static TypeId GetTypeId (void);
60
61 // Delete copy constructor and assignment operator to avoid misuse
64
72
77 void SetBSAntennaHeight (double height);
82 void SetSSAntennaHeight (double height);
83
88 void SetLambda (double lambda);
94 void SetLambda (double frequency, double speed);
99 void SetMinDistance (double minDistance);
104 double GetBSAntennaHeight (void) const;
109 double GetSSAntennaHeight (void) const;
114 double GetMinDistance (void) const;
119 double GetLambda (void) const;
124 double GetShadowing (void);
129 void SetShadowing (double shadowing);
130
131private:
132 double DoCalcRxPower (double txPowerDbm, Ptr<MobilityModel> a, Ptr<MobilityModel> b) const override;
133 int64_t DoAssignStreams (int64_t stream) override;
134
137 double m_lambda;
139 double m_frequency;
140 double m_shadowing;
141};
142
143}
144
145#endif /* COST231PROPAGATIONMODEL_H */
The COST-Hata-Model is the most often cited of the COST 231 models.
double GetSSAntennaHeight(void) const
Get the SS antenna height.
void SetShadowing(double shadowing)
Set the shadowing value.
double m_SSAntennaHeight
SS Antenna Height [m].
void SetBSAntennaHeight(double height)
Set the BS antenna height.
int64_t DoAssignStreams(int64_t stream) override
Assign a fixed random variable stream number to the random variables used by this model.
Cost231PropagationLossModel(const Cost231PropagationLossModel &)=delete
double GetLambda(void) const
Get the wavelength.
double GetShadowing(void)
Get the shadowing value.
static TypeId GetTypeId(void)
Get the type ID.
void SetSSAntennaHeight(double height)
Set the SS antenna height.
void SetLambda(double lambda)
Set the wavelength.
void SetMinDistance(double minDistance)
Set the minimum model distance.
double m_BSAntennaHeight
BS Antenna Height [m].
double GetLoss(Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
Get the propagation loss.
double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const override
PropagationLossModel.
double GetBSAntennaHeight(void) const
Get the BS antenna height.
Cost231PropagationLossModel & operator=(const Cost231PropagationLossModel &)=delete
double GetMinDistance(void) const
Get the minimum model distance.
Models the propagation loss through a transmission medium.
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.