man splat (Commandes) - A Signal Propagation, Loss, And Terrain analysis tool
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_coverage_analysis (feet) (float)] [-p terrain_profile.ext] [-e elevation_profile.ext] [-h height_profile.ext] [-l Longley-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_coverage_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 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 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
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 distances 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 communication paths absent of obstructions due to terrain. SPLAT! produces reports, graphs, and highly detailed and carefully annotated topographic maps depicting line-of-sight paths, path loss, and expected coverage areas of transmitters 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 performing 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 execution of the program, while others are optional. Mandatory files include SPLAT Data Files (SDF files), site location files (QTH files), and Longley-Rice model parameter 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 information sources. In the United States, SPLAT Data Files are most often derived from U.S. Geological Survey Digital Elevation Models (DEMs) using the usgs2sdf utility included with SPLAT!. USGS Digital Elevation Models compatible with this utility are available at no cost via the Internet at: http://edcsgs9.cr.usgs.gov/glis/hyper/guide/1_dgr_demfig/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 outside 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 character 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 decimal format (74.6889) or degree, minute, second (DMS) format (74 41 20.0).
For example, a site location file describing television station WNJT, Trenton, NJ (wnjt.qth) might read as follows: 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 parameter files is as follows (wnjt.lrp): 15.000 ; Earth Dielectric Constant (Relative permittivity) 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 Temperate) 0 ; Polarization (0 = Horizontal, 1 = Vertical) 0.5 ; Fraction of situations (50% of locations) 0.5 ; Fraction of time (50% of the time) 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 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 directory.
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.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_longley_rice.html
CITY LOCATION FILES
The names and locations of cities, tower sites, or other points of interest may imported and be plotted on topographic 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 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. 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 citydecoder utility included with SPLAT!. Such data is available free of charge via the Internet at: http://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: 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 also lends itself well to scripted operations. 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 generation. 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 analysis between two specified site locations. For example:
splat -t tx_site.qth -r rx_site.qth
invokes a terrain analysis between the transmitter specified 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 location 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.
.qth extensions are assumed by SPLAT! for QTH files, and are optional when invoking the program. SPLAT! automatically 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 analysis 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 overridden 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 filename 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 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.gif
The 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.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 contains bearings and distances between the transmitter and receiver, as well as the Longley-Rice path loss for various distances between the transmitter and receiver locations. The mode of propagation for points along the path are given as Line-of-Sight, Single Horizon, Double Horizon, Diffraction Dominant, and Troposcatter Dominant.
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 - NF
where T is the ERP of the transmitter in dBW, NJ is Johnson Noise in dBW (-136 dBW for a 6 MHz TV 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 + 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 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 - 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 converting 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 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_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 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. 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 counties.dat -o map.ppm
An 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 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 generated:
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 illustrating expected signal levels (path loss) in areas surrounding 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 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!.
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.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 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. 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 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 site report generated. If one or more of the eight radials surveyed fall over water or land outside the United States, SPLAT! reports No Terrain 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 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) 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 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
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 <kd2bd@amsat.org>
- Creator, Lead Developer
- Doug McDonald <mcdonald@scs.uiuc.edu>
- Longley-Rice Model integration