forked from ExternalVendorCode/Signal-Server
Plane earth model and MODIS landcover clutter
This commit is contained in:
@@ -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
|
||||
|
@@ -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
29
models/pel.cc
Normal 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
6
models/pel.hh
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef _PEL_HH_
|
||||
#define _PEL_HH_
|
||||
|
||||
double PlaneEarthLoss(float d, float TxH, float RxH);
|
||||
|
||||
#endif /* _PEL_HH_ */
|
Reference in New Issue
Block a user