3.05 LIDAR mods, docs, FSPL optimisation

This commit is contained in:
root
2017-06-18 22:19:20 +01:00
parent 5442357bea
commit ff0efbff90
4 changed files with 29 additions and 21 deletions

View File

@@ -1,5 +1,9 @@
SIGNAL SERVER CHANGELOG
3.05 - 18 June 2017
LIDAR overhaul for mismatched tiles and different resolutions. No longer expects x/y grid of tiles of equal size.
Dynamic resampling so user can specify *any* resolution less than maximum resolution of data.
3.04 - 19 April 2017
Added Egli VHF/UHF model courtesy of G6DTX
Adjusted SUI correction factor for height. Most academic papers have /2000 but some are /2. Only out by 1e3 :O

View File

@@ -32,7 +32,7 @@ make
## Parameters
```
Version: Signal Server 3.03 (Built for 100 DEM tiles at 1200 pixels)
Version: Signal Server 3.05 (Built for 100 DEM tiles at 1200 pixels)
License: GNU General Public License (GPL) version 2
Radio propagation simulator by Alex Farrant QCVS, 2E0TDW
@@ -62,6 +62,8 @@ Input:
-terdic Terrain dielectric value 2-80 (optional)
-tercon Terrain conductivity 0.01-0.0001 (optional)
-cl Climate code 1-6 (optional)
-rel Reliability for ITM model 50 to 99 (optional)
-resample Resample Lidar input to specified resolution in meters (optional)
Output:
-dbm Plot Rxd signal power instead of field strength
-rt Rx Threshold (dB / dBm / dBuV/m)
@@ -69,7 +71,7 @@ Output:
-R Radius (miles/kilometers)
-res Pixels per tile. 300/600/1200/3600 (Optional. LIDAR res is within the tile)
-pm Propagation model. 1: ITM, 2: LOS, 3: Hata, 4: ECC33,
5: SUI, 6: COST-Hata, 7: FSPL, 8: ITWOM, 9: Ericsson, 10: Plane earth
5: SUI, 6: COST-Hata, 7: FSPL, 8: ITWOM, 9: Ericsson, 10: Plane earth, 11: Egli VHF/UHF
-pe Propagation model mode: 1=Urban,2=Suburban,3=Rural
-ked Knife edge diffraction (Already on for ITM)
Debugging:
@@ -78,7 +80,6 @@ Debugging:
-ng Normalise Path Profile graph
-haf Halve 1 or 2 (optional)
-nothreads Turn off threaded processing
```
### REFERENCE DATA
@@ -93,7 +94,7 @@ SDF formatted tiles can be created by converting SRTM tiles (30m or 90m) in HGT
#### -lid
##### WGS84 ASCII grid tile (LIDAR) with dimensions and resolution defined in header
LIDAR data can be used providing it is in ASCII grid format with WGS84 projection. Resolutions up to 25cm have been tested. 2m is recommended for a good trade off. Cellsize should be in degrees and co-ordinates must be in WGS84 decimal degrees.
To load multiple tiles use commas eg. -lid tile1.asc,tile2.asc. When working large areas, multiple smaller tiles are much more efficient than a single super-tile.
To load multiple tiles use commas eg. -lid tile1.asc,tile2.asc. You can load in different resolution tiles and use -resample to set the desired resolution (limited by data limit).
```
ncols 2454
nrows 1467

View File

@@ -1,4 +1,4 @@
double version = 3.04;
double version = 3.05;
/****************************************************************************\
* Signal Server: Radio propagation simulator by Alex Farrant QCVS, 2E0TDW *
******************************************************************************

View File

@@ -1,30 +1,33 @@
/*****************************************************************************
* ITU-R P.525 Free Space Path Loss model for Signal Server by Alex Farrant *
* 15 January 2014 *
* 15 January 2014 *
* optimised G6DTX April 2017 *
* 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. *
* *
* 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. *
* */
* for more details. *
*
* https://www.itu.int/rec/R-REC-P.525/en
* Free Space Path Loss model
* Frequency: Any
* Distance: Any
*/
#include <math.h>
// use call with log/ln as this may be faster
// use constant of value 20.0/log(10.0)
static __inline float _20log10f(float x)
{
return(8.685889f*logf(x));
}
double FSPLpathLoss(float f, float d)
{
/*
Free Space Path Loss model
Frequency: Any
Distance: Any
*/
//MHz to GHz
f = f / 1000;
double dbloss = (20 * log10(d)) + (20 * log10(f)) + 92.45;
return dbloss;
return(32.44 + _20log10f(f) + _20log10f(d));
}