- Main Page
- Related Pages

QRadioPredict

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

- Uses the Irregular Terrain Model, also known as Longley-Rice
- 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 public available data
- 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
- 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
- Has an internal APRS client which can be used to display stations as a landmark
- Uses a new algorithm for glound clutter attenuation prediction, based on a ray model.Foliage and urban loss over flat or rugged terrain can be calculated on point-to-point links
- Terrain type data is taken from Corine CLC2006 shapefiles, which gives great accuracy for all of Europe, or from any other land cover data such as VMAP0
- 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
- Cropping terrain shapefiles to required dimensions requires GDAL/OGR binaries

On Debian:

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

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

## Usage

Linux: Run the bash script qradiopredict. 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. Then, you might want to add a mobile station on the map, and up to four ground stations. Set the locations for the mobile using the flightplan tab. 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 should be shapefiles obtained from the CLC2006 project, and cropped to 1 degree size. You can also use any other type of terrain coverage data, as long as it is in classic shapefile format, and they are cropped into 1 degree tiles.

You can download Europe shapefiles from http://www.eea.europa.eu/data-and-maps/data/clc-2006-vector-data-version-2. 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.

Use the included clip.py Python script to crop the shapefiles to the required size (1 degree in height and width). Needs Python 2.7, OGR and GDAL installed in order to run. Adjust the numbers in clip.py to your desired location. Fill in the application setting box with the path to your shapefiles directory (no spaces). It is not recommended to tick the clutter checkbox when generating 2D plots.

- 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

Very slow static plot generation when enabling ground clutter: to be resolved in a future release. 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)
- to crop shapefiles, you need GDAL/OGR binaries 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

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