ItuRPropagation.P676 (ITU-R Propagation v0.6.1)

Copy Markdown View Source

ITU-R P.676: Attenuation by atmospheric gases.

Implements the simplified model for gaseous attenuation due to oxygen and water vapor absorption in the frequency range 1-350 GHz.

At frequencies below ~10 GHz (e.g., L-band at 1.6 GHz), gaseous attenuation is small but non-negligible for precise link budgets. This module provides both the specific attenuation coefficients and the total slant-path attenuation through the atmosphere.

Reference

ITU-R P.676-13: Attenuation by atmospheric gases and related effects. https://www.itu.int/rec/R-REC-P.676/en

Summary

Functions

Compute total gaseous attenuation along a slant path through the atmosphere.

Compute specific attenuation due to dry air (oxygen) in dB/km.

Compute specific attenuation due to water vapor in dB/km.

Functions

slant_path_attenuation(f, el, rho \\ 7.5, p \\ 1013.25, t_c \\ 15.0)

@spec slant_path_attenuation(float(), float(), float(), float(), float()) :: float()

Compute total gaseous attenuation along a slant path through the atmosphere.

Integrates the specific attenuation over the equivalent path length through the atmosphere, accounting for the elevation angle and the finite extent of the atmosphere.

Parameters

  • frequency_ghz - Frequency in GHz
  • elevation_deg - Elevation angle in degrees (must be > 0)
  • water_vapor_density - Water vapor density in g/m^3 (default: 7.5)
  • pressure_hpa - Atmospheric pressure in hPa (default: 1013.25)
  • temperature_c - Temperature in degrees Celsius (default: 15.0)

Returns

Total gaseous attenuation along the slant path in dB.

specific_dry_air(f, p \\ 1013.25, t_c \\ 15.0)

@spec specific_dry_air(float(), float(), float()) :: float()

Compute specific attenuation due to dry air (oxygen) in dB/km.

Uses the simplified approximate model from Annex 2 of ITU-R P.676-13. Valid for frequencies from 1 to 350 GHz.

Parameters

  • frequency_ghz - Frequency in GHz (1-350)
  • pressure_hpa - Atmospheric pressure in hPa (default: 1013.25)
  • temperature_c - Temperature in degrees Celsius (default: 15.0)

Returns

Specific dry-air attenuation in dB/km.

specific_water_vapor(f, rho \\ 7.5, p \\ 1013.25, t_c \\ 15.0)

@spec specific_water_vapor(float(), float(), float(), float()) :: float()

Compute specific attenuation due to water vapor in dB/km.

Uses the simplified approximate model from Annex 2 of ITU-R P.676-13.

Parameters

  • frequency_ghz - Frequency in GHz (1-350)
  • water_vapor_density - Water vapor density in g/m^3 (default: 7.5)
  • pressure_hpa - Atmospheric pressure in hPa (default: 1013.25)
  • temperature_c - Temperature in degrees Celsius (default: 15.0)

Returns

Specific water vapor attenuation in dB/km.