This code repository contains a MATLAB/Octave software implementation of Recommendation ITU-R P.2001-4 with a general purpose wide-range terrestrial propagation model in the frequency range 30 MHz to 50 GHz.
This version of the code corresponds to the reference version approved by ITU-R Working Party 3M and published on ITU-R SG 3 Software, Data, and Validation Web Page as digital supplement to Recommendation ITU-R P.2001.
The following table describes the structure of the folder ./matlab/ containing the MATLAB/Octave implementation of Recommendation ITU-R P.2001.
| File/Folder | Description |
|---|---|
tl_p2001.m |
MATLAB function implementing Recommendation ITU-R P.2001-4 |
initiate_digital_maps.m |
MATLAB script that processes the ITU-R maps and generates the necessary functions. It needs to be run prior to using this software implementation. For details, see Integrating ITU Digital Products. |
validate_p2001.m |
MATLAB scripts used to validate this implementation using a set of test terrain profiles provided in ./validation_examples/ |
./validation_examples/ |
Folder containing validation examples for Recommendation ITU-R P.2001-4 |
./validation_results/ |
Folder containing the results of the validation tests using tl_p2001.m on the terrain profiles that corespond to the profiles defined in ./validation_examples/ |
./private/ |
Folder containing the functions called by tl_2001.m and validate_p2001*.m |
This software uses ITU digital products that are integral part of Recommendations. These products must not be reproduced or distributed without explicit written permission from the ITU.
-
Download and extract the required maps to
./private/maps:- From ITU-R P.2001-4:
DN_Median.txtDN_SubSlope.txtDN_SupSlope.txtdndz_01.txtEsarain_Mt_v5.txtEsarain_Pr6_v5.txtEsarain_Beta_v5.txtFoEs0.1.txtFoEs01.txtFoEs10.txtFoEs50.txth0.txtsurfwv_50_fixed.txtTropoClim.txt
- From ITU-R P.2001-4:
-
Run the script
initiate_digital_maps.m
- Ensure all files are placed in
./private/mapsbefore running the script. - The script processes the maps, which are critical for the software’s functionality.
- The resulting
*.mfiles to for retrieving and interpolating data from from the maps.are placed in the folder./private.
p2001 = tl_p2001(d, h, z, GHz, Tpc, Phire, Phirn, Phite, Phitn, Hrg, Htg, Grx, Gtx, FlagVP);
| Variable | Type | Units | Limits | Description |
|---|---|---|---|---|
d |
array double | km | 0 < max(d) ≤ ~1000 |
Terrain profile distances (in the ascending order from the transmitter) |
h |
array double | m (asl) | Terrain profile heights | |
z |
array int | 1 - Sea, 3 - Coastal Land, 4 - Inland | Zone code | |
GHz |
scalar double | GHz | 0.3 ≤ GHz ≤ 50 |
Frequency |
Tpc |
scalar double | % | 0 < Tpc < 100 |
Percentage of time (average year) for which the predicted basic transmission loss is not exceeded |
Phire |
scalar double | deg | -180 ≤ Phire ≤ 180 |
Receiver longitude, positive to east |
Phirn |
scalar double | deg | -90 ≤ Phirn ≤ 90 |
Receiver latitude, positive to north |
Phite |
scalar double | deg | -180 ≤ Phite ≤ 180 |
Transmitter longitude, positive to east |
Phitn |
scalar double | deg | -90 ≤ Phitn ≤ 90 |
Transmitter latitude, positive to north |
Hrg |
scalar double | m | 0 < hrg < ~8000 |
Receiving antenna height above ground |
Htg |
scalar double | m | 0 < htg < ~8000 |
Transmitting antenna height above ground |
Grg |
scalar double | dBi | Receiving antenna gain in the direction of the ray to the transmitting antenna | |
Gtg |
scalar double | dBi | Transmitting antenna gain in the direction of the ray to the receiving antenna | |
flagVP |
scalar int | 1, 0 | Signal polarisation: 1 - vertical, 0 - horizontal |
The output is a structure with 122 fields (described in detail in tl_p2001.m) containing intermediate and final results, including the following basic transmission losses:
| Variable | Type | Units | Description |
|---|---|---|---|
Lb |
double | dB | Basic transmission loss not exceeded Tpc % time |
Lbfs |
double | dB | Free-space basic transmission loss |
Ld |
double | dB | Diffraction loss |
Lba |
double | dB | Basic transmission loss associated with anomalous propagation |
Lbs |
double | dB | Troposcatter basic transmission loss |
Lbe1, Lbe2 |
double | dB | Sporadic-E basic transmission loss for 1- and 2-hop paths, respectively |
... |
... |
The code was tested and runs on:
- MATLAB versions 2017a and 2020a
- Octave version 6.1.0