p528

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

https://github.com/ntia/p528

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.5%) to scientific vocabulary

Keywords

cpp csharp itu propagation
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
  • Host: GitHub
  • Owner: NTIA
  • License: other
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 938 KB
Statistics
  • Stars: 28
  • Watchers: 5
  • Forks: 13
  • Open Issues: 5
  • Releases: 6
Topics
cpp csharp itu propagation
Created almost 7 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation Zenodo

README.md

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

| Variable | Type | Units | Limits | Description | |-------------------|--------|-------|--------------|--------------| | d__km | double | km | 0 <= d__km | Great circle path distance between terminals | | h_1__meter | double | meter | 1.5 <= h_1__meter <= 20 000 | Height of the low terminal | | h_2__meter | double | meter | 1.5 <= h_2__meter <= 20 000 | Height of the high terminal | | f__mhz | double | MHz | 100 <= f__mhz <= 30 000 | Frequency | | T_pol | int | | | Polarization

  • 0 = Horizontal
  • 1 = Vertical
| | time | double | | 1 <= time <= 99 | Time percentage |

Outputs

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

| Variable | Type | Units | Description | |------------|--------|-------|-------------| | d__km | double | km | Great circle path distance. Could be slightly different than specified in input variable if within LOS region | | A__db | double | dB | Basic transmission loss | | 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
| | warnings | int | | Warning 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__km | h_1__meter | h_2__meter | f__mhz | T_pol | time | A__db | | --------|--------------|--------------|----------|---------|--------|---------| | 15 | 10 | 1 000 | 500 | 0 | 50 | 110.0 | | 100 | 100 | 15 000 | 3 600 | 0 | 90 | 151.6 | | 1 500 | 15 | 10 000 | 5 700 | 0 | 10 | 293.4 | | 30 | 8 | 20 000 | 22 000 | 1 | 50 | 151.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. h1_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

Owner

  • Name: Code from NTIA
  • Login: NTIA
  • Kind: organization
  • Location: Washington DC/Boulder CO

Code produced by NTIA including OSM and ITS. ITS website available at https://its.ntia.gov

Citation (CITATION.cff)

cff-version: 1.2.0
title: 'Recommendation ITU-R P.528-5'
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: William
    family-names: Kozma
    name-suffix: Jr
    email: wkozma@ntia.gov
    affiliation: The Institute for Telecommunication Sciences
    orcid: 'https://orcid.org/0000-0002-7417-4009'
doi: 10.5281/zenodo.5911006
url: https://github.com/NTIA/p528
version: 5.1.0

GitHub Events

Total
  • Watch event: 3
  • Pull request event: 1
  • Fork event: 3
Last Year
  • Watch event: 3
  • Pull request event: 1
  • Fork event: 3

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 8
  • Total pull requests: 13
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 4
  • Total pull request authors: 6
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.85
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • wkozmaNTIA (5)
  • lsegreNTIA (1)
  • blainNTIA (1)
  • alastairUK (1)
Pull Request Authors
  • wkozmaNTIA (5)
  • alastairUK (2)
  • cheroy-ntia (2)
  • lsegreNTIA (1)
  • eeveetza (1)
  • miro77 (1)
Top Labels
Issue Labels
enhancement (5)
Pull Request Labels

Dependencies

dotnet/ITS.Propagation.P528/ITS.Propagation.P528.csproj nuget
dotnet/nuget/p528.nuspec nuget