This code repository contains a MATLAB/Octave software implementation of Recommendation ITU-R P.528-5 with a propagation prediction method for aeronautical mobile and radionavigation services in the frequency range 100 - 30000 MHz.
This is a translation of the original reference C++ implementation of this Recommendation available at NTIA/p528 provided by the US National Telecommunications and Information Administration NTIA. This version of the code corresponds to the reference MATLAB/Octave version approved by ITU-R Working Party 3K and published by Study Group 3 on ITU-R SG 3 Software, Data, and Validation Web Page.
The following table describes the structure of the folder ./matlab/ containing the MATLAB/Octave implementation of Recommendation ITU-R P.528.
| File/Folder | Description |
|---|---|
tl_p528.m |
MATLAB function implementing Recommendation ITU-R P.528-5 |
validate_p528.m |
MATLAB script used to validate the implementation of Recommendation ITU-R P.528-5 against the reference results provided in the subfolder ./Data Tables |
result = tl_p528(d__km, h_1__meter, h_2__meter, f__mhz, T_pol, p);
| Variable | Type | Units | Limits | Description |
|---|---|---|---|---|
d__km |
scalar double | km | 0 < d |
Great circle path distance between terminals |
h_1__meter |
scalar double | m | 1.5 ≤ h_1__meter ≤ 20000 |
Height of the low terminal |
h_2__meter |
scalar double | m | 1.5 ≤ h_2__meter ≤ 20000 |
Height of the high terminal |
f__mhz |
scalar double | MHz | 100 ≤ f__mhz ≤ 30000 |
Frequency |
T_pol |
scalar int | Polarization 0 = horizontal 1 = vertical |
||
p |
scalar double | % | 1 ≤ p ≤ 99 |
Time percentage |
Outputs are contained within a defined result structure:
| Variable | Type | Units | Description |
|---|---|---|---|
A__db |
double | dB | Basic transmission loss |
d__km |
double | km | Great circle path distance. Could be slightly different than specified in input variable if within LOS region |
A_fs__db |
double | dB | Free-space basic transmission loss |
A_a__db |
double | dB | Median atmospheric absorption loss |
theta_h1__rad |
double | rad | Elevation angle of the ray at the low terminal |
propagation_mode |
int | Mode of propagation 1 = Line of Sight 2 = Diffraction 3 = Troposcatter |
|
rtn |
int | Return flags / Error codes |
The code was tested and runs on:
- MATLAB versions 2017a and 2020a
- Octave version 6.1.0