SPLAT!(1) KD2BD Software SPLAT!(1) NAME splat - An RF Signal Propagation, Loss, And Terrain analy- sis tool SYNOPSIS splat [-t transmitter_site.qth] [-r receiver_site.qth] [-c rx antenna height for LOS coverage analysis (feet/meters) (float)] [-L rx antenna height for Longley- Rice coverage analysis (feet/meters) (float)] [-p ter- rain_profile.ext] [-e elevation_profile.ext] [-h height_profile.ext] [-H normalized_height_profile.ext] [-l Longley-Rice_profile.ext] [-o topographic_map_file- name.ppm] [-b cartographic_boundary_filename.dat] [-s site/city_database.dat] [-d sdf_directory_path] [-m earth radius multiplier (float)] [-f frequency (MHz) for Fresnel zone calculations (float)] [-R maximum coverage radius (miles/kilometers) (float)] [-dB maximum attenuation con- tour to display on path loss maps (80-230 dB)] [-nf do not plot Fresnel zones in height plots] [-plo path_loss_out- put_file.txt] [-pli path_loss_input_file.txt] [-udt user_defined_terrain_file.dat] [-n] [-N] [-geo] [-kml] [-metric] DESCRIPTION SPLAT! is a powerful terrestrial RF propagation and ter- rain analysis tool covering the spectrum between 20 MHz and 20 GHz. SPLAT! is free software, and is designed for operation on Unix and Linux-based workstations. Redistri- bution and/or modification is permitted under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License or any later version. Adoption of SPLAT! source code in pro- prietary 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 war- ranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR- POSE. 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 determination 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 ele- vation angles (uptilt), depression angles (downtilt), antenna height above mean sea level, antenna height above average terrain, bearings and distances to known obstruc- tions, and Longley-Rice path attenuation. In addition, the minimum antenna height requirements needed to clear terrain, the first Fresnel zone, and 60% of the first Fresnel zone are also provided. SPLAT! produces reports, graphs, and high resolution topo- graphic maps that depict line-of-sight paths, and regional path loss contours through which expected coverage areas of transmitters and repeater systems can be obtained. 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. Simply typing splat on the command line will return a sum- mary of SPLAT!'s command line options: --==[ SPLAT! v1.2.0 Available Options... ]==-- -t txsite(s).qth (max of 4) -r rxsite.qth -c plot 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 (max of 5) -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 Longley-Rice 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) -n no analysis, brief report -N no analysis, no report -m earth radius multiplier -f frequency for Fresnel zone calculation (MHz) -R modify default range for -c or -L (miles/kilome- ters) -db maximum loss contour to display on path loss maps (80-230 dB) -nf do not plot Fresnel zones in height plots -plo filename of path-loss output file -pli filename of path-loss input file -udt filename of user defined terrain input file -geo generate a .geo georeference file (with .ppm out- put) -kml generate a Google Earth .kml file (for point-to- point links) -metric employ metric rather than imperial units for all user I/O 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 3-arc second topography models in the form of SPLAT Data Files (SDF files), site location files (QTH files), and Longley-Rice model parameter files (LRP files). Optional files include city location files, cartographic boundary files, user- defined terrain files, path-loss input files, and antenna radiation pattern 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 usgs2sdf utility included with SPLAT!. USGS Digital Elevation Models com- patible with this utility may be downloaded from: http://edcftp.cr.usgs.gov/pub/data/DEM/250/. Significantly better resolution and accuracy can be obtained through the use of SRTM-3 Version 2 digital ele- vation models. These models are the product of the STS-99 Space Shuttle Radar Topography Mission, and are available for most populated regions of the Earth. SPLAT Data Files may be generated from SRTM data using the included srtm2sdf utility. SRTM-3 Version 2 data may be obtained through anonymous FTP from: ftp://e0srp01u.ecs.nasa.gov:21/srtm/version2/ Despite the higher accuracy that SRTM data has to offer, some voids in the data sets exist. When voids are detected, the srtm2sdf utility replaces them with corre- sponding data found in existing SDF files (that were pre- sumably created from earlier USGS data through the usgs2sdf utility). If USGS-derived SDF data is not avail- able, voids are handled through adjacent pixel averaging, or direct replacement. SPLAT Data Files contain integer value topographic eleva- tions (in meters) referenced to mean sea level for 1-degree by 1-degree regions of the earth with a resolu- tion of 3-arc seconds. SDF files can be read in either standard format (.sdf) as generated by the usgs2sdf and srtm2sdf utilities, or in bzip2 compressed format (.sdf.bz2). Since uncompressed files can be processed 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 impor- tance 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), and the site's antenna height above ground level (AGL), each separated by a sin- gle 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 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 Longley-Rice parameter data files are required for SPLAT! to determine RF path loss in either point-to-point or area prediction mode. Longley-Rice model parameter data is read from files having the same base name as the transmit- ter site QTH file, but with a format (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. "splat.lrp" can then be edited by the user as needed. 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). In the United States, use a fraction of time parameter of 0.97 for digi- tal television (8VSB modulation), or 0.50 for analog (VSB- AM+NTSC) transmissions. For further information on these parameters, see: http://flattop.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 be imported and plotted on topo- graphic 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 sepa- rated 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.754665 A 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 anno- tations 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! gener- ated 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 fur- ther 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 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.census.gov/geo/www/cob/co2000.html#ascii and http://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) opera- tions. 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 genera- tion. Nearly all of SPLAT!'s switches may be cascaded in any order on the command line when invoking the program. SPLAT! operates in two distinct modes: point-to-point mode, and area prediction mode. Either a line-of-sight (LOS) or Longley-Rice 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 spec- ified when performing line-of-sight 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 line-of-sight terrain analysis between the transmitter specified in tx_site.qth and receiver speci- fied in rx_site.qth using a True Earth radius model, and writes a SPLAT! Obstruction 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 -metric If 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 exam- ple, 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.png SPLAT! invokes gnuplot when generating graphs. The file- name 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 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.png 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.png A 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_pro- file.png A 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 normal- ized_height_profile.png 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.png As before, adding the -metric switch forces the graphs to be plotted using metric units of measure. 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 in the direc- tion of the receiver, NJ is Johnson Noise in dBW (-136 dBW for a 6 MHz television channel), L is the path loss pro- vided 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+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 required SNR ratio (15.5 dB for ATSC (8-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.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.png 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. 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.png Another excellent PPM to PNG command-line utility 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. REGIONAL COVERAGE ANALYSIS 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). 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 -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. 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 net- work.ppm plots 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 cover- age 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!. LONGLEY-RICE PATH LOSS ANALYSIS 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 wnjt -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 range in decibels. The Longley-Rice analysis range may be modified to a user- specific value 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 Longley-Rice path loss calculations between all four corners of the area prediction map. The -db switch allows a constraint to be placed on the maximum path loss region plotted on the map. A maximum path loss between 80 and 230 dB may be specified using this switch. 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 -L 30.0 -s cities.dat -b co34_d00.dat -db 140 -o plot.ppm ANTENNA RADIATION PATTERN PARAMETERS Normalized field voltage patterns for a transmitting antenna's horizontal and vertical planes are imported automatically into SPLAT! when a Longley-Rice coverage analysis is performed. Antenna pattern data is read from a pair of files having the same base name as the transmit- ter and LRP files, but with .az and .el extensions for azimuth and elevation pattern files, respectively. Speci- fications 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 pat- tern 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.9060051 The 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 con- tained in the .az file. This is followed by azimuth head- ings (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 speci- fies 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, sepa- rated 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. Eleva- tion 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 eleva- tions below the horizon. For example, the first few lines a SPLAT! elevation pat- tern 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.185 In this example, the antenna is mechanically tilted down- ward 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. IMPORTING AND EXPORTING REGIONAL PATH LOSS CONTOUR DATA Performing a Longley-Rice coverage analysis can be a very time consuming process, especially if the analysis is repeated repeatedly to discover what effects changes to the antenna radiation patterns make to the predicted cov- erage area. This process can be expedited by exporting the Longley- Rice regional path loss contour data to an output file, modifying the path loss data externally to incorporate antenna pattern effects, and then importing the modified path loss data back into SPLAT! to rapidly produce a revised path loss map. For example, a path loss output file 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 maxi- mum path loss of 140 dB using the following syntax: splat -t kvea -L 30.0 -R 50.0 -db 140 -plo pathloss.dat SPLAT! path loss output files often exceed 100 megabytes in size. They contain information relating to the bound- aries of region they describe followed by latitudes (degrees North), longitudes (degrees West), azimuths, ele- vations (to the first obstruction), and path loss figures (dB) for a series of specific points that comprise the region surrounding the transmitter site. The first few lines of a SPLAT! path loss output file take on the fol- lowing appearance (pathloss.dat): 119, 117 ; max_west, min_west 35, 33 ; max_north, min_north 34.2265434, 118.0631104, 48.171, -37.461, 67.70 34.2270355, 118.0624390, 48.262, -26.212, 73.72 34.2280197, 118.0611038, 48.269, -14.951, 79.74 34.2285156, 118.0604401, 48.207, -11.351, 81.68 34.2290077, 118.0597687, 48.240, -10.518, 83.26 34.2294998, 118.0591049, 48.225, 23.201, 84.60 34.2304878, 118.0577698, 48.213, 15.769, 137.84 34.2309799, 118.0570984, 48.234, 15.965, 151.54 34.2314720, 118.0564346, 48.224, 16.520, 149.45 34.2319679, 118.0557632, 48.223, 15.588, 151.61 34.2329521, 118.0544281, 48.230, 13.889, 135.45 34.2334442, 118.0537643, 48.223, 11.693, 137.37 34.2339401, 118.0530930, 48.222, 14.050, 126.32 34.2344322, 118.0524292, 48.216, 16.274, 156.28 34.2354164, 118.0510941, 48.222, 15.058, 152.65 34.2359123, 118.0504227, 48.221, 16.215, 158.57 34.2364044, 118.0497589, 48.216, 15.024, 157.30 34.2368965, 118.0490875, 48.225, 17.184, 156.36 It is not uncommon for SPLAT! path loss files to contain as many as 3 million or more lines of data. Comments can be placed in the file if they are proceeded by a semicolon character. The vim text editor has proven capable of editing files of this size. Note as was the case in the antenna pattern files, nega- tive 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 trans- mitter and receiver is unobstructed. If the path between the transmitter and receiver is obstructed, then the ele- vation angle to the first obstruction is returned by SPLAT!. This is because the Longley-Rice model considers the energy reaching a distant point over an obstructed path as a derivative of the energy scattered from the top of the first obstruction, only. Since energy cannot reach the obstructed location directly, the actual elevation angle to that point is irrelevant. When modifying SPLAT! path loss files to reflect antenna pattern data, only the last column (path loss) should be amended to reflect the antenna's normalized gain at the azimuth and elevation angles specified in the file. (At this time, programs and scripts capable of performing this operation are left as an exercise for the user.) Modified path loss maps can be imported back into SPLAT! for generating revised coverage maps: splat -t kvea -pli pathloss.dat -s city.dat -b county.dat -o map.ppm SPLAT! path loss files can also be used for conducting coverage or interference studies outside of SPLAT!. 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.ppm A 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 meters Terrain 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. Fea- tures described in the user-defined terrain file that overlap previously defined features in the file are ignored by SPLAT!. 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 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 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.ppm where -R specifies the minimum radius of the map in miles (or kilometers if the -metric switch is used). If the -o switch and output filename are omitted in these operations, topographic output is written to a file named map.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) soft- ware 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.ppm The 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 analyses by invoking the -kml switch: splat -t wnjt -r kd2bd -kml The KML file generated will have the same filename struc- ture as an Obstruction 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 dis- played in green. Google Earth's navigation tools allow the user to "fly" around the path, identify landmarks, roads, and other featured content. 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. Note that SRTM elevation data, unlike older 3-arc second USGS data, extends beyond the borders of the United States. Therefore, HAAT results may not be in full com- pliance 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 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 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. RESTRICTING THE MAXIMUM SIZE OF AN ANALYSIS REGION SPLAT! reads SDF files as needed into a series of memory pages or "slots" within the structure of the program. Each "slot" holds one SDF file representing 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 holding topography data. It also sets the maximum size of the topographic maps generated 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) is available to run SPLAT! with the number of MAXSLOTS specified. In situations where available memory is low, MAXSLOTS may be reduced to 4 with the understanding that this will greatly limit the maximum 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 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 Creator, Lead Developer Doug McDonald Longley-Rice Model integration Ron Bentley Fresnel Zone plotting and clearance determination KD2BD Software 20 December 2006 SPLAT!(1)