Radio propagation prediction and simulation tool for VHF-UHF
C++ C Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Antennas
MapGraphics
QRadioPredict
data
.gitignore
CHANGELOG
Doxyfile
QRadioPredict.pro
README.md
callgrind.out.5119
clip.py
db_structure.sql
material_radio_properties.txt

README.md

QRadioPredict

QRadioPredict is an experimental software for VHF-UHF propagation prediction and radio coverage analysis. Currently it works on Linux and has been ported to Windows 32 bit (Vista) and has the following features:

  • Uses the Irregular Terrain Model, also known as Longley-Rice and the newer ITWOM v3.0
  • Can be used as a repeater site planing tool
  • Static signal plot coverage, distance configurable
  • Up to four ground stations and one mobile station
  • Uses OpenStreetMap tiles or public sattelite imagery as background
  • Supports usage of high resolution sattelite and Google Maps data
  • Elevation profiles are taken from NASA 1 degree SRTM 3 arcsec elevation files (*.hgt) obtainable from various sources. The height data has a precision of 90 meters.
  • Predicts radio signal quality on different frequencies simultaneously
  • Can be connected to Flightgear to use its powerful radio capabilities
  • Displays APRS stations according to a time filter configurable by the user and filtered by a callsign prefix and/or SSID using an internal APRS client
  • Foliage and urban signal loss over flat or rugged terrain can be calculated on point-to-point links and now also in signal plots
  • Terrain type data is taken from Corine CLC2006 raster data, which gives an accuracy of 100 meters for all of Europe, support for other data such as VMAP0 is planned
  • Can use antenna radiation patterns generated by 4NEC2 or other NEC2 compatible antenna modelling programs
  • Is completely integrated with Flightgear, the open source flight simulator, which has real-time radio prediction capabilities

QRadioPredict can operate as a traditional standalone program with static plots and radio links, or can be connected to Flightgear, the free flight simulator, in order to use it's powerful radio simulation.

Download

QRadioPredict is distributed as source code package and binaries for Linux and Windows. Please see https://sourceforge.net/projects/qradiopredict/ for downloads. On Linux, to run QRadioPredict you need to have installed the following:

  • Qt >= 4.7
  • libsqlite 3
  • libGDAL >= 1.9.2 with GEOS bindings
  • GEOS
  • libboost

On Debian:

apt-get install gdal-bin libgdal1 libgdal1-dev libgeos-3.3.3 libgeos-dev libsqlite3-0

On Ubuntu (16.04 LTS):

apt-get install gdal-bin libgdal1i libgdal1-dev libgeos-dev libsqlite3-0 libboost-all-dev

MacOSX: you can build the program from source, no binaries are available.

Usage

Linux: place the material_radio_properties.txt and propagation.sqlite files in the same directory as the qradiopredict executable.

The first time you start QRadioPredict you should open Edit -> Settings and set your local preferences and paths. You can choose if to use the newer ITWOM prediction model or use ITM. There is now an additional checkbox which if it is ticked, will make the plot more precise at large distances, but will also take longer to generate.

You may find that sometimes ITM generates more accurate predictions than ITWOM or viceversa. This is the reason for the dual support of both algorithms.

You can have one mobile station on the map, and up to four ground stations. Set the locations for the mobile using the flightplan/waypoints tab. For point to point predictions you are required to have at least one waypoint. Each ground station tab has a button which generates 2D plots on the map. Set the opacity of the plot using the slider on the top right side, and the plot distance using the filed just below the opacity slider. Run the program standalone, or connect it to Flightgear by pressing the "Start Flightgear" button and then after it has started, the connect button. Send all data to Flightgear by pressing the third button, which should start your simulation.

The terrain data format is NASA SRTM 3 arcsec, in HGT files which are 2884802 bytes in size. Tou can obtain the data from NASA sites like http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/

Newer versions with holes filled and contours seamless integrated are vailable from CGIAR (SRTM v4) http://www.cgiar-csi.org/data/srtm-90m-digital-elevation-database-v4-1.

After downloading the height files, fill in the setting box with the path to the directory where they are placed (no spaces). Note: you need to extract the files before placing them in this directory. Only files with the extension .hgt are usable by the program.

