ITU-R P.838-3: Specific attenuation model for rain.
Implements the power-law model for computing specific rain attenuation:
gamma_R = k * R^alpha (dB/km)where R is the rain rate in mm/h, and k and alpha are frequency- and polarization-dependent coefficients derived from curve-fitting to scattering calculations.
The coefficients are computed using regression fits published in ITU-R P.838-3 (03/2005), valid for frequencies from 1 to 1000 GHz.
Polarization
Coefficients are provided for horizontal and vertical linear polarization. For circular polarization (e.g., RHCP used in satellite links), the coefficients are derived as:
k_c = (k_H + k_V + (k_H - k_V) * cos^2(el) * cos(2*tau)) / 2
alpha_c = (k_H*alpha_H + k_V*alpha_V + ...) / (2*k_c)where tau = 45 degrees for circular polarization.
Reference
ITU-R P.838-3: Specific attenuation model for rain for use in prediction methods. https://www.itu.int/rec/R-REC-P.838-3-200503-I/en
Summary
Functions
Compute the k and alpha coefficients for the power-law rain attenuation model.
Compute the specific rain attenuation gamma_R in dB/km.
Types
Functions
@spec coefficients(float(), polarization(), float()) :: {float(), float()}
Compute the k and alpha coefficients for the power-law rain attenuation model.
Returns the pair {k, alpha} such that gamma_R = k * R^alpha (dB/km).
Parameters
frequency_ghz- Frequency in GHz (1-1000)polarization- Polarization::horizontal,:vertical, or:circular(default::circular)elevation_deg- Elevation angle in degrees (default: 0.0)
Returns
Tuple {k, alpha} where k is the coefficient (dimensionless) and alpha
is the exponent (dimensionless).
Examples
iex> {k, alpha} = ItuRPropagation.P838.coefficients(14.25, :horizontal)
iex> abs(k - 0.0393) < 0.005
true
iex> abs(alpha - 1.12) < 0.05
true
@spec specific_attenuation(float(), float(), polarization(), float()) :: float()
Compute the specific rain attenuation gamma_R in dB/km.
Applies the power-law relationship gamma_R = k * R^alpha, where k and alpha are frequency- and polarization-dependent coefficients from ITU-R P.838-3.
Parameters
frequency_ghz- Frequency in GHz (1-1000)rain_rate_mmh- Rain rate in mm/hpolarization- Polarization::horizontal,:vertical, or:circular(default::circular)elevation_deg- Elevation angle in degrees, used for polarization mixing (default: 0.0)
Returns
Specific rain attenuation in dB/km.
Examples
iex> gamma = ItuRPropagation.P838.specific_attenuation(12.0, 25.0, :horizontal)
iex> gamma > 1.0
true
iex> gamma = ItuRPropagation.P838.specific_attenuation(1.66, 10.0, :circular)
iex> gamma < 0.01
true