From ff0efbff9039bb9ba7c9d9f9ebdd6291badad5a2 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 18 Jun 2017 22:19:20 +0100 Subject: [PATCH] 3.05 LIDAR mods, docs, FSPL optimisation --- CHANGELOG | 4 ++++ README.md | 9 +++++---- main.cc | 2 +- models/fspl.cc | 35 +++++++++++++++++++---------------- 4 files changed, 29 insertions(+), 21 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 19e172d..78bd7cf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -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 diff --git a/README.md b/README.md index 1c3c20c..1211b19 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/main.cc b/main.cc index cc19762..cc58cb4 100644 --- a/main.cc +++ b/main.cc @@ -1,4 +1,4 @@ -double version = 3.04; +double version = 3.05; /****************************************************************************\ * Signal Server: Radio propagation simulator by Alex Farrant QCVS, 2E0TDW * ****************************************************************************** diff --git a/models/fspl.cc b/models/fspl.cc index 5f64c7d..798b64e 100644 --- a/models/fspl.cc +++ b/models/fspl.cc @@ -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 +// 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)); }