SPLAT!(1) KD2BD Software SPLAT!(1) NAME splat - A Signal Propagation, Loss, And Terrain analysis tool SYNOPSIS splat [-t transmitter_site.qth] [-r receiver_site.qth] [-c rx_antenna_height_for_los_coverage_analysis (feet) (float)] [-L rx_antenna_height_for_Longley-Rice_cover- age_analysis (feet) (float)] [-p terrain_profile.ext] [-e elevation_profile.ext] [-h height_profile.ext] [-l Long- ley-Rice_profile.ext] [-o topographic_map_filename.ppm] [-b cartographic_boundary_filename.dat] [-s site/city_database.dat] [-d sdf_directory_path] [-m earth_radius_multiplier (float)] [-R maximum_cover- age_range (for -c or -L) (miles) (float)] [-n] [-N] DESCRIPTION SPLAT! is a simple, yet powerful terrain analysis tool written for Unix and Linux-based workstations. SPLAT! is free software. Redistribution and/or modification is per- mitted under the terms of the GNU General Public License as published by the Free Software Foundation, either ver- sion 2 of the License or any later version. Adoption of SPLAT! source code in proprietary or closed-source appli- cations 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 war- ranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR- POSE. See the GNU General Public License for more details. INTRODUCTION SPLAT! is a terrestrial RF propagation analysis tool for the spectrum between 20 MHz and 20 GHz, and provides information of interest to communication system designers and site engineers. SPLAT! determines great circle dis- tances and bearings between sites, antenna elevation angles (uptilt), depression angles (downtilt), antenna height above mean sea level, antenna height above average terrain, bearings and distances to known obstructions, Longley-Rice path loss, and minimum antenna height requirements needed to establish line-of-sight communica- tion paths absent of obstructions due to terrain. SPLAT! produces reports, graphs, and highly detailed and care- fully annotated topographic maps depicting line-of-sight paths, path loss, and expected coverage areas of transmit- ters and repeater systems. When performing line-of-sight analysis in situations where multiple transmitter or repeater sites are employed, SPLAT! determines individual and mutual areas of coverage within the network specified. SPLAT! operates in two modes: point-to-point mode, and area prediction mode. These modes may be invoked using either line-of-sight (LOS) or Irregular Terrain (ITM) propagation models. True Earth, four-thirds Earth, or any other Earth radius may be specified by the user when per- forming line-of-sight analysis. INPUT FILES SPLAT! is a command-line driven application, and reads input data through a number of data files. Each has its own format. Some files are mandatory for successful exe- cution of the program, while others are optional. Manda- tory files include SPLAT Data Files (SDF files), site location files (QTH files), and Longley-Rice model parame- ter files (LRP files). Optional files include city/site location files, and cartographic boundary files. SPLAT DATA FILES SPLAT! imports topographic data in the form of SPLAT Data Files (SDFs) that may be generated from a number of infor- mation sources. In the United States, SPLAT Data Files are most often derived from U.S. Geological Survey Digi- tal Elevation Models (DEMs) using the usgs2sdf utility included with SPLAT!. USGS Digital Elevation Models com- patible with this utility are available at no cost via the Internet at: http://edc- sgs9.cr.usgs.gov/glis/hyper/guide/1_dgr_dem- fig/index1m.html. SPLAT Data Files contain topographic elevations to the nearest meter above mean sea level for 1-degree by 1-degree regions of the earth with a resolution of 3-arc seconds. SDF files can be read in either standard format (.sdf) as generated by the usgs2sdf utility, or in bzip2 compressed format (.sdf.bz2). Since uncompressed files can be slightly faster to load than compressed files, SPLAT! searches for the needed SDF data in uncompressed format first. If such data cannot located, then SPLAT! tries to read the data in bzip2 compressed format. If no compressed SDF files can be found for the region requested, SPLAT! assumes the region is over water or out- side the United States, 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 USGS Digital Elevation Model Data since they are devoid of any land masses. 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 (in degrees North), the site's longitude (in degrees West), and the site's antenna height above ground level (AGL). A single line-feed char- acter separates each field. 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 deci- mal format (74.6889) or degree, minute, second (DMS) for- mat (74 41 20.0). For example, a site location file describing television station WNJT, Trenton, NJ (wnjt.qth) might read as fol- lows: WNJT 40.2833 74.6889 990.00 Each transmitter and receiver site analyzed by SPLAT! must be represented by its own site location (QTH) file. LONGLEY-RICE PARAMETER (LRP) FILES SPLAT! imports Longley-Rice model parameter data from files having the same base name as the transmitter site QTH file, but carrying a .lrp extension, thus providing simple and accurate correlation between these associated data sets. The format for the Longley-Rice model parame- ter files is as follows (wnjt.lrp): 15.000 ; Earth Dielectric Constant (Relative per- mittivity) 0.005 ; Earth Conductivity (Siemens per meter) 301.000 ; Atmospheric Bending Constant (N-units) 700.000 ; Frequency in MHz (20 MHz to 20 GHz) 5 ; Radio Climate (5 = Continental Temper- ate) 0 ; Polarization (0 = Horizontal, 1 = Verti- cal) 0.5 ; Fraction of situations (50% of loca- tions) 0.5 ; Fraction of time (50% of the time) If an LRP file corresponding to the tx_site QTH file can- not be found, SPLAT! scans the current working directory for the file "splat.lrp". If this file cannot be found, then the default parameters listed above will be assigned by SPLAT! and a corresponding "splat.lrp" file containing this data will be written to the current working direc- tory. Typical Earth dielectric constants and conductivity values are as follows: Dielectric Constant Conductiv- ity 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.001 Radio 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 sea The 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 final two parameters in the .lrp file correspond to the statistical analysis provided by the Longley-Rice model. In this example, SPLAT! will return the maximum path loss occurring 50% of the time (fraction of time) in 50% of situations (fraction of situations). Use a fraction of time parameter of 0.97 for digital television, 0.50 for analog in the United States. Isotropic antennas are assumed. For further information on these parameters, see: http://elbert.its.bldrdoc.gov/itm.html and http://www.softwright.com/faq/engineering/prop_long- ley_rice.html CITY LOCATION FILES The names and locations of cities, tower sites, or other points of interest may imported and be plotted on topo- graphic maps generated by SPLAT!. SPLAT! imports the names of cities and locations from ASCII files containing the location's name, the location's latitude, and the location's 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 longi- tude 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.754665 A total of five separate city data files may be imported at a time. There is no limit to the size of these files. SPLAT! reads city data sequentially, and plots only those locations whose positions do not conflict with previously plotted locations when generating topographic maps. 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 cityde- coder utility included with SPLAT!. Such data is avail- able free of charge via the Internet at: http://www.cen- sus.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 topo- graphic 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: http://www.cen- sus.gov/geo/www/cob/co2000.html#ascii and http://www.cen- sus.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 also lends itself well to scripted opera- tions. SPLAT!'s CPU and memory scheduling priority may be adjusted 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 genera- tion. Nearly all of SPLAT!'s switches may be cascaded in any order on the command line when invoking the program to include all the features described by those switches when performing an analysis. POINT-TO-POINT ANALYSIS SPLAT! may be used to perform line-of-sight terrain analy- sis between two specified site locations. For example: splat -t tx_site.qth -r rx_site.qth invokes a terrain analysis between the transmitter speci- fied in tx_site.qth and receiver specified in rx_site.qth, and writes a SPLAT! Obstruction Report to the current working directory. The report contains details of the transmitter and receiver sites, and identifies the loca- tion of any obstructions detected during the analysis. 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. If the antenna must be raised a significant amount, this determination may take some time. are optional when invoking the program. SPLAT! automati- cally reads all SPLAT Data Files necessary to conduct the terrain analysis between the sites specified. By default, the location of SDF files is assumed to be in the current working directory unless a ".splat_path" file is present under the user's home directory. If this file is present, it must contain the full directory path to the location of all the SDF files required by SPLAT! to perform its analy- sis for the region containing the transmitter and receiver sites specified. The path in this file must be of the form of a single line of ASCII text: /opt/splat/sdf/ and may be generated with any text editor. The default path specified in the $HOME/.splat_path file may be over- ridden at any time using the -d switch: splat -t tx_site -r rx_site -d /cdrom/sdf/ 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.gif SPLAT! invokes gnuplot when generating graphs. The file- name extension specified to SPLAT! determines the format of the graph produced. .gif will produce a 640x480 color GIF graphic file, while .ps or .postscript will produce postscript output. Output in formats such as PNG, Adobe Illustrator, AutoCAD dxf, LaTeX, and many others are available. Please consult gnuplot, and gnuplot's documen- tation 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.gif The graph produced using this switch illustrates the ele- vation 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 eleva- tion 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.gif The Earth's curvature is clearly evident when plotting height profiles. A graph showing Longley-Rice path loss may be plotted using the -l switch: splat -t tx_site -r rx_site -l path_loss_profile.gif When performing path loss profiles, a Longley-Rice Model Path Loss Report is generated by SPLAT! in the form of a text file with a .lro filename extension. The report con- tains bearings and distances between the transmitter and receiver, as well as the Longley-Rice path loss for vari- ous distances between the transmitter and receiver loca- tions. The mode of propagation for points along the path are given as Line-of-Sight, Single Horizon, Double Hori- zon, Diffraction Dominant, and Troposcatter Dominant. To determine the signal-to-noise (SNR) ratio at remote location where random Johnson (thermal) noise is the pri- mary limiting factor in reception: SNR=T-NJ-L+G-NF where T is the ERP of the transmitter in dBW, NJ is John- son Noise in dBW (-136 dBW for a 6 MHz TV channel), L is the path loss provided by SPLAT! in dB (as a positive num- ber), 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+GT where 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 hori- zon). To compute how much more signal is available over the min- imum to necessary to achieve a specific signal-to-noise ratio: Signal_Margin=SNR-S where S is the minimum desired SNR ratio (15.5 dB for ATSC 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 in blue. SPLAT! generated topographic maps are 24-bit TrueColor Portable PixMap (PPM) images, and 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. An excellent command-line utility capable of con- verting SPLAT! PPM graphic files to PNG files is wpng, and is available at: http://www.libpng.org/pub/png/book/sources.html. As a last resort, PPM files may be compressed using the bzip2 utility, and read directly by The GIMP in this format. Topographic output is specified using the -o switch: splat -t tx_site -r rx_site -o topo_map.ppm The .ppm extension on the output filename is assumed by SPLAT!, and is optional. In this example, topo_map.ppm will illustrate the loca- tions 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_map Up 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_map In 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.gif In 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. DETERMINING REGIONAL COVERAGE SPLAT! can analyze a transmitter or repeater site, or net- work of sites, and predict the regional coverage for each site specified. In this mode, SPLAT! can generate a topo- graphic map displaying the geometric line-of-sight cover- age 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. SPLAT! switches from point-to- point analysis mode to area prediction mode when the -c switch is invoked as follows: splat -t tx_site -c 30.0 -s cities.dat -b co34_d00.dat -o tx_coverage In 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). 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 -c 30.0 -m 1.333 -s cities.dat -b coun- ties.dat -o map.ppm An earth radius multiplier of 1.333 instructs SPLAT! to use the "four-thirds earth" model for line-of-sight propa- gation analysis. Any appropriate earth radius multiplier may be selected by the user. When invoked in area prediction mode, 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 in the directions of 0, 45, 90, 135, 180, 225, 270, and 315 degrees azimuth. If the -c switch is replaced by a -L switch, a Longley- Rice path loss map for a transmitter site may be gener- ated: splat -t tx_site -L 30.0 -s cities.dat -b co34_d00.dat -o path_loss_map In this mode, SPLAT! generates a multi-color map illus- trating expected signal levels (path loss) in areas sur- rounding the transmitter site. A legend at the bottom of the map correlates each color with a specific path loss level in decibels. Since Longley-Rice area prediction map generation is quite CPU intensive, provision for limiting the analysis range is provided by the -R switch. The argument must be given in miles. If a range wider than the generated topographic map is specified, SPLAT! will perform Longley-Rice path loss calculations between all four corners of the area prediction map. DETERMINING MULTIPLE REGIONS OF 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 30.0 -o network.ppm plots the regional line-of-sight coverage of site1, site2, site3, and site4 based on a receive antenna located 30.0 feet above ground level. A topographic map is then writ- ten 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 val- ues 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!. 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 fol- lows: splat -t tx_site -r rx_site -n -o topo_map.ppm If no text report is desired, then the -N switch is used: splat -t tx_site -r rx_site -N -o topo_map.ppm If the -o switch and output filename are omitted when using either the -n or -N switches, output is written to a file named map.ppm in the current working directory by default. DETERMINATION OF ANTENNA HEIGHT ABOVE AVERAGE TERRAIN SPLAT! determines antenna height above average terrain (HAAT) according to the procedure defined by Federal Com- munications 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 avail- able), then those radials are omitted from the calculation of average terrain. If part of a radial extends over a body of water or over land outside the United States, then only that part of the radial lying over United States land is used in the determination of average terrain. 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 topogra- phy 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 site report generated. If one or more of the eight radials surveyed fall over water or land outside the United States, SPLAT! reports No Ter- rain for those radial paths. SETTING THE MAXIMUM SIZE OF AN ANALYSIS REGION SPLAT! reads SDF files into a series of memory "slots" as required within the structure of the program. Each "slot" holds one SDF file. Each SDF file represents a one degree by one degree region of terrain. A #define MAXSLOTS statement in the first several lines of splat.cpp sets the maximum number of "slots" available for topography data. It also sets the maximum size of the topographic maps gen- erated by SPLAT!. MAXSLOTS is set to 9 by default. If SPLAT! produces a segmentation fault on start-up with this default, it is an indication that not enough RAM and/or virtual memory (swap space) are available to run SPLAT! with this number of MAXSLOTS. In this case, MAXSLOTS may be reduced to 4, although this will greatly limit the max- imum region SPLAT! will be able to analyze. If 118 megabytes or more of total memory (swap space plus RAM) is available, then MAXSLOTS may be increased to 16. This will permit operation over a 4-degree by 4-degree region, which is sufficient for single antenna heights in excess of 10,000 feet above mean sea level, or point-to-point distances of over 1000 miles. ADDITIONAL INFORMATION Invoking SPLAT! without any arguments will display all the command-line options available with the program along with a brief summary of each. 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. FILES $HOME/.splat_path User-generated file containing the default path to the directory containing the SDF data files. splat.lrp Default Longley-Rice model parameters. AUTHORS John A. Magliacane, KD2BD Creator, Lead Developer Doug McDonald Longley-Rice Model integration KD2BD Software 20 January 2004 SPLAT!(1)