Skip to content

Repository files navigation

Recommendation ITU-R P.528-5 - U.S. Reference Implementation

Persistent Identifier: DOI

This code repository contains the U.S. Reference Software Implementation of Recommendation ITU-R P.528. This Recommendation contains a method for predicting basic transmission loss in the frequency range 100-30 000 MHz for aeronautical 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.

Inputs

VariableTypeUnitsLimitsDescription
d__kmdoublekm0 <= d__kmGreat circle path distance between terminals
h_1__meterdoublemeter1.5 <= h_1__meter <= 20 000Height of the low terminal
h_2__meterdoublemeter1.5 <= h_2__meter <= 20 000Height of the high terminal
f__mhzdoubleMHz100 <= f__mhz <= 30 000Frequency
T_polintPolarization
  • 0 = Horizontal
  • 1 = Vertical
timedouble1 <= time <= 99Time percentage

Outputs

Outputs to P.528 are contained within a defined Results structure.

VariableTypeUnitsDescription
d__kmdoublekmGreat circle path distance. Could be slightly different than specified in input variable if within LOS region
A__dbdoubledBBasic transmission loss
A_fs__dbdoubledBFree space basic transmission loss
A_a__dbdoubledBMedian atmospheric absorption loss
theta_h1__raddoubleradElevation angle of the ray at the low terminal
propagation_modeintMode of propagation
  • 1 = Line of Sight
  • 2 = Diffraction
  • 3 = Troposcatter
warningsintWarning flags

Error Codes and Warning Flags

P.528 supports a defined list of error codes and warning flags. A complete list can be found here.

Example Values

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.

d__kmh_1__meterh_2__meterf__mhzT_poltimeA__db
15101 000500050110.0
10010015 0003 600090151.6
1 5001510 0005 700010293.4
30820 00022 000150151.1

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

C++ Software

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 2019 project file is provided for Windows users to support the build process and configuration.

C#/.NET Wrapper Software

The .NET support of P.528 consists of a simple pass-through wrapper around the native DLL. It is compiled to target .NET Framework 4.8. Distribution and updates are provided through the published NuGet package.

References

Contact

For questions, contact Billy Kozma, wkozma@ntia.gov

About

U.S. reference implementation of Recommendation ITU-R P.528 providing propagation path loss predictions for aeronautical mobile and radionavigation services using the VHF, UHF, and SHF bands

Topics

Resources

Stars

36 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages