ITU-R Recommendation P.528-4 - U.S. Reference Implementation
This code repository contains the U.S. Reference Software Implementation of ITU-R Recommendation P.528. This Recommendation contains a method for predicting basic transmission loss in the frequency range 125-15 500 MHz for aeronautical and satellite services. The software implements Annex 2 of Rec P.528, the Step-by-Step method to computing propagation loss for air-to-ground paths.
Companion software (p528-gui) provides a Graphical User Interface (GUI) that can be used with this software implementation.
||Path distance between terminals|
||Height of the low terminal|
||Height of the high terminal|
Outputs to P.528 are contained within a defined
||double||km||Path distance. Could be slightly different than specified in input variable if within LOS region|
||double||dB||Total path loss|
||double||dB||Free space path loss|
||int||Mode of propagation.
Possible return codes, including the corresponding defined constant name as defined in
||Path distance must be >= 0 km|
||Low terminal height must be >= 1.5 meters|
||High terminal height must be >= 1.5 meters|
||Low terminal must be <= high terminal height|
||Frequency must be >= 125 MHz|
||Frequency must be <= 15 500 MHz|
||Time percentage must be >= 0.01|
||Time percentage must be <= 0.99|
||Terminals are occupying the same point in space (they are the same height and 0 km apart)|
||Warning that the diffraction and troposcatter model may not be physically consistent with each other. Caution should be taken when using the result|
||Warning that the entered frequency is less than the lower limit specified in P.528. Caution should be taken when using the result|
Note: Return codes over 0xFF0 signify warnings occured in the calculation. Use bitwise OR operations to diagnosis, as more than one warning could be possible.
The below table includes a select set of example inputs and outputs for testing purposes. The P.528 CSV data files contain an extensive set of validation example values.
|100||100||15 000||3 600||0.9||-151.2|
|1 500||15||10 000||5 700||0.1||-299.5|
Notes on Code Style
- In general, variables follow the naming convention in which a single underscore denotes a subscript (pseudo-LaTeX format), where a double underscore is followed by the units, i.e. h_1__meter.
- Variables are named to match their corresponding mathematical variables in the underlying Recommendation text.
- Wherever possible, equation numbers are provided. It is assumed that a user reviewing this source code would have a copy of the Recommendation's text available as a primary reference.
Configure and Build
The software is designed to be built into a DLL (or corresponding library for non-Windows systems). The source code can be built for any OS that supports the standard C++ libraries. A Visual Studio 2017 project file is provided for Windows users to support the build process and configuration.
For questions, contact Billy Kozma, (303) 497-6082, firstname.lastname@example.org