The clutter data consists of one raster file for the whole of Europe obtained from the CLC2006 project.

You can download Europe Corine data from http://www.eea.europa.eu/data-and-maps/data/corine-land-cover-2006-raster-3/clc-2006-100m/g100_06.zip. After unzipping the files, set the path to the TIF file inside Settings. Alternatively, if you want to use global data from the global VMAP0 program as well as other sources, you can obtain them through the USGS interface http://landcover.usgs.gov/globallandcover.php.

Usage of other types of landcover in the form of shapefiles is possible, but support for this feature has been removed temporarily. There are plans to use OpenStreetMap building data in the future. If you are interested in this feature, you should contact the author.

  • Placing the mobile station on the map: click the top left button, the choose a location on the slippy map and double click on the map. You can't delete the mobile station from the map, but you can reposition it anywhere.
  • Placing a ground station: click on the second button from top left, the choose a map location and doubleclick on the map. You can then proceed to edit the station parameters in the tab on the left. Make sure to fill in the relevant fields, and press the Save button lower left. You can only have maximum four ground stations at a time. For now, antenna type and radiation pattern is not yet implemented. If you want to reposition a ground station, fill in the coordinates in the bottom left boxes and click Save.
  • Placing a waypoint: click the third button (which looks like a flag), choose a location on the map and doubleclick.

You can delete a waypoint or a ground station by pressing the red X button on the lower left. When running standalone, the second button from the standalone group will sequence to the next waypoint.

Connecting to Flightgear: you should first read the Flightgear documentation at http://wiki.flightgear.org/Radio_propagation to understand how does the flight simulator fit into the radio environment. Note that the public available version may not be usable with QRadioPredict, due to stale (older) code. If you wish to use the latest Flighgear radio code, you should contact the author for details on obtaining and compiling from source.

Known problems

See the bug tracker on Github: https://github.com/QDeltaSoft/QRadioPredict/issues

Getting help and reporting bugs

You can either file a ticket at https://sourceforge.net/projects/qradiopredict/ or open a thread in the forums.

Installation from source

The source code is hosted on Github: https://github.com/QDeltaSoft/qradiopredict

To compile qradiopredict from source you need the following dependencies:

  • Qt >=4.7
  • libsqlite 3
  • libboost
  • libGDAL >= 1.7.0 compiled with GEOS (if using clutter attenuation)
  • optionally Qt Creator (qradiopredict works with Qt 5) On Debian:
apt-get install gdal-bin libgdal1 libgdal1-dev libgeos-3.3.3 libgeos-dev libsqlite3-0

QRadioPredict comes with a simple qmake build setup. It can be compiled from within Qt Creator or in a terminal:

$ git clone https://github.com/QDeltaSoft/qradiopredict.git qradiopredict
$ cd qradiopredict
$ mkdir build
$ cd build
$ qmake-qt4 ..
$ make

To create the database (which needs to be located in the same directory with the executable):

$ cat db_structure.sql | sqlite3 propagation.sqlite

Also copy material_radio_properties.txt in the same directory with the executable.

To build in debug mode add "CONFIG+=debug" to the qmake step above. There are also some other qmake options, see the qradiopredict.pro file.

Credits and License

QRadioPredict is designed and developed by Adrian Musceac YO8RZZ, and it is licensed under the GNU General Public License version 2. The Irregular Terrain Model was originally developed by the U.S. Department of Commerce NTIA/ITS - Institute for Telecommunication Sciences and converted to C++ and improved by several others. The MapGraphics library was coded by Raptorswing and comes with a FreeBSD license. Following people and organisations have contributed:

  • Mathias Froehlich and others, the geodesy math code
  • John A. Maglicane, GPL version of ITWOM
  • Holger Schurig, documenting the ITM source code in a good fashion
  • Raptorswing, providing the MapGraphics library, upon which this program is based

Also thanks to Durk Talsma, Flightgear developer, who encouraged me to contribute my code, and Torsten Dreyer, for giving me a detailed lesson of Flightgear internal working.

Some of the icons are from the GNOME and KDE icon themes.

Let me know if somebody or something is missing from the list!

Adrian YO8RZZ