author | Marco Miozzo <marco.miozzo@cttc.es> |
Wed, 28 Sep 2011 16:48:53 +0200 | |
changeset 8248 | 986f7db9f056 |
parent 8236 | src/propagation/model/buildings-propagation-loss-model.h@5c8dc805e013 |
child 8283 | c15e85715f08 |
permissions | -rw-r--r-- |
8184
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
1 |
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
2 |
/* |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
3 |
* Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC) |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
4 |
* |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
5 |
* This program is free software; you can redistribute it and/or modify |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
6 |
* it under the terms of the GNU General Public License version 2 as |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
7 |
* published by the Free Software Foundation; |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
8 |
* |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
9 |
* This program is distributed in the hope that it will be useful, |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
12 |
* GNU General Public License for more details. |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
13 |
* |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
14 |
* You should have received a copy of the GNU General Public License |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
15 |
* along with this program; if not, write to the Free Software |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
16 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
17 |
* |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
18 |
* Author: Marco Miozzo <marco.miozzo@cttc.es> |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
19 |
* |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
20 |
*/ |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
21 |
|
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
22 |
#ifndef BUILDINGS_PROPAGATION_LOSS_MODEL_H_ |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
23 |
#define BUILDINGS_PROPAGATION_LOSS_MODEL_H_ |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
24 |
|
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
25 |
#include "ns3/nstime.h" |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
26 |
#include "ns3/propagation-loss-model.h" |
8185
34b4d9b91019
Include pathloss models into BuildingsPropagationLossModel: Okumura Hata, ITU-R P.1411, ITU-R P.1238 and wall penetration loss
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8184
diff
changeset
|
27 |
#include <ns3/building.h> |
34b4d9b91019
Include pathloss models into BuildingsPropagationLossModel: Okumura Hata, ITU-R P.1411, ITU-R P.1238 and wall penetration loss
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8184
diff
changeset
|
28 |
#include <ns3/buildings-mobility-model.h> |
8184
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
29 |
|
8216
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
30 |
// #include <ns3/jakes-fading-loss-model.h> |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
31 |
// #include <ns3/shadowing-loss-model.h> |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
32 |
|
8184
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
33 |
namespace ns3 { |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
34 |
|
8216
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
35 |
class ShadowingLossModel; |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
36 |
class JakesFadingLossModel; |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
37 |
|
8184
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
38 |
/** |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
39 |
* \ingroup propagation |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
40 |
* |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
41 |
* \brief The Building-Propagation-Model is a compound of different models able to evaluate the pathloss from 200 to 2600 MHz, in different environments and with buildings (i.e., indoor and outdoor communications). |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
42 |
* |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
43 |
* This model includes Hata model, COST231, ITU-R P.1411 (short range |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
44 |
* communications), ITU-R P.1238 (indoor communications). |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
45 |
* Building-Propagation-Model properly combines the models above in order |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
46 |
* to be able to evaluate the pathloss under different scenarios, in detail: |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
47 |
* - Environments: urban, suburban, open-areas; |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
48 |
* - frequency: from 200 uo to 2600 MHz |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
49 |
* - short range communications vs long range communications |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
50 |
* - Node position respect to buildings: indoor, outdoor and hybrid (indoor <-> outdoor) |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
51 |
* - Building penetretation loss |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
52 |
* - floors, etc... |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
53 |
* |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
54 |
* Frequency: 200 MHz to 2000 MHz |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
55 |
* Link Distance:up to 20 km |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
56 |
* Short/long distance commutation: 1 Km |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
57 |
* \warning This model works with BuildingsMobilityModel |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
58 |
* |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
59 |
*/ |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
60 |
|
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
61 |
class BuildingsPropagationLossModel : public PropagationLossModel |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
62 |
{ |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
63 |
|
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
64 |
public: |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
65 |
static TypeId GetTypeId (void); |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
66 |
BuildingsPropagationLossModel (); |
8216
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
67 |
~BuildingsPropagationLossModel (); |
8184
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
68 |
enum Environment |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
69 |
{ |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
70 |
Urban, SubUrban, OpenAreas |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
71 |
}; |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
72 |
|
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
73 |
enum CitySize |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
74 |
{ |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
75 |
Small, Medium, Large |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
76 |
}; |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
77 |
|
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
78 |
/** |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
79 |
* \param a the mobility model of the source |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
80 |
* \param b the mobility model of the destination |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
81 |
* \returns the propagation loss (in dBm) |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
82 |
*/ |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
83 |
double GetLoss (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const; |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
84 |
void SetEnvironment (Environment env); |
8206
964bd6f3afe3
Debug and verification of pathloss models COST231, ITU1411 LOS, ITU1411 NLOS over rooftop
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8199
diff
changeset
|
85 |
void SetCitySize (CitySize size); |
8184
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
86 |
void SetLambda (double lambda); |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
87 |
void SetMinDistance (double minDistance); |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
88 |
Environment GetEnvironment (void) const; |
8206
964bd6f3afe3
Debug and verification of pathloss models COST231, ITU1411 LOS, ITU1411 NLOS over rooftop
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8199
diff
changeset
|
89 |
CitySize GetCitySize (void) const; |
8184
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
90 |
double GetMinDistance (void) const; |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
91 |
double GetLambda (void) const; |
8236
5c8dc805e013
Update BuildingPropagationModel lambda configuration
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8216
diff
changeset
|
92 |
// void SetLambda (double frequency, double speed); |
8184
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
93 |
|
8216
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
94 |
|
8184
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
95 |
private: |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
96 |
virtual double DoCalcRxPower (double txPowerDbm, Ptr<MobilityModel> a, Ptr<MobilityModel> b) const; |
8185
34b4d9b91019
Include pathloss models into BuildingsPropagationLossModel: Okumura Hata, ITU-R P.1411, ITU-R P.1238 and wall penetration loss
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8184
diff
changeset
|
97 |
double OkumuraHata (Ptr<BuildingsMobilityModel> a, Ptr<BuildingsMobilityModel> b) const; |
34b4d9b91019
Include pathloss models into BuildingsPropagationLossModel: Okumura Hata, ITU-R P.1411, ITU-R P.1238 and wall penetration loss
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8184
diff
changeset
|
98 |
double ItuR1411 (Ptr<BuildingsMobilityModel> a, Ptr<BuildingsMobilityModel> b) const; |
8197
d30c889fb0c2
Add NLOS over rooftops propagation model to BuildingsPropagationLossModel class
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8185
diff
changeset
|
99 |
double ItuR1411Los (Ptr<BuildingsMobilityModel> a, Ptr<BuildingsMobilityModel> b) const; |
d30c889fb0c2
Add NLOS over rooftops propagation model to BuildingsPropagationLossModel class
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8185
diff
changeset
|
100 |
double ItuR1411NlosOverRooftop (Ptr<BuildingsMobilityModel> a, Ptr<BuildingsMobilityModel> b) const; |
8208
20a270bed353
Basic compound test implemented (single pathloss models, no combination)
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8206
diff
changeset
|
101 |
// double ItuR1411NlosStreetCanyons (Ptr<BuildingsMobilityModel> a, Ptr<BuildingsMobilityModel> b) const; |
8185
34b4d9b91019
Include pathloss models into BuildingsPropagationLossModel: Okumura Hata, ITU-R P.1411, ITU-R P.1238 and wall penetration loss
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8184
diff
changeset
|
102 |
double ItuR1238 (Ptr<BuildingsMobilityModel> a, Ptr<BuildingsMobilityModel> b) const; |
34b4d9b91019
Include pathloss models into BuildingsPropagationLossModel: Okumura Hata, ITU-R P.1411, ITU-R P.1238 and wall penetration loss
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8184
diff
changeset
|
103 |
double BEWPL (Ptr<BuildingsMobilityModel> a) const; |
8184
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
104 |
|
8208
20a270bed353
Basic compound test implemented (single pathloss models, no combination)
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8206
diff
changeset
|
105 |
double HeightGain (Ptr<BuildingsMobilityModel> n) const; |
20a270bed353
Basic compound test implemented (single pathloss models, no combination)
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8206
diff
changeset
|
106 |
|
8184
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
107 |
double C; // OH loss coefficient for the environment |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
108 |
double N; // ITU-R P.1238: power loss coefficient |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
109 |
double m_lambda; |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
110 |
Environment m_environment; |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
111 |
CitySize m_citySize; |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
112 |
double m_minDistance; // in meter |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
113 |
double m_frequency; // frequency in MHz |
8197
d30c889fb0c2
Add NLOS over rooftops propagation model to BuildingsPropagationLossModel class
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8185
diff
changeset
|
114 |
double m_rooftopHeight; // in meter (used to discriminate OH and short range canyoning) |
8199
c4a088b91ec8
Add propagation within street canyons to NLOS ITU1411 in BuildingsPropagationLossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8197
diff
changeset
|
115 |
double m_itu1411NlosThreshold; // in meters (switch Los -> NLoS) |
8208
20a270bed353
Basic compound test implemented (single pathloss models, no combination)
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8206
diff
changeset
|
116 |
double m_itu1411DistanceThreshold; // in meters (above infinite loss) |
8197
d30c889fb0c2
Add NLOS over rooftops propagation model to BuildingsPropagationLossModel class
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8185
diff
changeset
|
117 |
double m_streetsOrientation; // in degrees [0,90] |
d30c889fb0c2
Add NLOS over rooftops propagation model to BuildingsPropagationLossModel class
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8185
diff
changeset
|
118 |
double m_streetsWidth; // in meters |
d30c889fb0c2
Add NLOS over rooftops propagation model to BuildingsPropagationLossModel class
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8185
diff
changeset
|
119 |
double m_buildingsExtend; // in meters |
d30c889fb0c2
Add NLOS over rooftops propagation model to BuildingsPropagationLossModel class
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8185
diff
changeset
|
120 |
double m_buildingSeparation; // in meters |
8216
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
121 |
|
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
122 |
// the shadowing tx/rx pairs management has been inspired by the |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
123 |
// JakesFadingLossModel developed by Federico Maguolo (see jakes-propagation-model.h/cc) |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
124 |
class ShadowingLoss; |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
125 |
friend class ShadowingLoss; |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
126 |
typedef std::vector<ShadowingLoss *> DestinationList; |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
127 |
struct PairsSet { |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
128 |
Ptr<MobilityModel> sender; |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
129 |
DestinationList receivers; |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
130 |
}; |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
131 |
typedef std::vector<PairsSet *> PairsList; |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
132 |
double EvaluateSigma (Ptr<BuildingsMobilityModel> a, Ptr<BuildingsMobilityModel> b) const; |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
133 |
|
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
134 |
|
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
135 |
double m_shadowingSigmaExtWalls; |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
136 |
double m_shadowingSigmaOutdoor; |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
137 |
double m_shadowingSigmaIndoor; |
e16fcf31809f
Shadowing model introduced in BuildingPathlossModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
8208
diff
changeset
|
138 |
mutable PairsList m_shadowingPairs; |
8184
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
139 |
|
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
140 |
}; |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
141 |
|
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
142 |
} |
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
143 |
|
b2d61f172004
Add Building class, BuildingMobilityModel and BuildingPropagationModel
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff
changeset
|
144 |
#endif /* COST231PROPAGATIONMODEL_H_ */ |