|Description||Enabling real time realistic radio calculations depending on terrain, landcover, transmitter station, receivers station. Everything configurable via the property tree. Using Flightgear as a general purpose, 3D, radio signal propagation and terrain analysis tool.|
|Contributor(s)||User:Adrian (since 09/2011),|
|Status||Under active development as of 08/2013(project is separated from mainline source)|
Implement a realistic radio propagation model inside FlightGear
The code and algorithms described below enable the following features in Flightgear, which to the author's knowledge are unique for a conventional flight simulator:
- realistic radio reception of ATC and AI aircraft messages.
- realistic radio reception of VOR stations, making radio navigation more interesting and realistic in hilly/mountainous terrain.
- realistic range for DME equipment, reception is now very different to VOR signals due to the very high frequency used. You could have full deflection on the NAV display and no DME data until you pass a minor obstruction.
- realistic reception of TACAN stations, including mobile stations (AI tankers etc.). Conditions similar to DME.
- mostly realistic radio reception of localizer and glideslope signals, making landings more interesting for certain airports.
- configuration and realistic reception of radio beacons located anywhere in the 3D world, while presenting calculated signal values according to different official guidelines, including but not limited to the FAA.
We are currently looking into updating the code base, to ensure that things still work with FG 3.0+
Using Flightgear as a general purpose, 3D, radio signal propagation and terrain analysis tool
The purpose of this document is to evaluate the possible usage of the Flightgear engine as a tool for RF signal loss prediction over a rough terrain, using geographical features embedded inside terrain data and well know propagation prediction algorithms.
There are currently a number of freeware and open-source applications that perform RF signal loss analysis using data available to the general public (elevation data, landcover etc.). Well known and used are Radiomobile , a Windows application by Roger Coudé, VE2DBE and Splat! (multiple platform) by John A. Magliacane, KD2BD.
A common point of these applications is the usage of the Irregular Terrain Model (also known as Longley-Rice) which is a propagation model developed by the U.S. Department of Commerce NTIA/ITS - Institute for Telecommunication Sciences and improved by several others (notably ITWOM  by Sidney E. Shumate, code available to the public on a limited usage license, copyright Givens-Bell ).
It is a general purpose model that can be applied to a large variety of engineering problems. The model, which is based on electromagnetic theory and on statistical analysis of both terrain features and radio measurements, predicts the median attenuation of a radio signal as a function of distance and the variability of the signal in time and in space.  It is currently used among others by NASA, Alcatel-Lucent, US Army, University of Massachusetts and amateur radio operators around the world, and is widely considered the best propagation model for frequencies between 50 - 5000 Mhz freely available to the public. One of the most active users of the Irregular Terrain Model is the US FCC (Federal Communications Commission), which is currently applying the updated version of this model for broadcast station regulations 
The implementation of radio propagation analysis is mostly finished inside Flightgear. Since the terrain used by this open-source flight simulator contains both elevation information and landcover data, it seems especially suited for a 3D tool to predict RF signal levels, both for aviation navigational aids and radio communications, and standalone as a point-to-point radio link analysis between two radio stations. Flightgear allows the user to place models on the terrain at specific locations, and to setup internal properties via a simple XML format. Rather complex radio receivers and transmitters can be simulated using the Nasal scripting language or via an external utility, as well as an UI to perform signal level reading and modify receiver and transmitter physical characteristics. The 3D aspect is also interesting, since it allows one to perform predicted signal level reading at different locations while inside the simulator, using visual cues to place the radio equipment on the terrain. Since this open-source flight simulator is capable of running on multiple platforms, including GNU/Linux, Microsoft Windows and MacOS, its availability is not limited to one operating system.
Most of new generation Flightgear terrain uses NASA SRTM v3  elevation data, which has a distance of 90 meters between elevation points. This is considered accurate enough for most signal analysis, although more detailed elevation data from topographical maps, ASTER DEM or other sources can be acquired. Default landcover in Flightgear comes from VMAP0  layers, with more accurate geodata being available from national and international programs, such as Europe's flagship program, the CLC2006 "Corine" landcover project. Landcover data is used to analyse path loss and improve predicted signal levels over specific types of terrain, but should be cross-checked with real-world RF signal readings took at the same locations. Antenna radiation patterns obtained using the free tool NEC2x can be used for both transmitters and receivers. Patterns obtained from other applications can be used too, as long as they are converte to the rather simple text format which is used by the Flightgear radio code. Also, data from Flightgear's realistic atmospheric and weather simulation could be taken into account when path loss analysis is perfomed.
Request for information
If you are involved with maintenance or have detailed information about navaid transmitter capabilities, the author would appreciate if you listed in the discussion page the following information:
- usual transmitter power for localizer (known to be between 15-25 W) and glideslope (known to be between 5-10 W ???) equipment.
- usual transmitter power for DME (not VOR) equipment: various source suggest from 50 W to 1 kW (I guess these values are ERP, since reported antenna gains are 8 dBi on vertical polarization) .
- usual receiver sensitivity (in dBm) for DME equipment (-95 dBm taken from source).
- usual antenna types and gains for localizer and glideslope equipment: for localizer the ERP (effective radiated power) is known from various sources as approx 100 W, thus assuming 7-9 dBi antenna gain, glideslope antenna estimated gain 10 dBi .
- most sources describe a 16 dB front-to-back ratio, thus being consistent with the default pattern used and shown in the picture above. Corrections welcome.
- usual localizer/glideslope/DME antenna types and gains for various aircraft, for usage by aircraft developers (most sources show V-type dipole).
In order to use the point-to-point routine of the Longley-Rice model, a terrain profile between the two radio stations is generated by sampling the terrain with a configurable distance between points (default is 90 meters, which is equal to SRTM 3 arcsec precision). This terrain profile is fed to the ITM routines, together with some other parameters: transmitter output power, receiver sensitivity, antenna heights above terrain. These routines are the core of the implementation, and incorporate improvements made by J. D. McDonald, John A. Magliacane and Holger Schurig to the original code.
The result is signal attenuation in dB along the direct path. The ITM functions will determine for us if the radio propagation is line-of-sight, diffraction dominant or tropospheric scatter. For diffraction propagation, it also determines if it's single horizon or double horizon. This information will further be used in calculating ground clutter obstruction for different terrain types. The most frequent obstructions that affect radio signals are built-up areas and tall vegetation. By calculating the interference of ground clutter inside the first Fresnel zone, we can determine signal losses with average precision. In order to do so, we need two more numbers in the equations: clutter height above terrain, and clutter density. These are stored inside a plain text file located inside the Materials/ directory, allowing for more terrain types to be added and properties to be changed by the user. The aim is to make these two factors as configurable as possible to the user, in order to be able to adapt them to local measured conditions.
The radio stations parameters are also completely configurable by the user, by setting internal properties, via Nasal scripting or otherwise. For ATC comms, at the current state, some basic assumptions are made about transmitter power, receiver sensitivity and antenna heights: these are based on standard ATC interactions, but this will be changed in the future to support a wider variety of signals. It might even be possible to simulate realistic ACARS transmissions, as well as transponder responses with realistic range and signal quality (introduce errors based on signal quality etc.)
To enable the radio code, use the following command line flags:
- enables the main radio code
- enables the ground clutter attenuation calculations
- enables the antenna radiation patterns
- disables performance mode (useful for propagation study)
- use the Sqlite database for landcover types and radio properties. It is named material_radio_properties.sqlite and placed in $FGROOT
- distance between terrain profile points. Defaults to 90 meters which is the accuracy of SRTM elevation grids. A smaller value coupled with disabling performance mode will have an impact on the performance and will only be useful in very high resolution terrain. Use a larger value to relieve performance issues.
- The loading distance of terrain. For stations which are beyond the maximum configured terrain loading distance, path profiles will not be accurate and some errors are likely to occur in the signal loss figures. The experimental terrain sampler based on an elevation database attempts to get rid of tile loading distance as a factor in this. It is a work in progress though, while reliable it needs a separate toolset to generate the database. To be used only for very special purposes (ground radar?).
- The current model does not take into account signal reflection from objects or terrain features, nor refraction caused by atmospheric conditions.
- The diffraction calculations within the ITM library are not very precise and are likely to overestimate losses caused by diffraction over a sharp edge, or when take-off angles are beyond a certain limit. This has been corrected in the new ITWOM, which is available to the public with commercial restrictions. 
- Clutter loss calculation are only estimative and should only be taken into account after careful calibration done with measurement equipment at the sites.
Currently implemented features within the Flightgear engine
- the code has been transitioned to a more efficient and performance-friendly subsystem structure
- point-to-point path loss calculations over rough terrain using the ITM library for air traffic control stations to pilot communication. Also AI to pilot reception.
- point-to-point path loss calculations using the ITM library for VOR/Localizer and Glideslope stations .
- point-to-point path loss calculations using the ITM library for DME stations . Can be affected by some issues with stations sunk in the ground (request test info).
- point-to-point path loss calculations using the ITM library for TACAN stations, including mobile stations (AI tankers etc.) . Can be affected by some issues with stations sunk in the ground (request test info).
- for VHF/UHF stations beyond a reasonable terrain loading distance, automatic transition to path loss calculation over a smooth round earth using alternative free space signal attenuation equations
- RF link budget calculations using transmitter power, receiver sensitivity, antenna gain and height above terrain, taking into account typical values from various specifications
- experimental feature: usage of detailed landcover in RF propagation prediction (ground clutter path loss)
- landcover radio properties are stored into an easy to read and modify txt file in the Materials/ directory, allowing for more terrain types and radio properties to be changed by the user
- signal loss due to polarization mismatch
- simple signal strength indicator (Instrument for signal level reading)
- far-field antenna radiation patterns generated with 4nec2
- radio transmitter beacons can be placed with the model tool inside 3D space, models placed with the UFO tool will use a separate tree to avoid conflicts with other types of models (weather, etc). In the future it will be possible to define and change properties for multiple beacons from the same panel instrument.
- using the property tree, a radio station can be defined with Nasal scripts
- support for multiple radio stations running at the same time: navaids, ATC comms, beacons
- efficiency mode: the number of terrain data points decrease proportionally with the distance to the station.
- calculation of electrical field strength in uV/m, received signal strength in uV and dBm, as required by official guidelines.
Features which still need to be implemented
- Figure out what to do about VOR/DME/TAC stations sunk into the ground? Possible bug affecting them, maybe only on custom terrain.
- reception of ACARS ground messages via VHF radios
- usage of weather simulation and atmospheric conditions which affect radio propagation: tropospheric ducting, cloud backscatter etc.
- simulate realistic transponder response
- realistic ground-to-air radar
- reliable toolchain for generating data used with the alternative terrain sampler.
Qt GUI control
- A Qt-based GUI with OSM map controls and sattelite imagery is available to control all aspects of Flightgear's RF planning features. See the main article, QRadioPredict
Mailing list discussions