SPLAT! |
A Terrestrial RF Path and Terrain Analysis Tool for UNIX/Linux by John A. Magliacane (KD2BD) |
Related Notes / Links / Downloads
- SPLAT! v1.4.2 Source code for UNIX/Linux
- SPLAT! v1.4.1 Source code for UNIX/Linux
- SPLAT! v1.4.0 Source code for UNIX/Linux
- SPLAT! v1.3.0 Source code for UNIX/Linux
- SPLAT! v1.2.3 Source code for UNIX/Linux
- SPLAT! v1.1.1 Source code for UNIX/Linux
- SPLAT! v1.0.3 Source code for UNIX/Linux
- SPLAT! v1.2.1 Compiled RPM for Fedora Linux 7
- SPLAT! v1.2.3 Compiled RPM for Fedora Linux 9
- Compiling SPLAT! on 64-bit Windows (splat-1.4.2_x64.zip)
- SPLAT! v1.3.1 Windows version by Austin Wright (VE3NCQ) (README)
- SPLAT! v1.1.2 Windows version by Austin Wright (VE3NCQ) (README)
- SPLAT! v1.2.3 Windows version by John McMellen (KC0FLR) (README)
- SRTM2SDF v1.3.0 Windows version by John McMellen (KC0FLR)
- makeSDF.sh Simple shell script for building SDF files from SRTM files.
- Ontario ARC/INFO Files Converted for SPLAT! from E00 format (beta). The archive includes lakes, rivers, railroads, highways, cities, and counties. The "drainage" file produces the most useful plots. "CK-cities.dat" plots many southern Ontario towns and cities - it's easy to add your own using coordinates from Google Earth. Also included is a sample command line to plot the VE3KCR repeater. There are still a few bugs in these files, like missing closing segments and incomplete overlays, but my files are currently the only thing I found to work. Put them in your SPLAT! directory and include the desired filenames in the command line. They are offered here without guarantee, and are known to have mild defects. U.S. boundaries can be obtained as listed in SPLAT! documentation (I included a combined Michigan and Ohio file).
- Irregular Terrain Model (ITM) (Longley-Rice) NTIA/ITS notes and source code
- Quantifying the Effects of Terrain for VHF and Higher Frequency Application NTIA Report 86-200
- A Guide to the Use of the ITS Irregular Terrain Model in the Area Prediction Mode NTIA Report 82-100
- User-Friendly Software for the Design of Digital Line-of-Sight Radio Links TIA Report 89-246
- Handbook of Radio Wave Propagation Loss (100-10,000 MHz) - Part 1 NTIA Report 84-165, by William E. Frazier
- Handbook of Radio Wave Propagation Loss (100-20,000 MHz) - Part 2 NTIA Report 89-242, by William E. Frazier
- Terrestrial Land Mobile Radio - Antenna Systems - Standard Format for Digitized Antenn Patterns TIA-804-A
- NSMA - Antenna Systems - Standard Format for Digitized Antenna Patterns Recommendation WG16.99.050
- Prediction of Tropospheric Radio Transmission Loss Over Irregular Terrain - A Computer Method by Anita G. Longley & Phil L. Rice ESSA Technical Report ERL 79-ITS 67 (1968)
- Radio Path Length Stability of Ground-to-Ground Microwave Links NBS Technical Note No. 219
- Transission Loss Predictions for Tropospheric Communication Circuits NBS Technical Note No. 101
- Planning of Line-of-Sight Radio Relay Systems by Ingvar Henne and Per Thorvaldsen (2nd Edition)
- Radio Frequency Propagation Made Easy by Saleh Faruque
- Microwave Line-of-Sight Link Engineering by Pablo Angueira and Juan Antonio Romo
- Microwave Link Predictions RADLNK in GWBASIC
- MLinkPlanner 2.0 User Manual (Video)
- Cambium Networks LINKPLanner v5.4.5 User Guide
- Probe 3 Signal Propagation Software User Manual From V-Soft Communications
- Pathloss 5.0 User Manual From Contract Telecommunication Engineering Ltd.
- Pathloss 4.0 User Manual From Contract Telecommunication Engineering Ltd.
- How to Use Pathloss Software as a Complete Microwave System Planner by Nagy Atta
- RACOM RAy10 Microwave Link User Manual
- RACOM RAy11, RAy17, RAy24 Microwave Link User Manual
- Microwave Effective Earth Radius Factor Variability Atmospheric Sciences Laboratory ASL-TR-0023
- Theoretical Analysis of Microwave Propagation RADC-TR-84-74
- Radio Wave Propagation A handbook of practical techniques for computing basic transmission loss and field strength (ECAC-HDBK-82-049)
- Digital Microwave System Design Guide Document 207-84
- IRPL Radio Propagation Handbook November 1943
- Physics of the Tropospheric Radio Propagation by IAEA
- Point-to-Point Radio Link Engineering A self-learning e-book based course, by Luigi Moreno
- Fundamentals of Microwave and RF Design by Michael Steer (3rd Edition)
- VHF/UHF/Microwave Radio Propagation: A Primer for Digital Experimenters by Barry McLarnon, VE3JF
- Microwave Path Design by Jeff Ashley, Mobile Radio Technology (1998)
- Digital Microwave Communication: Engineering Point-to-Point Microwave Systems by George Kizer
- Propagation Data and Prediction Methods Required for the Design of Terrestrial Line-of-Sight Systems Recommendation ITU-R P.530-18
- Engineering Considerations for Microwave Communications Systems by GTE Lenkurt
- Study of the Propagation Characteristics of Certain Microwave Links in British Columbia
- Microwave Mobile Communications by William C. Jakes
- Microwave Formulas and Tables From Digital Microwave Communication: Engineering Point-to-Point Microwave Systems, by George Kizer
- Reflection of Microwaves from Earth's Surface
- Propagation Effects Handbook for Satellite Systems NASA
- Passive Repeater Engineering Catalog 161A From Microflect
- Weather-Related Interference From the BBC
- Design and Performance of a Long, Over-Water Microwave Radio Link NTIA Report 90-256, by J. E. Farrow
- Estimates of the Atmospheric Transfer Function at SHF and EHF NTIA Report 78-8, by E. J. Dutton, H. T. Dougherty
- Earth Curvature and Atmospheric Refraction Effects on Radar Signal Propagation Sandia Report SAND2012-10690
- M3 Conductivity Data - USA For the continental United States. (Google Earth KML File)
- M3 Conductivity - Other For the rest of the western hemispher.
- Land Use and Land Cover (LULC) - Data Users Guide 4 Land use and land cover digital data from 1:250,000- and 1:100,000-scale maps.
- GBPPR Microwave Radio Path Analysis Tools Perl CGI interface for microwave path plotting using older versions of SPLAT! which didn't provide path profiles.
Path Plotting Software & Websites
- Microwave Radio Path Analysis This is the new one I made based around SPLAT! v2.0-alpha
- Also check out W5GFE SignalServer. Here's a good presentation on radio path analysis using SPLAT!
- RF Propagation Analysis over Irregular Terrain (RF-PAIT) Nice Java-based program.
- Check out this cool drag-and-drop RF Line-of-Sight tool.
- Link Calculator 2.0 Easy to use drag-and-drop RF path plotter from RF Elements. (Manual)
- SAF Path Calculator From SAF Tehnika
- Tower Maps lists locations of commerical radio tower sites.
- The HeyWhatsThat Path Profiler covers the entire world.
- UISP Design Center is a really cool drag-and-drop path analysis site from UniFi. (How-To)
- Radio Mobile by Roger Coudè, VE2DBE (Using Radio Mobile for Windows)
- RFProp 1.2 RF Propagation - Calculates line-of-sight and diffraction radio link path budget parameters, by Colin Seymour, G4NNA (User's Manual)
- Path Profile v1.0 by Mike Willis, G0MJW (Help File)
- Path Loss v0.16 A handy utility to calculate the path loss between two microwave sites. It is based on ITU-R P.452 clear air models valid from 1 GHz to 24 GHz. The limitation of the input data dictate that this is an indicator rather than an accurate predictor. Where it is useful is in seeing if a new path is likely to work.
- Site Data v0.14 A utility to convert between locators and display terrain height at a point. It will also calculate distance and bearing from a home location. The height data is based on the GTOPO30 database. A small dataset map is included in the distribution.
- Path Profile v0.1
- Andrew Microwave System Planner v4.0 Select the passive portion of your microwave system in less time, with greater accuracy, and with lower costs by using advanced Andrew Microwave System Planner software (AMSP) from Andrew Corporation. Once you've done your path calculations and determined the antenna requirements, powerful AMSP software graphically facilitates equipment selection and system planning, including choices of terrestrial microwave antennas, waveguide, flex twists, accessories, and pressurization. The program's dynamic, rule-based logic generates custom solutions with standard Andrew products, automatically checking component compatibility and preventing the design of an incompatible system. Upon completion, the AMSP provides you with a customized bill of materials of the Andrew parts necessary for new or replacement systems.
- Andrew Antenna System Planner Design your wireless system in less time, with greater accuracy, and with lower costs with advanced Antenna Systems Planner software. The powerful software graphically guides you through the entire design process and allows you to create and save up to five of your own operating bands in any frequency range from 0-8 GHz. All components are checked for frequency compatibility and electrical performance is given for each transmission line including insertion loss and VSWR for selected cables. Design each cable run for exactly the length you need from a variety of HELIAX cables, including the latest 5/8" cable and accessories. The program's rule-based logic generates custom solutions using standard Andrew products and also calculates System Insertion Loss AND System VSWR. The Base Station Antennas selection program includes Radiation Pattern Envelopes (RPEs) and specifications for easy viewing, printing and exporting to popular propagation software programs such as Planet and Wizard. Enhanced repeater program for Null sites answers common scenarios and provides a list of materials for the repeater site. Upon completion, the AASP provides you with a customized bill of materials of the Andrew parts necessary for your system.
- Andrew AccessoryMaster This software assists users with the selection of installation hardware, hoist grips, grounding kits, weatherproofing, GPS systems, surge protection, and a wealth of additional tools and components for waveguide, air, and foam cables. The results can be printed out in a variety of formats and can also be copied to the Windows clipboard and pasted directly into the user's ordering system.
- Andrew CableMaster CableMaster is a software tool that helps the user calculate attenuation, insertion loss, efficiency, peak power and average power as well as giving cable prices, connector prices and attachment charges.
- Andrew ESA System Planner The ESA System Planner is a software tool that assists users in selecting components for a complete Earth Station Antenna System. The software graphically guides you through the entire configuration process making sure all equipment is checked for compatibility. Upon completion, the AESP provides you with a customized bill of materials of the Andrew parts necessary for your Earth station antenna system design.
- Andrew ezGuide Thanks for your interest in Andrew rectangular waveguide components. The ezGuide software simplifies the designing and ordering of rectangular waveguide components. This Windows-based software guides the design and ordering process. The exact component type, waveguide size, flange types, component dimensions, operating frequency band, and finish can be specified with point-and-click options. Each product is pictured on screen and diagrammed for your reference. Each rectangular waveguide component and its flanges are identified by a type number that is automatically created as you specify how each section should be configured.
- Andrew ILCALC ICALC is a software tool that helps the user select transmission lines by calculating performance.
- Andrew Tower Planner The Andrew Tower Planner is a Window-based program that assists consultants and engineers with the design of complete customized Andrew towers for their communications systems. The Andrew Tower Planner performs calculations based on desired tower height, altitude, terrain, wind speed, antenna and accessory loading and determines the best tower to build based on these parameters. Information about the selected tower and it's cost can then be printed out or exported to a Microsoft Excel spreadsheet.
- U.S. State BNA Files These are ASCII files which are compatible programs which use the Atlas BNA (boundary) format. (Example)
- USGS EROS Archive - Digital Elevation - Global 30 Arc-Second Elevation (GTOPO30) Used with the Pathloss program.
- Pathloss v3.0 Demo From Contract Telecommunication Engineering Ltd.
- Motorola/Cambium PTP LINKPlanner v2.7.0 This application enables you to predict the performance of wireless links, and to plan wireless networks using Motorola's Point-to-Point family of products. Motorola provides the PTP LINKPlanner application with the PTP 250, PTP 300, PTP 400, PTP 500, PTP 600 and PTP 800 equipment. Use PTP LINKPlanner to help predict where and how equipment will work. It performs the calculations from the ITU recommendations ITU-R P.526-10 and ITU-R P.530-12 to predict NLoS and LoS paths for anywhere in the world. (Manual) (Online Tutorial)
- Motorola PTP Link Estimator v8.1 The PTP Link Estimator is a Microsoft Excel spreadsheet that makes extensive use macros to operate. To run the PTP Link Estimator start Microsoft Excel and load the PTP Link Estimator file or double-click the file from a file explorer. (Manual)
- NEC PasoLink Calculator v6.2 For simulating PasoLink microwave links.
- NOAA 30 Second Terrain Data Which was often used in older commerical radio path loss predication programs.
- RadioPlanner v3.0.230918
- TCS Intermodulation Software v1.0.29 TCS Consultants, Inc., provides intermodulation calculation software for the analysis and calculation of intermodulation products generated by multiple transmitters on the same radio structure. This software is used to calculate interference from co-located transmitters that generate harmonics that may be in the same frequency as a receiver on the same site. This software will calculate virtually any range of frequencies (00,000.00001 MHz to 99,999.99999 MHz) and is FREE courtesy of TCS Consultants, Inc.
SPLAT! Requirements
SPLAT! requires the libbzip2-1.0.1 (or later) compression library and header files for successful compilation.
bzip2/libbzip2 is available at: www.bzip2.org
SPLAT! also requires the zlib general purpose compression library. Any recent version included with your Linux distribution should work fine. Note, however, that zlib version 1.1.3 contains a security vulnerability that has been fixed in version 1.1.4. The latest version of zlib may be found at: www.gzip.org/zlib
If you should decide to build zlib, it is important to invoke:
$ ./configure -sto build zlib as a shared library.
If you wish to plot terrain and elevation profiles through SPLAT!, you will need GNUplot. The latest version of GNUplot is available at: www.gnuplot.info
You will also need an application for viewing large PPM graphics files generated by SPLAT!. XV, ImageMagick, XPaint, and GIMP all perform this task well.
It goes without saying that a C++ compiler (gcc/g++) and math libraries are also needed to build SPLAT! SPLAT! is fully compatible with the latest versions of the GCC compiler.
Installation Instructions
Unpack the splat-[version].tar.gz file in a source code directory (such as ~/splat):
$ cd ~/splat $ tar xvzf splat-1.4.2.tar.gzThis action will generate a subdirectory named: splat-1.4.2
Next, cd into the directory:
$ cd splat-1.4.2Invoke the configure script to build SPLAT! and related utilities:
$ ./configure ****************************************************** ** SPLAT! Standard Resolution Mode Configuration ** ****************************************************** Please select the Maximum Analysis Region capability you would like SPLAT! to possess when operating in 3 arc-second (standard) resolution mode based on the amount of free memory available for SPLAT!: Maximum Analysis Region RAM + Swap Requirement ==================================================== (2) 2 x 2 Degrees --------- 25 Megabytes minimum (3) 3 x 3 Degrees --------- 52 Megabytes minimum (4) 4 x 4 Degrees --------- 95 Megabytes minimum (5) 5 x 5 Degrees --------- 145 Megabytes minimum (6) 6 x 6 Degrees --------- 210 Megabytes minimum (7) 7 x 7 Degrees --------- 285 Megabytes minimum (8) 8 x 8 Degrees --------- 370 Megabytes minimum Your choice: 8 ****************************************************** ** SPLAT! HD High Resolution Mode Configuration ** ****************************************************** Please select the Maximum Analysis Region capability you would like SPLAT! to possess when operating in 1 arc-second (HD) resolution mode based on the amount of free memory available for SPLAT! Selections 6, 7, and 8 are suitable for 64-BIT SYSTEMS ONLY: Maximum Analysis Region RAM + Swap Requirement ==================================================== (1) 1 x 1 Degrees --------- 52 Megabytes minimum (2) 2 x 2 Degrees --------- 225 Megabytes minimum (3) 3 x 3 Degrees --------- 468 Megabytes minimum (4) 4 x 4 Degrees --------- 855 Megabytes minimum (5) 5 x 5 Degrees --------- 1305 Megabytes minimum (6) 6 x 6 Degrees --------- 1890 Megabytes minimum (7) 7 x 7 Degrees --------- 2565 Megabytes minimum (8) 8 x 8 Degrees --------- 3330 Megabytes minimum (0) None of the above. Do not build SPLAT! HD. Your choice: 6 ***************************************************** * Now building SPLAT! and associated utilities... * ***************************************************** Compiling SPLAT!... splat.cpp: In function 'double ElevationAngle(site, site)': splat.cpp:570:25: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 570 | register double a, b, dx; | ^ splat.cpp:570:28: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 570 | register double a, b, dx; | ^ splat.cpp:570:31: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 570 | register double a, b, dx; | ^~ splat.cpp: In function 'void PlotPath(site, site, char)': splat.cpp:2730:25: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 2730 | register double cos_xmtr_angle, cos_test_angle, test_alt; | ^~~~~~~~~~~~~~ splat.cpp:2730:41: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 2730 | register double cos_xmtr_angle, cos_test_angle, test_alt; | ^~~~~~~~~~~~~~ splat.cpp:2730:57: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 2730 | register double cos_xmtr_angle, cos_test_angle, test_alt; | ^~~~~~~~ Done! Compiling SPLAT! HD... splat.cpp: In function 'double ElevationAngle(site, site)': splat.cpp:570:25: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 570 | register double a, b, dx; | ^ splat.cpp:570:28: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 570 | register double a, b, dx; | ^ splat.cpp:570:31: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 570 | register double a, b, dx; | ^~ splat.cpp: In function 'void PlotPath(site, site, char)': splat.cpp:2730:25: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 2730 | register double cos_xmtr_angle, cos_test_angle, test_alt; | ^~~~~~~~~~~~~~ splat.cpp:2730:41: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 2730 | register double cos_xmtr_angle, cos_test_angle, test_alt; | ^~~~~~~~~~~~~~ splat.cpp:2730:57: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 2730 | register double cos_xmtr_angle, cos_test_angle, test_alt; | ^~~~~~~~ Done! Compiling citydecoder... Done! Compiling usgs2sdf... Done! Compiling srtm2sdf... Done! Compiling fontdata... Done! Compiling bearing... Done! To install SPLAT! and its associated utilities, please su to 'root' and execute the install script as follows: ./install all Don't forget to read the documentation under the docs directory as well as the various README files in the splat and splat/utils directories. Enjoy the program! John, KD2BDNote: Add #define register near the top of splat.cpp to fix the compiler warning.
If you are root, SPLAT! and its related man page and utilities will be installed after the compilation process is complete. If not, you will be prompted to su to root and invoke the install script manually:
$ sudo ./install all [sudo] password for username: SPLAT! installed! SPLAT!-HD installed! citydecoder installed! srtm2sdf and srtm2sdf-hd installed! usgs2sdf installed! fontdata installed! utils installed! man page installed!Before running SPLAT!, carefully read the documentation located under the splat-1.4.2/docs directory for information on the use of the program. Some sample data files are located under the splat-1.4.2/sample_data directory.
Remember: Topography data must be downloaded and SPLAT! Data Files (SDF) must be generated using the included srtm2sdf, postdownload, or usgs2sdf utilities before using SPLAT!
Instructions for doing so are included in the documentation.
It is a good practice to create a working directory for SPLAT! use under your home directory:
$ mkdir ~/splat-workThen:
$ cd ~/splat-workbefore invoking SPLAT!
In this manner, all associated SPLAT! working files can be kept in a common directory.
It is important to realize that when analyzing regional coverage areas of transmitters, repeaters, or cell sites, SPLAT! Data Files need to be available for the entire region surrounding the site(s) being analyzed.
SPLAT! Data Files can be placed under your SPLAT! working directory, a system wide directory like /usr/splat/sdf, or under a separate directory specified in your $HOME/.splat_path file so SPLAT! can easily find them.
Please read the README file under the utils directory for information on the utilities included with SPLAT!
Please read the documentation under the splat-1.4.2/docs directory, or consult the program's man page for more information and examples of SPLAT! use.
The latest announcements and information regarding SPLAT! software can be found on the SPLAT! web site: www.qsl.net/kd2bd/splat.html
SPLAT! Utilities
Utilities for use with SPLAT! software are found under the splat-1.4.2/utils directory. They include the following:
srtm2sdf
The srtm2sdf utility generates SPLAT! Data Files (SDFs) from STS-99 Space Shuttle Topography Mission (SRTM) elevation data files.
This data is of a much higher quality than that contained in older USGS Digital Elevation Models (DEM) of the same resolution.
However, many SRTM Version 2 elevation models contain data "spikes," "voids," and "wells" that are the consequence of the radar mapping process. SRTM Version 3, also known as SRTM Plus, is void-filled with ASTER GDEM and USGS GMTED2010. This release is available in global 1-arcsecond (30 meter) resolution since 2014.
The srtm2sdf utility has the ability to detect and replace SRTM data outliers with equivalent usgs2sdf derived SDF data (see usgs2sdf below). If such data is not available, SRTM outliers are handled either through adjacent pixel averaging, or by threshold limiting using user-specified limits. Of all three methods, the USGS-derived SDF replacement method yields the best results.
The srtm2sdf utility processes SRTM-3 3-arc second resolution data or use with SPLAT! operating in standard definition mode.
SRTM-3 Version 3 Elevation Data files may be download from: e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11 (For use with SPLAT! v1.1.1 and later versions.)
You can set up your own account on NASA Earthdata Login, or use the public account I created. Then run:
$ mkdir -p /usr/splat/sdf $ cd /usr/splat/sdf $ wget -i SRTMGL3-urls.txt --http-user=splat --ask-password --keep-session-cookies Password: splat!-NASA1 [URL transformed to HTTPS due to an HSTS policy, 302 redirects, blah blah blah] ... Connecting to e4ftl01.cr.usgs.gov (e4ftl01.cr.usgs.gov)|152.61.133.130|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11/N00E006.SRTMGL3.hgt.zip [following] --2024-10-13 19:02:43-- https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11/N00E006.SRTMGL3.hgt.zip Connecting to e4ftl01.cr.usgs.gov (e4ftl01.cr.usgs.gov)|152.61.133.130|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 150235 (147K) [application/zip] Saving to: 'N00E006.SRTMGL3.hgt.zip' N00E006.SRTMGL3.hgt.zip 100%[============================================================================>] 146.71K --.-KB/s in 0.08s 2024-10-13 19:02:43 (1.87 MB/s) - 'N00E006.SRTMGL3.hgt.zip' saved [150235/150235] ... (This is repeated 28,577 times! It's around 16 GB total.) ... $ ls -l total 15057444 -rw-rw-r-- 1 gbppr gbppr 150235 Oct 13 09:42 N00E006.SRTMGL3.hgt.zip -rw-rw-r-- 1 gbppr gbppr 17858 Oct 13 09:42 N00E006.SRTMGL3.num.zip -rw-rw-r-- 1 gbppr gbppr 693238 Oct 13 09:42 N00E009.SRTMGL3.hgt.zip -rw-rw-r-- 1 gbppr gbppr 42979 Oct 13 09:42 N00E009.SRTMGL3.num.zip -rw-rw-r-- 1 gbppr gbppr 1743633 Oct 13 09:42 N00E010.SRTMGL3.hgt.zip -rw-rw-r-- 1 gbppr gbppr 72180 Oct 13 09:42 N00E010.SRTMGL3.num.zip -rw-rw-r-- 1 gbppr gbppr 1553356 Oct 13 09:42 N00E011.SRTMGL3.hgt.zip -rw-rw-r-- 1 gbppr gbppr 21768 Oct 13 09:42 N00E011.SRTMGL3.num.zip -rw-rw-r-- 1 gbppr gbppr 1403057 Oct 13 09:42 N00E012.SRTMGL3.hgt.zip -rw-rw-r-- 1 gbppr gbppr 29551 Oct 13 09:42 N00E012.SRTMGL3.num.zip -rw-rw-r-- 1 gbppr gbppr 1354480 Oct 13 09:42 N00E013.SRTMGL3.hgt.zip -rw-rw-r-- 1 gbppr gbppr 20303 Oct 13 09:42 N00E013.SRTMGL3.num.zip -rw-rw-r-- 1 gbppr gbppr 1424446 Oct 13 09:42 N00E014.SRTMGL3.hgt.zip -rw-rw-r-- 1 gbppr gbppr 20672 Oct 13 09:42 N00E014.SRTMGL3.num.zip -rw-rw-r-- 1 gbppr gbppr 1241459 Oct 13 09:43 N00E015.SRTMGL3.hgt.zip -rw-rw-r-- 1 gbppr gbppr 18971 Oct 13 09:43 N00E015.SRTMGL3.num.zip -rw-rw-r-- 1 gbppr gbppr 915274 Oct 13 09:43 N00E016.SRTMGL3.hgt.zip -rw-rw-r-- 1 gbppr gbppr 25599 Oct 13 09:43 N00E016.SRTMGL3.num.zip -rw-rw-r-- 1 gbppr gbppr 819320 Oct 13 09:43 N00E017.SRTMGL3.hgt.zip -rw-rw-r-- 1 gbppr gbppr 38469 Oct 13 09:43 N00E017.SRTMGL3.num.zip -rw-rw-r-- 1 gbppr gbppr 915277 Oct 13 09:43 N00E018.SRTMGL3.hgt.zip -rw-rw-r-- 1 gbppr gbppr 48686 Oct 13 09:43 N00E018.SRTMGL3.num.zip ... $ rm -f *.num.zip # Not sure if we need these files, back them up if you want. $ for i in `ls *.zip` > do > unzip $i > done Archive: N00E006.SRTMGL3.hgt.zip inflating: N00E006.hgt Archive: N00E009.SRTMGL3.hgt.zip inflating: N00E009.hgt Archive: N00E010.SRTMGL3.hgt.zip inflating: N00E010.hgt Archive: N00E011.SRTMGL3.hgt.zip inflating: N00E011.hgt Archive: N00E012.SRTMGL3.hgt.zip inflating: N00E012.hgt ... $ rm -f *.zip # Or back them up somewhere. $ ls -l total 40317540 -rw-r--r-- 1 gbppr gbppr 2884802 May 9 2012 N00E006.hgt -rw-r--r-- 1 gbppr gbppr 2884802 May 9 2012 N00E009.hgt -rw-r--r-- 1 gbppr gbppr 2884802 May 9 2012 N00E010.hgt -rw-r--r-- 1 gbppr gbppr 2884802 May 9 2012 N00E011.hgt -rw-r--r-- 1 gbppr gbppr 2884802 May 9 2012 N00E012.hgt -rw-r--r-- 1 gbppr gbppr 2884802 May 9 2012 N00E013.hgt -rw-r--r-- 1 gbppr gbppr 2884802 May 9 2012 N00E014.hgt -rw-r--r-- 1 gbppr gbppr 2884802 May 9 2012 N00E015.hgt -rw-r--r-- 1 gbppr gbppr 2884802 May 9 2012 N00E016.hgt -rw-r--r-- 1 gbppr gbppr 2884802 May 9 2012 N00E017.hgt -rw-r--r-- 1 gbppr gbppr 2884802 May 9 2012 N00E018.hgt -rw-r--r-- 1 gbppr gbppr 2884802 May 9 2012 N00E019.hgt ... $ for i in `ls *.hgt` > do > /usr/local/bin/srtm2sdf $i > done Reading N00E006.hgt... Writing 0:1:353:354.sdf... Done! Reading N00E009.hgt... Writing 0:1:350:351.sdf... Done! Reading N00E010.hgt... Writing 0:1:349:350.sdf... Done! Reading N00E011.hgt... Writing 0:1:348:349.sdf... Done! Reading N00E012.hgt... Writing 0:1:347:348.sdf... Done! ... (It takes forever.) ... $ rm -f *.hgt # Or back them up somewhere. $ ls -l total 73691900 -rw-rw-r-- 1 gbppr gbppr 2880018 Oct 13 22:25 0:1:176:177.sdf -rw-rw-r-- 1 gbppr gbppr 2885359 Oct 13 22:25 0:1:186:187.sdf -rw-rw-r-- 1 gbppr gbppr 2880086 Oct 13 22:25 0:1:187:188.sdf -rw-rw-r-- 1 gbppr gbppr 2880366 Oct 13 22:25 0:1:225:226.sdf -rw-rw-r-- 1 gbppr gbppr 2880702 Oct 13 22:25 0:1:228:229.sdf -rw-rw-r-- 1 gbppr gbppr 2884949 Oct 13 22:25 0:1:229:230.sdf -rw-rw-r-- 1 gbppr gbppr 2884705 Oct 13 22:25 0:1:230:231.sdf -rw-rw-r-- 1 gbppr gbppr 3579792 Oct 13 22:24 0:1:231:232.sdf -rw-rw-r-- 1 gbppr gbppr 3667744 Oct 13 22:24 0:1:232:233.sdf -rw-rw-r-- 1 gbppr gbppr 2880618 Oct 13 22:24 0:1:233:234.sdf -rw-rw-r-- 1 gbppr gbppr 3861009 Oct 13 22:24 0:1:235:236.sdf -rw-rw-r-- 1 gbppr gbppr 4427813 Oct 13 22:24 0:1:236:237.sdf ...The files available at that site are ZIP compressed and must be uncompressed (using unzip *.zip or gunzip -S *.zip) prior to being processed by srtm2sdf.
The srtm2sdf utility accepts command-line options as follows:
- -d Used to specify the directory path to the location of usgs2sdf derived SDF files that are to be used to replace outliers found in the SRTM data file. The -d option overrides the default path specified in your $HOME/.splat_path file.
- -n Used to specify the elevation (in meters) below which SRTM data is either replaced with usgs2sdf-derived SDF data, or averaged among adjacent elevation data points. The default threshold for the replacement limit is sea-level (0 meters). Unless elevations below sea-level are known to exist for the region being processed by the srtm2sdf utility, the -n option need not be specified.
Some examples of srtm2sdf use:
$ srtm2sdf N40W074.hgt $ srtm2sdf -d /cdrom/sdf N40W074.hgt $ srtm2sdf -d /dev/null N40W074.hgt # /dev/null prevents USGS data replacement from taking place $ srtm2sdf -n -5 N40W074.hgtIn most cases, you don't have to worry about any command line options if you use SRTM-3 Version 3 Elevation Data files.
In all cases, SDF files are written into the current working directory.
The srtm2sdf utility may also be used to convert 3-arc second SRTM data in Band Interleaved by Line (.BIL) format for use with SPLAT!
This data is available via the web at: seamless.usgs.gov/website/seamless
Once the region of the world has been selected at this site, select the Define Download Area By Coordinates button under Downloads. Proceed to request the download of the region(s) desired in 1 degree by 1 degree regions only, and make sure bounding coordinates entered fall exactly on whole numbers of latitude and longitude (no decimal fractions of a degree).
Select the Add Area button at the bottom.
On the next screen, select Modify Data Request. On the subsequent screen, de-select the National Elevation Dataset (NED) format and select SRTM 3 arc sec - Shuttle Radar Topography Mission [Finished]. Change the format from Arc/INFO GRID to BIL, and from HTML to TXT.
Select the Save Changes and Return To Summary button.
Select the Download button, and save the file once it has been sent to your web browser.
Uncompressing the file will generate a directory containing all files contained within the downloaded archive. Move into the directory and invoke srtm2sdf as described above with the filename having the .bil extension given as its argument. Finally, move or copy the generated .sdf file to your SPLAT! working directory.
srtm2sdf-hd
The srtm2sdf-hd utility operates in an identical manner as srtm2sdf, but is used to generate high-resolution (HD) SDF files from SRTM-1 one-arc second resolution data files for use with SPLAT! HD.
SRTM-1 Version 3 Elevation Data files are available for the United States and its territories and possessions, and may be downloaded from: e4ftl01.cr.usgs.gov/MEASURES/SRTMGL1.003/2000.02.11 (For use with SPLAT! HD v1.3.0 and later versions.)
$ mkdir -p /usr/splat/sdf-hd $ cd /usr/splat/sdf-hd $ wget -i SRTMGL1-urls.txt --http-user=splat --ask-password --keep-session-cookies Password: splat!-NASA1 URL transformed to HTTPS due to an HSTS policy --2024-10-21 18:41:58-- https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL1.003/2000.02.11/N00E006.SRTMGL1.hgt.zip Resolving e4ftl01.cr.usgs.gov (e4ftl01.cr.usgs.gov)... 152.61.133.130, 2001:49c8:4000:127d::133:130 Connecting to e4ftl01.cr.usgs.gov (e4ftl01.cr.usgs.gov)|152.61.133.130|:443... connected. HTTP request sent, awaiting response... 302 Found Resolving urs.earthdata.nasa.gov (urs.earthdata.nasa.gov)... 198.118.243.33, 2001:4d0:241a:4081::89 Connecting to urs.earthdata.nasa.gov (urs.earthdata.nasa.gov)|198.118.243.33|:443... connected. HTTP request sent, awaiting response... 401 Unauthorized Authentication selected: Basic realm="Please enter your Earthdata Login credentials. If you do not have a Earthdata Login, create one at https://urs.earthdata.nasa.gov//users/new" Reusing existing connection to urs.earthdata.nasa.gov:443. HTTP request sent, awaiting response... 302 Found Connecting to e4ftl01.cr.usgs.gov (e4ftl01.cr.usgs.gov)|152.61.133.130|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL1.003/2000.02.11/N00E006.SRTMGL1.hgt.zip [following] --2024-10-21 18:41:59-- https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL1.003/2000.02.11/N00E006.SRTMGL1.hgt.zip Connecting to e4ftl01.cr.usgs.gov (e4ftl01.cr.usgs.gov)|152.61.133.130|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1226642 (1.2M) [application/zip] Saving to: 'N00E006.SRTMGL1.hgt.zip' N00E006.SRTMGL1.hgt 100%[===================>] 1.17M 6.25MB/s in 0.2s 2024-10-21 18:41:59 (6.25 MB/s) - 'N00E006.SRTMGL1.hgt.zip' saved [1226642/1226642] ... (This is repeated 14,297 times! It's around 100 GB total.) ... $ for i in `ls *.zip` > do > unzip $i > done Archive: N00E006.SRTMGL1.hgt.zip inflating: N00E006.hgt Archive: N00E009.SRTMGL1.hgt.zip inflating: N00E009.hgt Archive: N00E010.SRTMGL1.hgt.zip inflating: N00E010.hgt Archive: N00E011.SRTMGL1.hgt.zip inflating: N00E011.hgt Archive: N00E012.SRTMGL1.hgt.zip inflating: N00E012.hgt ... $ rm -f *.zip # Or back them up somewhere. # Note: Some of the .hgt files may have to be renamed. $ ls -l *SRTMGL1* -rw-r--r-- 1 gbppr gbppr 25934402 Aug 10 2015 N41E050.SRTMGL1.hgt -rw-r--r-- 1 gbppr gbppr 25934402 Aug 10 2015 N41E051.SRTMGL1.hgt -rw-r--r-- 1 gbppr gbppr 25934402 Aug 10 2015 N44E048.SRTMGL1.hgt -rw-r--r-- 1 gbppr gbppr 25934402 Aug 10 2015 N44E049.SRTMGL1.hgt -rw-r--r-- 1 gbppr gbppr 25934402 Aug 10 2015 N47W087.SRTMGL1.hgt $ mv N41E050.SRTMGL1.hgt N41E050.hgt $ mv N41E051.SRTMGL1.hgt N41E051.hgt etc.... $ for i in `ls *.hgt` > do > /usr/local/bin/srtm2sdf-hd $i > done Reading N00E006.hgt... Writing 0:1:353:354-hd.sdf... Done! Reading N00E009.hgt... Writing 0:1:350:351-hd.sdf... Done! Reading N00E010.hgt... Writing 0:1:349:350-hd.sdf... Done! Reading N00E011.hgt... ... (It takes forever, like days, really..) ... $ rm -f *.hgt # Or back them up somewhere. $ for i in `ls *.sdf` > do > bzip2 -v $i > done ... 44:45:0:1-hd.sdf: 11.180:1, 0.716 bits/byte, 91.06% saved, 40871415 in, 3655838 out. 44:45:100:101-hd.sdf: 13.953:1, 0.573 bits/byte, 92.83% saved, 51840014 in, 3715215 out. 44:45:101:102-hd.sdf: 12.796:1, 0.625 bits/byte, 92.18% saved, 51840014 in, 4051390 out. 44:45:102:103-hd.sdf: 13.079:1, 0.612 bits/byte, 92.35% saved, 51850332 in, 3964251 out. 44:45:103:104-hd.sdf: 12.330:1, 0.649 bits/byte, 91.89% saved, 56972716 in, 4620799 out. ... (They take up a lot of space uncompressed.) ...The gdal_translate utility included in the GDAL - Geospacial Data Abstraction Library is useful for converting topography data in GeoTIFF format to SRTM .HGT files that are compatible with SPLAT!'s strm2sdf-hd utilities.
Advanced Spaceborne Thermal Emission and Reflection Radiometer (ASTER) Global Digital Elevation Model Version 3 The improved GDEMv3 adds additional stereo-pairs, improving coverage and reducing the occurrence of artifacts.
Search for "ASTER Global Digital Elevation Model V003" on NASA Earthdata. ASTER terrain data includes coverage of the latitudes which are missing from the SRTM data. Requires that stupid login/download interface.
$ sudo apt install gdal-bin gdal-data gdal-plugins $ gdal_translate -of SRTMHGT ASTGTMV003_N44W089_dem.tif N44W089.hgt Input file size is 3601, 3601 0...10...20...30...40...50...60...70...80...90...100 - done. $ /usr/local/bin/srtm2sdf-hd N44W089.hgt Reading N44W089.hgt... Writing 44:45:88:89-hd.sdf... Done! or Reading N44W089.hgt... Writing 44_45_88_89-hd.sdf... Done! $ /usr/local/bin/splat -hd -t tx.qth -c 10 -d /path/to/new-sdf-data # v2.0 $ /usr/local/bin/splat-hd -t tx.qth -c 10 -d /path/to/new-sdf-data # v1.4.2 # Highly compressed example output: tx.jpgusgs2sdf
The usgs2sdf utility takes as an argument the name of an uncompressed and record delimited Digital Elevation Model (DEM) data downloaded from the U.S. Geological Survey, and generates a SPLAT! Data File (SDF) compatible with SPLAT! software. usgs2sdf may be invoked manually, or via the postdownload script.
postdownload
postdownload is a front-end to the usgs2sdf utility.
postdownload takes as an argument the name of the gzipped Digital Elevation Model (DEM) downloaded from the U.S. Geological Survey (i.e., wilmington-w.gz).
postdownload uncompresses the DEM file, adds necessary record delimiters, and invokes usgs2sdf to produce a SPLAT! Data File (SDF).
1 degree USGS Digital Elevation Models may be downloaded from: edcftp.cr.usgs.gov/pub/data/DEM/250 or archive.org/details/dem-250
Invoke postdownload with the name of each DEM file downloaded to produce a database of SPLAT! Data Files.
$ mv dem250.zip /usr/splat $ unzip dem250.zip $ cd dem250 $ for i in `ls *.gz` > do > /usr/local/bin/postdownload $i > done Uncompressing aberdeen-e.gz... Adding record delimiters... 2402+1 records in 17261+1 records out 8837884 bytes (8.8 MB, 8.4 MiB) copied, 0.0623116 s, 142 MB/s Reading "delimited_file"... 25%... 50%... 75%... Done! Writing "45:46:98:99.sdf"... Done! Removing temp files... Done! Uncompressing aberdeen-w.gz... Adding record delimiters... 2402+1 records in 17261+1 records out 8837884 bytes (8.8 MB, 8.4 MiB) copied, 0.0408379 s, 216 MB/s Reading "delimited_file"... 25%... 50%... 75%... Done! Writing "45:46:99:100.sdf"... Done! Removing temp files... Done! ... $ rm -f *.gz # Or back them up somewhere.citydecoder
This utility reads certain U.S. Census Bureau files to produce city/site data files that can be imported into SPLAT! software to annotate SPLAT!-generated maps.
Incorporated Places/Census Designated Places data files for use with citydecoder may be downloaded from: www.census.gov/geo/www/cob/bdy_files.html
Similarly, County Subdivision files containing the names, locations, and boundaries of cities, and smaller towns, townships, and boroughs may be downloaded from: www.census.gov/geo/www/cob/co2000.html
and processed with the citydecoder utility.
Please select the ARC/INFO Ungenerate (ASCII) metadata cartographic boundary files from these sites and unzip them prior to processing them with citydecoder:
$ unzip -a pl34_d00_ascii.zip $ unzip -a cs34_d00_ascii.zipU.S. Census files are cataloged by the 2-digit FIPS code for the region (state) they represent. A list of FIPS codes is included in fips.txt under splat-1.4.2/utils for your convenience.
citydecoder takes as an argument the two-letter file prefix plus the FIPS code of the region or state being processed. For example:
$ citydecoder pl34reads files pl34_d00.dat and pl34_d00a.dat that were extracted after the unzipping process, and generates a list of city names and geographical coordinates for the state of New Jersey (FIPS code 34).
This data may be sorted and written to a file (cities.nj.dat) in the following manner:
$ citydecoder pl34 | sort > cities.nj.datIn a similar manner, unzipped County Subdivision files may be processed with the citydecoder utility to produce a file containing locations and names of towns, townships, and boroughs:
$ citydecoder cs34 | sort > townships.nj.datcitydecoder can also process more than one file or file type per invocation, and produce a merged output file as follows:
$ citydecoder pl34 cs34 | sort > everything.in.nj.datBe advised that any redundancy that may exist between cs and pl files will be reflected in the merged output file, so some manual editing of the output file may be necessary.
fontdata
The fontdata utility reads Slackware gzipped console font data to create the fontdata.h file required for compilation of SPLAT! Font data of the type needed by this utility may be found under /usr/lib/kbd/consolefonts (Slackware < 8), or under /usr/share/kbd/consolefonts (Slackware >= 8.0).
A default fontdata.h file is already included in with SPLAT!, and is a derivative of the s.fnt console font type available under Slackware.
fontdata takes as an argument the name of the file containing the gzipped compressed console fonts:
$ fontdata s.fnt.gzbearing
The bearing utility reads a pair of .qth files specified on the command line, and returns the azimuth bearing and great-circle path distance between the two points specified. A -metric switch is available so that distances can be provided in kilometers rather than statute miles.
SPLAT! provides similar distance and bearing information between two specific site locations. The bearing utility, however, provides the information quickly and easily over great distances without having to run SPLAT!
Building the Utilities
Normally, these utilities are built and installed along with SPLAT! when SPLAT!'s ./configure script is invoked.
However, if you modify them and/or wish to build and install them separately, here is how it's done.
First, invoke the ./build script to compile each or all utilities in this directory by name. For example:
$ ./build citydecodercompiles citydecoder only, while
$ ./build allcompiles all utilities.
Installing the Utilities
Invoke the ./install script to install each or all utilities in this directory by name. For example:
$ sudo ./install citydecoderinstalls citydecoder only, while
$ sudo ./install allinstalls all the utilities.
You may need to be root to install any or all of these utilities.
SPLAT!(1)
Name
splat: An RF Signal Propagation, Loss, And Terrain analysis tool
Synopsis
splat -t txsite(s).qth (max of 4 with -c, max of 30 with -L) -r rxsite.qth -c plot LOS coverage of TX(s) with an RX antenna at X feet/meters AGL -L plot path loss map of TX based on an RX at X feet/meters AGL -s filename(s) of city/site file(s) to import (5 max) -b filename(s) of cartographic boundary file(s) to import (5 max) -p filename of terrain profile graph to plot -e filename of terrain elevation graph to plot -h filename of terrain height graph to plot -H filename of normalized terrain height graph to plot -l filename of path loss graph to plot -o filename of topographic map to generate (.ppm) -u filename of user-defined terrain file to import -d sdf file directory path (overrides path in ~/.splat_path file) -m earth radius multiplier -n do not plot LOS paths in .ppm maps -N do not produce unnecessary site or obstruction reports -f frequency for Fresnel zone calculation (MHz) -R modify default range for -c or -L (miles/kilometers) -sc display smooth rather than quantized contour levels -db threshold beyond which contours will not be displayed -nf do not plot Fresnel zones in height plots -fz Fresnel zone clearance percentage (default = 60) -gc ground clutter height (feet/meters) -ngs display greyscale topography as white in .ppm files -erp override ERP in .lrp file (Watts) -ano name of alphanumeric output file -ani name of alphanumeric input file -udt name of user defined terrain input file -kml generate Google Earth (.kml) compatible output -geo generate an Xastir .geo georeference file (with .ppm output) -dbm plot signal power level contours rather than field strength -log copy command line string to this output file -gpsav preserve gnuplot temporary working files after SPLAT! execution -metric employ metric rather than imperial units for all user I/O -olditm invoke Longley-Rice rather than the default ITWOM modelDescription
SPLAT! is a powerful terrestrial RF propagation and terrain analysis tool for the spectrum between 20 MHz and 20 GHz. SPLAT! is free software, and is designed for operation on UNIX and Linux-based workstations. Redistribution and/or modification is permitted under the terms of the GNU General Public License, Version 2, as published by the Free Software Foundation. Adoption of SPLAT! source code in proprietary or closed-source applications is a violation of this license and is strictly forbidden.
SPLAT! is distributed in the hope that it will be 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.
Introduction
Applications of SPLAT! include the visualization, design, and link budget analysis of wireless Wide Area Networks (WANs), commercial and amateur radio communication systems above 20 MHz, microwave links, frequency coordination and interference studies, and the prediction of analog and digital terrestrial radio and television contour regions.
SPLAT! provides RF site engineering data such as great circle distances and bearings between sites, antenna elevation angles (uptilt), depression angles (downtilt), antenna height above mean sea level, antenna height above average terrain, bearings, distances, and elevations to known obstructions, Irregular Terrain Model path attenuation, and received signal strength. In addition, the minimum antenna height requirements needed to clear terrain, the first Fresnel zone, and any user-definable percentage of the first Fresnel zone are also provided.
SPLAT! produces reports, graphs, and high-resolution topographic maps that depict line-of-sight paths, and regional path loss and signal strength contours through which expected coverage areas of transmitters and repeater systems can be obtained. When performing line-of-sight and Irregular Terrain Model analyses in situations where multiple transmitter or repeater sites are employed, SPLAT! determines individual and mutual areas of coverage within the network specified.
Input Files
SPLAT! is a command-line driven application and reads input data through a number of data files. Some files are mandatory for successful execution of the program, while others are optional. Mandatory files include digital elevation topography models in the form of SPLAT! Data Files (SDF files), site location files (QTH files), and Irregular Terrain Model parameter files (LRP files). Optional files include city location files, cartographic boundary files, user-defined terrain files, path loss input files, antenna radiation pattern files, and color definition files.
Splat Data Files
SPLAT! imports topographic data in the form of SPLAT! Data Files (SDFs). These files may be generated from a number of information sources. In the United States, SPLAT! Data Files can be generated through U.S. Geological Survey Digital Elevation Models (DEMs) using the postdownload and usgs2sdf utilities included with SPLAT!. USGS Digital Elevation Models compatible with these utilities may be downloaded from:
Significantly better resolution and accuracy can be obtained through the use of SRTM Version 2 digital elevation models, especially when supplemented by USGS-derived SDF data. These one-degree by one-degree models are the product of the Space Shuttle STS-99 Radar Topography Mission, and are available for most populated regions of the Earth. SPLAT! Data Files may be generated from 3 arc-second SRTM-3 data using the included srtm2sdf utility. SRTM-3 Version 2.1 data may be obtained through anonymous FTP from:
Note that SRTM filenames refer to the latitude and longitude of the southwest corner of the topographic dataset contained within the file. Therefore, the region of interest must lie north and east of the latitude and longitude provided in the SRTM filename.
Even greater resolution and accuracy can be obtained by using 1 arc-second SRTM-1 Version 2.1 topography data. This data is available for the United States and its territories and possessions, and may be downloaded from:
High-resolution SDF files for use with SPLAT! HD may be generated from data in this format using the srtm2sdf-hd utility.
Despite the higher accuracy that SRTM data has to offer, some voids in the data sets exist. When voids are detected, the srtm2sdf and srtm2sdf-hd utilities replace them with corresponding data found in usgs2sdf generated SDF files. If USGS-derived SDF data is not available, voids are handled through adjacent pixel averaging, or direct replacement.
SPLAT! Data Files contain integer value topographic elevations in meters referenced to mean sea level for 1-degree by 1-degree regions of the Earth. SDF files can be read by SPLAT! in either standard format (.sdf) as generated directly by the usgs2sdf, srtm2sdf, and srtm2sdf-hd utilities, or in bzip2 compressed format (.sdf.bz2). Since uncompressed files can be read slightly faster than files that have been compressed, SPLAT! searches for needed SDF data in uncompressed format first. If uncompressed data cannot be located, SPLAT! then searches for data in bzip2 compressed format. If no compressed SDF files can be found for the region requested, SPLAT! assumes the region is over water, and will assign an elevation of sea-level to these areas.
This feature of SPLAT! makes it possible to perform path analysis not only over land, but also between coastal areas not represented by Digital Elevation Model data. However, this behavior of SPLAT! underscores the importance of having all the SDF files required for the region being analyzed if meaningful results are to be expected.
Site Location (QTH) Files
SPLAT! imports site location information of transmitter and receiver sites analyzed by the program from ASCII files having a .qth extension. QTH files contain the site's name, the site's latitude (positive if North of the equator, negative if South), the site's longitude (in degrees West, 0 to 360 degrees, or degrees East 0 to -360 degrees), and the site's antenna height above ground level (AGL), each separated by a single line-feed character. The antenna height is assumed to be specified in feet unless followed by the letter m or the word meters in either upper or lower case. Latitude and longitude information may be expressed in either decimal format (74.6864) or degree, minute, second (DMS) format (74 41 11.0).
For example, a site location file describing television station WNJT-DT, Trenton, NJ (wnjt-dt.qth) might read as follows:
WNJT-DT 40.2828 74.6864 990.00Each transmitter and receiver site analyzed by SPLAT! must be represented by its own site location (QTH) file.
Irregular Terrain Model Parameter (LRP) Files
Irregular Terrain Model Parameter data files are required for SPLAT! to determine RF path loss, field strength, or received signal power level in either point-to-point or area prediction mode. Irregular Terrain Model parameter data is read from files having the same base name as the transmitter site QTH file, but with a .lrp extension. SPLAT! LRP files share the following format (wnjt-dt.lrp):
15.000 ; Earth Dielectric Constant (Relative permittivity) 0.005 ; Earth Conductivity (Siemens per meter) 301.000 ; Atmospheric Bending Constant (N-units) 647.000 ; Frequency in MHz (20 MHz to 20 GHz) 5 ; Radio Climate (5 = Continental Temperate) 0 ; Polarization (0 = Horizontal, 1 = Vertical) 0.50 ; Fraction of situations (50% of locations) 0.90 ; Fraction of time (90% of the time) 46000.0 ; Effective Radiated Power (ERP) in Watts (optional)If an LRP file corresponding to the tx_site QTH file cannot be found, SPLAT! scans the current working directory for the file "splat.lrp". If this file cannot be found, then default parameters will be assigned by SPLAT! and a corresponding "splat.lrp" file containing these default parameters will be written to the current working directory. The generated "splat.lrp" file can then be edited by the user as needed.
Typical Earth dielectric constants and conductivity values are as follows:
Dielectric Constant Conductivity Salt water : 80 5.000 Good ground : 25 0.020 Fresh water : 80 0.010 Marshy land : 12 0.007 Farmland, forest : 15 0.005 Average ground : 15 0.005 Mountain, sand : 13 0.002 City : 5 0.001 Poor ground : 4 0.001Radio climate codes used by SPLAT! are as follows:
1: Equatorial (Congo) 2: Continental Subtropical (Sudan) 3: Maritime Subtropical (West coast of Africa) 4: Desert (Sahara) 5: Continental Temperate 6: Maritime Temperate, over land (UK and west coasts of US & EU) 7: Maritime Temperate, over seaThe Continental Temperate climate is common to large land masses in the temperate zone, such as the United States. For paths shorter than 100 km, there is little difference between Continental and Maritime Temperate climates.
The seventh and eighth parameters in the .lrp file correspond to the statistical analysis provided by the ITM model. In this example, SPLAT! will return the maximum path loss occurring in 50% of situations (fraction of situations, or Location Variability) 90% of the time (fraction of time, or Time Variability). This is often denoted as F(50,90) in Longley-Rice studies. In the United States, an F(50,90) criteria is typically used for digital television (8-level VSB modulation), while F(50,50) is used for analog (VSB-AM+NTSC) broadcasts.
For further information on ITM propagation model parameters, please refer to: www.its.bldrdoc.gov/resources/radio-propagation-software/itm/itm.aspx and www.softwright.com/faq/engineering/prop_longley_rice.html
The last parameter in the .lrp file corresponds to the transmitter's Effective Radiated Power (ERP), and is optional. If it is included in the .lrp file, then SPLAT! will compute received signal strength levels and field strength level contours when performing ITM studies. If the parameter is omitted, path loss is computed instead. The ERP provided in the .lrp file can be overridden by using SPLAT!'s -erp command-line switch. If the .lrp file contains an ERP parameter and the generation of path loss rather than field strength contours is desired, the ERP can be assigned to zero using the -erp switch without having to edit the .lrp file to accomplish the same result.
City Location Files
The names and locations of cities, tower sites, or other points of interest may be imported and plotted on topographic maps generated by SPLAT!. SPLAT! imports the names of cities and locations from ASCII files containing the location of interest's name, latitude, and longitude. Each field is separated by a comma. Each record is separated by a single line feed character. As was the case with the .qth files, latitude and longitude information may be entered in either decimal or degree, minute, second (DMS) format.
For example (cities.dat):
Teaneck, 40.891973, 74.014506 Tenafly, 40.919212, 73.955892 Teterboro, 40.859511, 74.058908 Tinton Falls, 40.279966, 74.093924 Toms River, 39.977777, 74.183580 Totowa, 40.906160, 74.223310 Trenton, 40.219922, 74.754665A total of five separate city data files may be imported at a time, and there is no limit to the size of these files. SPLAT! reads city data on a "first come/first served" basis, and plots only those locations whose annotations do not conflict with annotations of locations read earlier in the current city data file, or in previous files. This behavior minimizes clutter in SPLAT! generated topographic maps, but also mandates that important locations be placed toward the beginning of the first city data file, and locations less important be positioned further down the list or in subsequent data files.
City data files may be generated manually using any text editor, imported from other sources, or derived from data available from the U.S. Census Bureau using the citydecoder utility included with SPLAT!. Such data is available free of charge via the Internet at: www.census.gov/geo/www/cob/bdy_files.html, and must be in ASCII format.
Cartographic Boundary Data Files
Cartographic boundary data may also be imported to plot the boundaries of cities, counties, or states on topographic maps generated by SPLAT!. Such data must be of the form of ARC/INFO Ungenerate (ASCII Format) Metadata Cartographic Boundary Files, and are available from the U.S. Census Bureau via the Internet at: www.census.gov/geo/www/cob/co2000.html#ascii and www.census.gov/geo/www/cob/pl2000.html#ascii. A total of five separate cartographic boundary files may be imported at a time. It is not necessary to import state boundaries if county boundaries have already been imported.
Program Operation
SPLAT! is invoked via the command-line using a series of switches and arguments. Since SPLAT! is a CPU and memory intensive application, this type of interface minimizes overhead and lends itself well to scripted (batch) operations. SPLAT!'s CPU and memory scheduling priority may be modified through the use of the UNIX nice command.
The number and type of switches passed to SPLAT! determine its mode of operation and method of output data generation. Nearly all of SPLAT!'s switches may be cascaded in any order on the command line when invoking the program. Simply typing splat on the command line will return a summary of SPLAT!'s command line options:
--==[ SPLAT! v1.4.2 Available Options... ]==-- -t txsite(s).qth (max of 4 with -c, max of 30 with -L) -r rxsite.qth -c plot LOS coverage of TX(s) with RX antenna at X feet/meters AGL -L plot path loss map of TX based on an RX at X feet/meters AGL -s filename(s) of city/site file(s) to import (5 max) -b filename(s) of cartographic boundary file(s) to import (5 max) -p filename of terrain profile graph to plot -e filename of terrain elevation graph to plot -h filename of terrain height graph to plot -H filename of normalized terrain height graph to plot -l filename of path loss graph to plot -o filename of topographic map to generate (.ppm) -u filename of user-defined terrain file to import -d sdf file directory path (overrides path in ~/.splat_path file) -m earth radius multiplier -n do not plot LOS paths in .ppm maps -N do not produce unnecessary site or obstruction reports -f frequency for Fresnel zone calculation (MHz) -R modify default range for -c or -L (miles/kilometers) -sc display smooth rather than quantized contour levels -db threshold beyond which contours will not be displayed -nf do not plot Fresnel zones in height plots -fz Fresnel zone clearance percentage (default = 60) -gc ground clutter height (feet/meters) -ngs display greyscale topography as white in .ppm files -erp override ERP in .lrp file (Watts) -ano name of alphanumeric output file -ani name of alphanumeric input file -udt name of user defined terrain input file -kml generate Google Earth (.kml) compatible output -geo generate an Xastir .geo georeference file (with .ppm output) -dbm plot signal power level contours rather than field strength -log copy command line string to this output file -gpsav preserve gnuplot temporary working files after SPLAT! execution -metric employ metric rather than imperial units for all user I/O -olditm invoke older ITM propagation model rather than the newer ITWOMThe command-line options for splat and splat-hd are identical. The -log command line switch causes all invoked command line options to be logged to a file of your choosing (logfile.txt):splat -t tx_site -r rx_site -s nj_cities -o topo_map -log logfile.txtSPLAT! operates in two distinct modes: point-to-point mode, and area prediction mode. Either a line-of-sight (LOS) or Irregular Terrain (ITM) propagation model may be invoked by the user. True Earth, four-thirds Earth, or any other user-defined Earth radius may be specified when performing line-of-sight analysis.
Point-to-Point Analysis
SPLAT! may be used to perform line-of-sight terrain analysis between two specified site locations. For example:
splat -t tx_site.qth -r rx_site.qthinvokes a line-of-sight terrain analysis between the transmitter specified in tx_site.qth and receiver specified in rx_site.qth using a True Earth radius model, and writes a SPLAT! Path Analysis Report to the current working directory. The report contains details of the transmitter and receiver sites, and identifies the location of any obstructions detected along the line-of-sight path. If an obstruction can be cleared by raising the receive antenna to a greater altitude, SPLAT! will indicate the minimum antenna height required for a line-of-sight path to exist between the transmitter and receiver locations specified. Note that imperial units (miles, feet) are specified unless the -metric switch is added to SPLAT!'s command line options:
splat -t tx_site.qth -r rx_site.qth -metricIf the antenna must be raised a significant amount, this determination may take a few moments. Note that the results provided are the minimum necessary for a line-of-sight path to exist, and in the case of this simple example, do not take Fresnel zone clearance requirements into consideration.
qth extensions are assumed by SPLAT! for QTH files, and are optional when specifying -t and -r arguments on the command-line. SPLAT! automatically reads all SPLAT! Data Files necessary to conduct the terrain analysis between the sites specified. SPLAT! searches for the required SDF files in the current working directory first. If the needed files are not found, SPLAT! then searches in the path specified by the -d command-line switch:
splat -t tx_site -r rx_site -d /cdrom/sdf/An external directory path may be specified by placing a ".splat_path" file under the user's home directory. This file must contain the full directory path of last resort to all the SDF files. The path in the $HOME/.splat_path file must be of the form of a single line of ASCII text:
/opt/splat/sdf/and can be generated using any text editor.
A graph of the terrain profile between the receiver and transmitter locations as a function of distance from the receiver can be generated by adding the -p switch:
splat -t tx_site -r rx_site -p terrain_profile.pngSPLAT! invokes gnuplot when generating graphs. The filename extension specified to SPLAT! determines the format of the graph produced. .png will produce a 640x480 color PNG graphic file, while .ps or .postscript will produce postscript output. Output in formats such as GIF, Adobe Illustrator, AutoCAD dxf, LaTeX, and many others are available. Please consult gnuplot, and gnuplot's documentation for details on all the supported output formats.
A graph of elevations subtended by the terrain between the receiver and transmitter as a function of distance from the receiver can be generated by using the -e switch:
splat -t tx_site -r rx_site -e elevation_profile.pngThe graph produced using this switch illustrates the elevation and depression angles resulting from the terrain between the receiver's location and the transmitter site from the perspective of the receiver's location. A second trace is plotted between the left side of the graph (receiver's location) and the location of the transmitting antenna on the right. This trace illustrates the elevation angle required for a line-of-sight path to exist between the receiver and transmitter locations. If the trace intersects the elevation profile at any point on the graph, then this is an indication that a line-of-sight path does not exist under the conditions given, and the obstructions can be clearly identified on the graph at the point(s) of intersection.
A graph illustrating terrain height referenced to a line-of-sight path between the transmitter and receiver may be generated using the -h switch:
splat -t tx_site -r rx_site -h height_profile.pngA terrain height plot normalized to the transmitter and receiver antenna heights can be obtained using the -H switch:
splat -t tx_site -r rx_site -H normalized_height_profile.pngA contour of the Earth's curvature is also plotted in this mode.
The first Fresnel Zone, and 60% of the first Fresnel Zone can be added to height profile graphs by adding the -f switch, and specifying a frequency (in MHz) at which the Fresnel Zone should be modeled:
splat -t tx_site -r rx_site -f 439.250 -H normalized_height_profile.pngFresnel Zone clearances other 60% can be specified using the -fz switch as follows:
splat -t tx_site -r rx_site -f 439.250 -fz 75 -H height_profile2.pngA graph showing ITM path loss may be plotted using the -l switch:
splat -t tx_site -r rx_site -l path_loss_profile.pngAs before, adding the -metric switch forces the graphs to be plotted using metric units of measure. The -gpsav switch instructs SPLAT! to preserve (rather than delete) the gnuplot working files generated during SPLAT! execution, allowing the user to edit these files and re-run gnuplot if desired.
When performing a point-to-point analysis, a SPLAT! Path Analysis Report is generated in the form of a text file with a .txt filename extension. The report contains bearings and distances between the transmitter and receiver, as well as the free-space and ITM path loss for the path being analyzed. The mode of propagation for the path is given as Line-of-Sight, Single Horizon, Double Horizon, Diffraction Dominant, or Troposcatter Dominant. Additionally, if the receiver is located at the peak of a single obstruction or at the peak of a second obstruction, SPLAT! will report RX at Peak Terrain Along Path when operating under the ITWOM propagation model.
Distances and locations to known obstructions along the path between transmitter and receiver are also provided. If the transmitter's effective radiated power is specified in the transmitter's corresponding .lrp file, then predicted signal strength and antenna voltage at the receiving location is also provided in the Path Analysis Report.
To determine the signal-to-noise (SNR) ratio at remote location where random Johnson (thermal) noise is the primary limiting factor in reception:
SNR = T - NJ - L + G - NFwhere T is the ERP of the transmitter in dBW in the direction of the receiver, NJ is Johnson Noise in dBW (-136 dBW for a 6 MHz television channel), L is the path loss provided by SPLAT! in dB (as a positive number), G is the receive antenna gain in dB over isotropic, and NF is the receiver noise figure in dB.
T may be computed as follows:
T = TI + GTwhere TI is actual amount of RF power delivered to the transmitting antenna in dBW, GT is the transmitting antenna gain (over isotropic) in the direction of the receiver (or the horizon if the receiver is over the horizon).
To compute how much more signal is available over the minimum to necessary to achieve a specific signal-to-noise ratio:
Signal_Margin = SNR - Swhere S is the minimum required SNR ratio (15.5 dB for ATSC (8-level VSB) DTV, 42 dB for analog NTSC television).
A topographic map may be generated by SPLAT! to visualize the path between the transmitter and receiver sites from yet another perspective. Topographic maps generated by SPLAT! display elevations using a logarithmic grayscale, with higher elevations represented through brighter shades of gray. The dynamic range of the image is scaled between the highest and lowest elevations present in the map. The only exception to this is sea-level, which is represented using the color blue.
Topographic output is invoked using the -o switch:
splat -t tx_site -r rx_site -o topo_map.ppmThe .ppm extension on the output filename is assumed by SPLAT!, and is optional.
In this example, topo_map.ppm will illustrate the locations of the transmitter and receiver sites specified. In addition, the great circle path between the two sites will be drawn over locations for which an unobstructed path exists to the transmitter at a receiving antenna height equal to that of the receiver site (specified in rx_site.qth).
It may desirable to populate the topographic map with names and locations of cities, tower sites, or other important locations. A city file may be passed to SPLAT! using the -s switch:
splat -t tx_site -r rx_site -s cities.dat -o topo_mapUp to five separate city files may be passed to SPLAT! at a time following the -s switch.
County and state boundaries may be added to the map by specifying up to five U.S. Census Bureau cartographic boundary files using the -b switch:
splat -t tx_site -r rx_site -b co34_d00.dat -o topo_mapIn situations where multiple transmitter sites are in use, as many as four site locations may be passed to SPLAT! at a time for analysis:
splat -t tx_site1 tx_site2 tx_site3 tx_site4 -r rx_site -p profile.pngIn this example, four separate terrain profiles and obstruction reports will be generated by SPLAT!. A single topographic map can be specified using the -o switch, and line-of-sight paths between each transmitter and the receiver site indicated will be produced on the map, each in its own color. The path between the first transmitter specified to the receiver will be in green, the path between the second transmitter and the receiver will be in cyan, the path between the third transmitter and the receiver will be in violet, and the path between the fourth transmitter and the receiver will be in sienna.
SPLAT! generated topographic maps are 24-bit TrueColor Portable PixMap (PPM) images. They may be viewed, edited, or converted to other graphic formats by popular image viewing applications such as xv, The GIMP, ImageMagick, and XPaint. PNG format is highly recommended for lossless compressed storage of SPLAT! generated topographic output files. ImageMagick's command-line utility easily converts SPLAT!'s PPM files to PNG format:
convert splat_map.ppm splat_map.pngAnother excellent PPM to PNG command-line utility is available at: http://www.libpng.org/pub/png/book/sources.htmlfP. As a last resort, PPM files may be compressed using the bzip2 utility, and read directly by The GIMP in this format.
The -ngs option assigns all terrain to the color white, and can be used when it is desirable to generate a map that is devoid of terrain:
splat -t tx_site -r rx_site -b co34_d00.dat -ngs -o white_mapThe resulting .ppm image file can be converted to .png format with a transparent background using ImageMagick's convert utility:
convert -transparent "#FFFFFF" white_map.ppm transparent_map.pngRegional Coverage Analysis
SPLAT! can analyze a transmitter or repeater site, or network of sites, and predict the regional coverage for each site specified. In this mode, SPLAT! can generate a topographic map displaying the geometric line-of-sight coverage area of the sites based on the location of each site and the height of receive antenna wishing to communicate with the site in question. A regional analysis may be performed by SPLAT! using the -c switch as follows:
splat -t tx_site -c 30.0 -s cities.dat -b co34_d00.dat -o tx_coverageIn this example, SPLAT! generates a topographic map called tx_coverage.ppm that illustrates the predicted line-of-sight regional coverage of tx_site to receiving locations having antennas 30.0 feet above ground level (AGL). If the -metric switch is used, the argument following the -c switch is interpreted as being in meters rather than in feet. The contents of cities.dat are plotted on the map, as are the cartographic boundaries contained in the file co34_d00.dat.
When plotting line-of-sight paths and areas of regional coverage, SPLAT! by default does not account for the effects of atmospheric bending. However, this behavior may be modified by using the Earth radius multiplier (-m) switch:
splat -t wnjt-dt -c 30.0 -m 1.333 -s cities.dat -b counties.dat -o map.ppmAn earth radius multiplier of 1.333 instructs SPLAT! to use the "four-thirds earth" model for line-of-sight propagation analysis. Any appropriate earth radius multiplier may be selected by the user.
When performing a regional analysis, SPLAT! generates a site report for each station analyzed. SPLAT! site reports contain details of the site's geographic location, its height above mean sea level, the antenna's height above mean sea level, the antenna's height above average terrain, and the height of the average terrain calculated toward the bearings of 0, 45, 90, 135, 180, 225, 270, and 315 degrees azimuth.
Determining Multiple Regions of LOS Coverage
SPLAT! can also display line-of-sight coverage areas for as many as four separate transmitter sites on a common topographic map. For example:
splat -t site1 site2 site3 site4 -c 10.0 -metric -o network.ppmplots the regional line-of-sight coverage of site1, site2, site3, and site4 based on a receive antenna located 10.0 meters above ground level. A topographic map is then written to the file network.ppm. The line-of-sight coverage area of the transmitters are plotted as follows in the colors indicated (along with their corresponding RGB values in decimal):
site1: Green (0,255,0) site2: Cyan (0,255,255) site3: Medium Violet (147,112,219) site4: Sienna 1 (255,130,71) site1 + site2: Yellow (255,255,0) site1 + site3: Pink (255,192,203) site1 + site4: Green Yellow (173,255,47) site2 + site3: Orange (255,165,0) site2 + site4: Dark Sea Green 1 (193,255,193) site3 + site4: Dark Turquoise (0,206,209) site1 + site2 + site3: Dark Green (0,100,0) site1 + site2 + site4: Blanched Almond (255,235,205) site1 + site3 + site4: Medium Spring Green (0,250,154) site2 + site3 + site4: Tan (210,180,140) site1 + site2 + site3 + site4: Gold2 (238,201,0)If separate .qth files are generated, each representing a common site location but a different antenna height, a single topographic map illustrating the regional coverage from as many as four separate locations on a single tower may be generated by SPLAT!.
Path Loss Analysis
If the -c switch is replaced by a -L switch, an ITM path loss map, a field strength map, or a received power map for the transmitter site(s) specified may be generated. The type of analysis generated depends on the presence or absence of an -erp switch followed by a positive valued argument (or equivalent ERP entry in the appropriate .lrp file), or the presence or absence of the -dBm switch. The following example would generate an ITM path loss map:
splat -t wnjt -L 30.0 -s cities.dat -b co34_d00.dat -o path_loss_mapIn this mode, SPLAT! generates a multi-color map illustrating expected signal levels in areas surrounding the transmitter site. A legend at the bottom of the map correlates each color with a specific path loss range in decibels.
The -db switch allows a threshold to be set beyond which contours will not be plotted on the map. For example, if a path loss beyond -140 dB is irrelevant to the survey being conducted, SPLAT!'s path loss plot can be constrained to the region bounded by the 140 dB attenuation contour as follows:
splat -t wnjt-dt -L 30.0 -s cities.dat -b co34_d00.dat -db 140 -o plot.ppmThe path loss contour threshold may be expressed as either a positive or negative quantity.
The path loss analysis range may be modified to a user-specific distance using the -R switch. The argument must be given in miles (or kilometers if the -metric switch is used). If a range wider than the generated topographic map is specified, SPLAT! will perform ITM path loss calculations between all four corners of the area prediction map.
The colors used to illustrate contour regions in SPLAT! generated coverage maps may be tailored by the user by creating or modifying SPLAT!'s color definition files. SPLAT! color definition files have the same base name as the transmitter's .qth file, but carry .lcf, .scf, and .dcf extensions. If the necessary file does not exist in the current working when SPLAT! is run, a file containing default color definition parameters that is suitable for manual editing by the user is written into the current directory.
When a regional ITM analysis is performed and the transmitter's ERP is not specified or is zero, a .lcf path loss color definition file corresponding to the transmitter site (.qth) is read by SPLAT! from the current working directory. If a .lcf file corresponding to the transmitter site is not found, then a default file suitable for manual editing by the user is automatically generated by SPLAT!.
A path loss color definition file possesses the following structure (wnjt-dt.lcf):
; SPLAT! Auto-generated Path-Loss Color Definition ("wnjt-dt.lcf") File ; ; Format for the parameters held in this file is as follows: ; ; dB: red, green, blue ; ; ...where "dB" is the path loss (in dB) and ; "red", "green", and "blue" are the corresponding RGB color ; definitions ranging from 0 to 255 for the region specified. ; ; The following parameters may be edited and/or expanded ; for future runs of SPLAT! A total of 32 contour regions ; may be defined in this file. ; ; 80: 255, 0, 0 90: 255, 128, 0 100: 255, 165, 0 110: 255, 206, 0 120: 255, 255, 0 130: 184, 255, 0 140: 0, 255, 0 150: 0, 208, 0 160: 0, 196, 196 170: 0, 148, 255 180: 80, 80, 255 190: 0, 38, 255 200: 142, 63, 255 210: 196, 54, 255 220: 255, 0, 255 230: 255, 194, 204If the path loss is less than 80 dB, the color Red (RGB = 255, 0, 0) is assigned to the region. If the path loss is greater than or equal to 80 dB, but less than 90 db, then Dark Orange (255, 128, 0) is assigned to the region. Orange (255, 165, 0) is assigned to regions having a path loss greater than or equal to 90 dB, but less than 100 dB, and so on. Greyscale terrain is displayed beyond the 230 dB path loss contour. Adding the -sc switch will smooth the transitions between the specified quantized contour levels.
Field Strength Analysis
If the transmitter's effective radiated power (ERP) is specified in the transmitter's .lrp file, or expressed on the command-line using the -erp switch, field strength contours referenced to decibels over one microvolt per meter (dBuV/m) rather than path loss are produced:
splat -t wnjt-dt -L 30.0 -erp 46000 -db 30 -o plot.ppmThe -db switch can be used in this mode as before to limit the extent to which field strength contours are plotted. When plotting field strength contours, however, the argument given is interpreted as being expressed in dBuV/m.
SPLAT! field strength color definition files share a very similar structure to .lcf files used for plotting path loss:
; SPLAT! Auto-generated Signal Color Definition ("wnjt-dt.scf") File ; ; Format for the parameters held in this file is as follows: ; ; dBuV/m: red, green, blue ; ; ...where "dBuV/m" is the signal strength (in dBuV/m) and ; "red", "green", and "blue" are the corresponding RGB color ; definitions ranging from 0 to 255 for the region specified. ; ; The following parameters may be edited and/or expanded ; for future runs of SPLAT! A total of 32 contour regions ; may be defined in this file. ; ; 128: 255, 0, 0 118: 255, 165, 0 108: 255, 206, 0 98: 255, 255, 0 88: 184, 255, 0 78: 0, 255, 0 68: 0, 208, 0 58: 0, 196, 196 48: 0, 148, 255 38: 80, 80, 255 28: 0, 38, 255 18: 142, 63, 255 8: 140, 0, 128If the signal strength is greater than or equal to 128 dB over 1 microvolt per meter (dBuV/m), the color Red (255, 0, 0) is displayed for the region. If the signal strength is greater than or equal to 118 dBuV/m, but less than 128 dBuV/m, then the color Orange (255, 165, 0) is displayed, and so on. Greyscale terrain is displayed for regions with signal strengths less than 8 dBuV/m.
Signal strength contours for some common VHF and UHF broadcasting services in the United States are as follows:
Analog Television Broadcasting ------------------------------ Channels 2-6: City Grade: >= 74 dBuV/m Grade A: >= 68 dBuV/m Grade B: >= 47 dBuV/m -------------------------------------------- Channels 7-13: City Grade: >= 77 dBuV/m Grade A: >= 71 dBuV/m Grade B: >= 56 dBuV/m -------------------------------------------- Channels 14-69: Indoor Grade: >= 94 dBuV/m City Grade: >= 80 dBuV/m Grade A: >= 74 dBuV/m Grade B: >= 64 dBuV/m Digital Television Broadcasting ------------------------------- Channels 2-6: City Grade: >= 35 dBuV/m Service Threshold: >= 28 dBuV/m -------------------------------------------- Channels 7-13: City Grade: >= 43 dBuV/m Service Threshold: >= 36 dBuV/m -------------------------------------------- Channels 14-69: City Grade: >= 48 dBuV/m Service Threshold: >= 41 dBuV/m NOAA Weather Radio (162.400 - 162.550 MHz) ------------------------------------------ Reliable: >= 18 dBuV/m Not reliable: < 18 dBuV/m Unlikely to receive: < 0 dBuV/m FM Radio Broadcasting (88.1 - 107.9 MHz) ---------------------------------------- Analog Service Contour: 60 dBuV/m Digital Service Contour: 65 dBuV/mReceived Power Level Analysis
If the transmitter's effective radiated power (ERP) is specified in the transmitter's .lrp file, or expressed on the command-line using the -erp switch, and the -dbm switch is invoked, received power level contours referenced to decibels over one milliwatt (dBm) are produced:
splat -t wnjt-dt -L 30.0 -erp 46000 -dbm -db -100 -o plot.ppmThe -db switch can be used to limit the extent to which received power level contours are plotted. When plotting power level contours, the argument given is interpreted as being expressed in dBm.
SPLAT! received power level color definition files share a very similar structure to the color definition files described earlier, except that the power levels in dBm may be either positive or negative, and are limited to a range between +40 dBm and -200 dBm:
; SPLAT! Auto-generated DBM Signal Level Color Definition ("wnjt-dt.dcf") File ; ; Format for the parameters held in this file is as follows: ; ; dBm: red, green, blue ; ; ...where "dBm" is the received signal power level between +40 dBm ; and -200 dBm, and "red", "green", and "blue" are the corresponding ; RGB color definitions ranging from 0 to 255 for the region specified. ; ; The following parameters may be edited and/or expanded ; for future runs of SPLAT! A total of 32 contour regions ; may be defined in this file. ; ; +0: 255, 0, 0 -10: 255, 128, 0 -20: 255, 165, 0 -30: 255, 206, 0 -40: 255, 255, 0 -50: 184, 255, 0 -60: 0, 255, 0 -70: 0, 208, 0 -80: 0, 196, 196 -90: 0, 148, 255 -100: 80, 80, 255 -110: 0, 38, 255 -120: 142, 63, 255 -130: 196, 54, 255 -140: 255, 0, 255 -150: 255, 194, 204Antenna Radiation Pattern Parameters
Normalized field voltage patterns for a transmitting antenna's horizontal and vertical planes are imported automatically into SPLAT! when a path loss, field strength, or received power level coverage analysis is performed. Antenna pattern data is read from a pair of files having the same base name as the transmitter and LRP files, but with .az and .el extensions for azimuth and elevation pattern files, respectively. Specifications regarding pattern rotation (if any) and mechanical beam tilt and tilt direction (if any) are also contained within SPLAT! antenna pattern files.
For example, the first few lines of a SPLAT! azimuth pattern file might appear as follows (kvea.az):
183.0 0 0.8950590 1 0.8966406 2 0.8981447 3 0.8995795 4 0.9009535 5 0.9022749 6 0.9035517 7 0.9047923 8 0.9060051The first line of the .az file specifies the amount of azimuthal pattern rotation (measured clockwise in degrees from True North) to be applied by SPLAT! to the data contained in the .az file. This is followed by azimuth headings (0 to 360 degrees) and their associated normalized field patterns (0.000 to 1.000) separated by whitespace.
The structure of SPLAT! elevation pattern files is slightly different. The first line of the .el file specifies the amount of mechanical beam tilt applied to the antenna. Note that a downward tilt (below the horizon) is expressed as a positive angle, while an upward tilt (above the horizon) is expressed as a negative angle. This data is followed by the azimuthal direction of the tilt, separated by whitespace.
The remainder of the file consists of elevation angles and their corresponding normalized voltage radiation pattern (0.000 to 1.000) values separated by whitespace. Elevation angles must be specified over a -10.0 to +90.0 degree range. As was the convention with mechanical beamtilt, negative elevation angles are used to represent elevations above the horizon, while positive angles represents elevations below the horizon.
For example, the first few lines a SPLAT! elevation pattern file might appear as follows (kvea.el):
1.1 130.0 -10.0 0.172 -9.5 0.109 -9.0 0.115 -8.5 0.155 -8.0 0.157 -7.5 0.104 -7.0 0.029 -6.5 0.109 -6.0 0.185In this example, the antenna is mechanically tilted downward 1.1 degrees towards an azimuth of 130.0 degrees.
For best results, the resolution of azimuth pattern data should be specified to the nearest degree azimuth, and elevation pattern data resolution should be specified to the nearest 0.01 degrees. If the pattern data specified does not reach this level of resolution, SPLAT! will interpolate the values provided to determine the data at the required resolution, although this may result in a loss in accuracy.
Exporting And Importing Regional Contour Data
Performing a regional coverage analysis based on an ITM path analysis can be a very time consuming process, especially if the analysis is performed repeatedly to discover what effects changes to a transmitter's antenna radiation pattern make to the predicted coverage area.
This process can be expedited by exporting the contour data produced by SPLAT! to an alphanumeric output (.ano) file. The data contained in this file can then be modified to incorporate antenna pattern effects, and imported back into SPLAT! to quickly produce a revised contour map. Depending on the way in which SPLAT! is invoked, alphanumeric output files can describe regional path loss, signal strength, or received signal power levels.
For example, an alphanumeric output file containing path loss information can be generated by SPLAT! for a receive site 30 feet above ground level over a 50 mile radius surrounding a transmitter site to a maximum path loss of 140 dB (assuming ERP is not specified in the transmitter's .lrp file) using the following syntax:
splat -t kvea -L 30.0 -R 50.0 -db 140 -ano pathloss.datIf ERP is specified in the .lrp file or on the command line through the -erp switch, the alphanumeric output file will instead contain predicted field values in dBuV/m. If the -dBm command line switch is used, then the alphanumeric output file will contain receive signal power levels in dBm.
SPLAT! alphanumeric output files can exceed many hundreds of megabytes in size. They contain information relating to the boundaries of the region they describe followed by latitudes (degrees North), longitudes (degrees West), azimuths (referenced to True North), elevations (to the first obstruction), followed by either path loss (in dB), received field strength (in dBuV/m), or received signal power level (in dBm) without regard to the transmitting antenna's radiation pattern.
The first few lines of a SPLAT! alphanumeric output file could take on the following appearance (pathloss.dat):
119, 117 ; max_west, min_west 35, 34 ; max_north, min_north 34.2265424, 118.0631096, 48.199, -32.747, 67.70 34.2270358, 118.0624421, 48.199, -19.161, 73.72 34.2275292, 118.0617747, 48.199, -13.714, 77.24 34.2280226, 118.0611072, 48.199, -10.508, 79.74 34.2290094, 118.0597723, 48.199, -11.806, 83.26 * 34.2295028, 118.0591048, 48.199, -11.806, 135.47 * 34.2299962, 118.0584373, 48.199, -15.358, 137.06 * 34.2304896, 118.0577698, 48.199, -15.358, 149.87 * 34.2314763, 118.0564348, 48.199, -15.358, 154.16 * 34.2319697, 118.0557673, 48.199, -11.806, 153.42 * 34.2324631, 118.0550997, 48.199, -11.806, 137.63 * 34.2329564, 118.0544322, 48.199, -11.806, 139.23 * 34.2339432, 118.0530971, 48.199, -11.806, 139.75 * 34.2344365, 118.0524295, 48.199, -11.806, 151.01 * 34.2349299, 118.0517620, 48.199, -11.806, 147.71 * 34.2354232, 118.0510944, 48.199, -15.358, 159.49 * 34.2364099, 118.0497592, 48.199, -15.358, 151.67 *Comments can be placed in the file if they are preceeded by a semicolon. The vim text editor has proven capable of editing files of this size.
Note as was the case in the antenna pattern files, negative elevation angles refer to upward tilt (above the horizon), while positive angles refer to downward tilt (below the horizon). These angles refer to the elevation to the receiving antenna at the height above ground level specified using the -L switch if the path between transmitter and receiver is unobstructed. If the path between the transmitter and receiver is obstructed, an asterisk (*) is placed on the end of the line, and the elevation angle returned by SPLAT! refers the elevation angle to the first obstruction rather than the geographic location specified on the line. This is done in response to the fact that the ITM model considers the energy reaching a distant point over an obstructed path to be the result of the energy scattered over the top of the first obstruction along the path. Since energy cannot reach the obstructed location directly, the actual elevation angle to the destination over such a path becomes irrelevant.
When modifying SPLAT! path loss files to reflect antenna pattern data, only the last numeric column should be amended to reflect the antenna's normalized gain at the azimuth and elevation angles specified in the file. Programs and scripts capable of performing this task are left as an exercise for the user.
Modified alphanumeric output files can be imported back into SPLAT! for generating revised coverage maps provided that the ERP and -dBm options are used as they were when the alphanumeric output file was originally generated:
splat -t kvea -ani pathloss.dat -s city.dat -b county.dat -o map.ppmNote that alphanumeric output files generated by splat cannot be used with splat-hd, or vice-versa due to the resolution incompatibility between the two versions of the program. Also, each of the three types of alphanumeric output files are incompatible with one another, so a file containing path loss data cannot be imported into SPLAT! to produce signal strength or received power level contours, etc.
User-Defined Terrain Input Files
A user-defined terrain file is a user-generated text file containing latitudes, longitudes, and heights above ground level of specific terrain features believed to be of importance to the SPLAT! analysis being conducted, but noticeably absent from the SDF files being used. A user-defined terrain file is imported into a SPLAT! analysis using the -udt switch:
splat -t tx_site -r rx_site -udt udt_file.txt -o map.ppmA user-defined terrain file has the following appearance and structure:
40.32180556, 74.1325, 100.0 meters 40.321805, 74.1315, 300.0 40.3218055, 74.1305, 100.0 metersTerrain height is interpreted as being described in feet above ground level unless followed by the word meters, and is added on top of the terrain specified in the SDF data for the locations specified. Be aware that each user-defined terrain feature specified will be interpreted as being 3-arc seconds in both latitude and longitude in splat and 1 arc-second in latitude and longitude in splat-hd. Features described in the user-defined terrain file that overlap previously defined features in the file are ignored by SPLAT! to avoid ambiguity.
Ground Clutter
The height of ground clutter can be specified using the -gc switch:
splat -t wnjt-dt -r kd2bd -gc 30.0 -H wnjt-dt_path.png
The -gc switch as the effect of raising the overall terrain by the specified amount in feet (or meters if the -metric switch is invoked), except over areas at sea-level and at the transmitting and receiving antenna locations.
Simple Topographic Map Generation
In certain situations it may be desirable to generate a topographic map of a region without plotting coverage areas, line-of-sight paths, or generating obstruction reports. There are several ways of doing this. If one wishes to generate a topographic map illustrating the location of a transmitter and receiver site along with a brief text report describing the locations and distances between the sites, the -n switch should be invoked as follows:
splat -t tx_site -r rx_site -n -o topo_map.ppmIf no text report is desired, then the -N switch is used:
splat -t tx_site -r rx_site -N -o topo_map.ppmIf a topographic map centered about a single site out to a minimum specified radius is desired instead, a command similar to the following can be used:
splat -t tx_site -R 50.0 -s NJ_Cities -b NJ_Counties -o topo_map.ppmwhere -R specifies the minimum radius of the map in miles (or kilometers if the -metric switch is used). Note that the tx_site name and location are not displayed in this example. If display of this information is desired, simply create a SPLAT! city file (-s option) and append it to the list of command-line options illustrated above.
If the -o switch and output filename are omitted in these operations, topographic output is written to a file named tx_site.ppm in the current working directory by default.
Georeference File Generation
Topographic, coverage (-c), and path loss contour (-L) maps generated by SPLAT! may be imported into Xastir (X Amateur Station Tracking and Information Reporting) software by generating a georeference file using SPLAT!'s -geo switch:
splat -t kd2bd -R 50.0 -s NJ_Cities -b NJ_Counties -geo -o map.ppmThe georeference file generated will have the same base name as the -o file specified, but have a .geo extension, and permit proper interpretation and display of SPLAT!'s .ppm graphics in Xastir software.
Google Map KML File Generation
Keyhole Markup Language files compatible with Google Earth may be generated by SPLAT! when performing point-to-point or regional coverage analyses by invoking the -kml switch:
splat -t wnjt-dt -r kd2bd -kmlThe KML file generated will have the same filename structure as a Path Analysis Report for the transmitter and receiver site names given, except it will carry a .kml extension.
Once loaded into Google Earth (File --> Open), the KML file will annotate the map display with the names of the transmitter and receiver site locations. The viewpoint of the image will be from the position of the transmitter site looking towards the location of the receiver. The point-to-point path between the sites will be displayed as a white line while the RF line-of-sight path will be displayed in green. Google Earth's navigation tools allow the user to "fly" around the path, identify landmarks, roads, and other featured content.
When performing regional coverage analysis, the .kml file generated by SPLAT! will permit path loss or signal strength contours to be layered on top of Google Earth's display along with a corresponding color key in the upper left-hand corner. The generated .kml file will have the same basename as that of the .ppm file normally generated.
Determination of Antenna Height Above Average Terrain
SPLAT! determines antenna height above average terrain (HAAT) according to the procedure defined by Federal Communications Commission Part 73.313(d). According to this definition, terrain elevations along eight radials between 2 and 10 miles (3 and 16 kilometers) from the site being analyzed are sampled and averaged for each 45 degrees of azimuth starting with True North. If one or more radials lie entirely over water or over land outside the United States (areas for which no USGS topography data is available), then those radials are omitted from the calculation of average terrain.
Note that SRTM-3 elevation data, unlike older USGS data, extends beyond the borders of the United States. Therefore, HAAT results may not be in full compliance with FCC Part 73.313(d) in areas along the borders of the United States if the SDF files used by SPLAT! are SRTM-derived.
When performing point-to-point terrain analysis, SPLAT! determines the antenna height above average terrain only if enough topographic data has already been loaded by the program to perform the point-to-point analysis. In most cases, this will be true, unless the site in question does not lie within 10 miles of the boundary of the topography data in memory.
When performing area prediction analysis, enough topography data is normally loaded by SPLAT! to perform average terrain calculations. Under such conditions, SPLAT! will provide the antenna height above average terrain as well as the average terrain above mean sea level for azimuths of 0, 45, 90, 135, 180, 225, 270, and 315 degrees, and include such information in the generated site report. If one or more of the eight radials surveyed fall over water, or over regions for which no SDF data is available, SPLAT! reports No Terrain for the radial paths affected.
Additional Information
The latest news and information regarding SPLAT! software is available through the official SPLAT! software web page located at: http://www.qsl.net/kd2bd/splat.html.
Authors
John A. Magliacane, KD2BD <kd2bd@amsat.org>
Creator, Lead DeveloperDoug McDonald <mcdonald@scs.uiuc.edu>
Original Longley-Rice ITM Model integrationRon Bentley <ronbentley@embarqmail.com>
Fresnel Zone plotting and clearance determination