Plane earth model and MODIS landcover clutter

This commit is contained in:
root
2016-09-01 21:40:56 +01:00
parent 12e22c1f22
commit 3b2362c72f
12 changed files with 209 additions and 12 deletions

View File

@@ -5,3 +5,5 @@ Finding a reputable paper to source these models from took a while. There was
lots of bad copy-paste out there. A good paper:
http://www.cl.cam.ac.uk/research/dtg/lce-pub/public/vsa23/VTC05_Empirical.pdf
Plane earth loss model taken from "Antennas and Propagation for Wireless systems" by Simon Saunders

View File

@@ -9,6 +9,7 @@
#include "hata.hh"
#include "itwom3.0.hh"
#include "sui.hh"
#include "pel.hh"
#include <pthread.h>
#define NUM_SECTIONS 4
@@ -467,7 +468,7 @@ void PlotPropPath(struct site source, struct site destination,
METERS_PER_FOOT), dkm, pmenv);
break;
case 4:
// COST231-HATA
// ECC33
loss =
ECC33pathLoss(LR.frq_mhz, txelev,
path.elevation[y] +
@@ -484,6 +485,7 @@ void PlotPropPath(struct site source, struct site destination,
METERS_PER_FOOT), dkm, pmenv);
break;
case 6:
// COST231-Hata
loss =
COST231pathLoss(LR.frq_mhz, txelev,
path.elevation[y] +
@@ -517,6 +519,11 @@ void PlotPropPath(struct site source, struct site destination,
pmenv);
break;
case 10:
// Plane earth
loss = PlaneEarthLoss(dkm, txelev, path.elevation[y] + (destination.alt * METERS_PER_FOOT));
break;
default:
point_to_point_ITM(source.alt * METERS_PER_FOOT,
destination.alt *
@@ -529,7 +536,7 @@ void PlotPropPath(struct site source, struct site destination,
loss, strmode, errnum);
}
if (knifeedge == 1) {
diffloss =
ked(LR.frq_mhz,

29
models/pel.cc Normal file
View File

@@ -0,0 +1,29 @@
/*****************************************************************************
* Plane Earth Path Loss model for Signal Server by Alex Farrant *
* Taken from "Antennas and Propagation for wireless communication systems" *
* ISBN 978-0-470-84879-1 *
* 10 August 2016 *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License or any later *
* version. *
* *
* This program is distributed in the hope that it will 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. *
* */
#include <math.h>
double PlaneEarthLoss(float d, float TxH, float RxH)
{
/*
Plane Earth Loss model
Frequency: N/A
Distance (km): Any
*/
// Plane earth loss is independent of frequency.
double dbloss = 40*log10(d) + 20*log10(TxH) + 20*log10(RxH);
return dbloss;
}

6
models/pel.hh Normal file
View File

@@ -0,0 +1,6 @@
#ifndef _PEL_HH_
#define _PEL_HH_
double PlaneEarthLoss(float d, float TxH, float RxH);
#endif /* _PEL_HH_ */