This code repository contains a Java 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 is functionally identical to the reference 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. This version of the code is also implemented in SEAMCAT.
The following table describes the structure of the folder ./src/ containing the Java implementation of Recommendation ITU-R P.528.
| File/Folder | Description |
|---|---|
main/P528.java |
Java class implementing Recommendation ITU-R P.528-5 |
test/P528Test.java |
Java class implementing validation tests against the reference C++ implementation of this Recommendation for a range of input variables. |
result = btLoss(double d_km, double h_1_meter, double h_2_meter,
double f_mhz, int T_pol, double p,
boolean useReflection);
| 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 |
useReflection |
scalar boolean | % | - | Whether to include the reflected ray (default True) |
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 |
|
err |
int | Return flags / Error codes |