ITS.ITU.PSeries.P2108 1.0
Part of the NTIA/ITS Propagation Library
|
Interface header for this library. More...
Go to the source code of this file.
Functions | |
ReturnCode | ITS::ITU::PSeries::P2108::AeronauticalStatisticalModel (const double f__ghz, const double theta__deg, const double p, double &L_ces__db) |
The Earth-space and aeronautical statistical clutter loss model as described in Section 3.3. | |
ReturnCode | ITS::ITU::PSeries::P2108::TerrestrialStatisticalModel (const double f__ghz, const double d__km, const double p, double &L_ctt__db) |
Statistical clutter loss model for terrestrial paths as described in Section 3.2. | |
ReturnCode | ITS::ITU::PSeries::P2108::HeightGainTerminalCorrectionModel (const double f__ghz, const double h__meter, const double w_s__meter, const double R__meter, const ClutterType clutter_type, double &A_h__db) |
Height gain terminal correction model as described in Section 3.1. | |
char * | ITS::ITU::PSeries::P2108::GetReturnStatusCharArray (const int code) |
Get an error message string (as C-style string) from a return code. | |
void | ITS::ITU::PSeries::P2108::FreeReturnStatusCharArray (char *c_msg) |
Free the memory allocated by GetReturnStatusCharArray. | |
std::string | ITS::ITU::PSeries::P2108::GetReturnStatus (const int code) |
Get an error message string from a return code. | |
double | ITS::ITU::PSeries::P2108::cot (const double x) |
Helper function to calculate \( \cot(x) \). | |
double | ITS::ITU::PSeries::P2108::InverseComplementaryCumulativeDistribution (const double q) |
Compute the inverse complementary cumulative distribution function approximation as described in Recommendation ITU-R P.1057. | |
double | ITS::ITU::PSeries::P2108::Equation_2a (const double nu) |
Equation (2a) of Section 3.1. | |
double | ITS::ITU::PSeries::P2108::Equation_2b (const double K_h2, const double h__meter, const double R__meter) |
Equation (2b) of Section 3.1. | |
ReturnCode | ITS::ITU::PSeries::P2108::Section3p1_InputValidation (const double f__ghz, const double h__meter, const double w_s__meter, const double R__meter) |
Input validation for the height gain terminal correction model (Section 3.1). | |
ReturnCode | ITS::ITU::PSeries::P2108::Section3p2_InputValidation (const double f__ghz, const double d__km, const double p) |
Input validation for the statistical clutter loss model for terrestrial paths (Section 3.2). | |
ReturnCode | ITS::ITU::PSeries::P2108::Section3p3_InputValidation (const double f__ghz, const double theta__deg, const double p) |
Inputs-in-range validation for the Earth-space and aeronautical statistical clutter loss model (Section 3.3). | |
double | ITS::ITU::PSeries::P2108::TerrestrialStatisticalModelHelper (const double f__ghz, const double d__km, const double p) |
Compute the clutter loss. | |
Variables | |
constexpr double | ITS::ITU::PSeries::P2108::PI = 3.14159265358979323846 |
Approximate value of \( \pi \). | |
Interface header for this library.
Default values of the representative clutter height \( R \), in meters, by clutter type.
These should be used as inputs to the height gain terminal correction model when local information is not available.
Return Codes defined by this software (0-127)
PROPLIB_API ReturnCode ITS::ITU::PSeries::P2108::AeronauticalStatisticalModel | ( | const double | f__ghz, |
const double | theta__deg, | ||
const double | p, | ||
double & | L_ces__db ) |
The Earth-space and aeronautical statistical clutter loss model as described in Section 3.3.
This model is applicable when one end of the path is within man-made clutter and the other end is a satellite, aeroplane, or other platform above the Earth.
Frequency range: \( 10 < f < 100 \) (GHz)
Elevation angle range: \( 0 < \theta < 90 \) (degrees)
Percentage locations range: \( 0 < p < 100 \) (%)
[in] | f__ghz | Frequency, in GHz |
[in] | theta__deg | Elevation angle, in degrees |
[in] | p | Percentage of locations, in % |
[out] | L_ces__db | Additional loss (clutter loss), in dB |
double ITS::ITU::PSeries::P2108::cot | ( | const double | x | ) |
Helper function to calculate \( \cot(x) \).
The calculation is implemented simply as \( 1 / \cot(x) \).
[in] | x | Argument, in radians |
double ITS::ITU::PSeries::P2108::Equation_2a | ( | const double | nu | ) |
Equation (2a) of Section 3.1.
[in] | nu | Dimensionless diffraction parameter |
double ITS::ITU::PSeries::P2108::Equation_2b | ( | const double | K_h2, |
const double | h__meter, | ||
const double | R__meter ) |
Equation (2b) of Section 3.1.
[in] | K_h2 | Intermediate parameter |
[in] | h__meter | Antenna height, in meters |
[in] | R__meter | Representative clutter height, in meters |
PROPLIB_API void ITS::ITU::PSeries::P2108::FreeReturnStatusCharArray | ( | char * | c_msg | ) |
Free the memory allocated by GetReturnStatusCharArray.
[in] | c_msg | The status message C-style string to delete |
std::string ITS::ITU::PSeries::P2108::GetReturnStatus | ( | const int | code | ) |
Get an error message string from a return code.
[in] | code | Integer return code. |
PROPLIB_API char * ITS::ITU::PSeries::P2108::GetReturnStatusCharArray | ( | const int | code | ) |
Get an error message string (as C-style string) from a return code.
[in] | code | Integer return code. |
PROPLIB_API ReturnCode ITS::ITU::PSeries::P2108::HeightGainTerminalCorrectionModel | ( | const double | f__ghz, |
const double | h__meter, | ||
const double | w_s__meter, | ||
const double | R__meter, | ||
const ClutterType | clutter_type, | ||
double & | A_h__db ) |
Height gain terminal correction model as described in Section 3.1.
This method gives the median loss due to different terminal surroundings. This model can be applied to both transmitting and receiving ends of the path.
Frequency range: \( 0.03 \leq f \leq 3 \) (GHz)
Antenna height range: \( 0 \leq h \) (m)
Street width range: \( 0 < w_s \) (m)
Representative clutter height range: \( 0 < R \) (m)
[in] | f__ghz | Frequency, in GHz |
[in] | h__meter | Antenna height, in meters |
[in] | w_s__meter | Street width, in meters |
[in] | R__meter | Representative clutter height, in meters |
[in] | clutter_type | Clutter type |
[out] | A_h__db | Additional loss (clutter loss), in dB |
double ITS::ITU::PSeries::P2108::InverseComplementaryCumulativeDistribution | ( | const double | q | ) |
Compute the inverse complementary cumulative distribution function approximation as described in Recommendation ITU-R P.1057.
This approximation is sourced from Formula 26.2.23 in Abramowitz & Stegun. This approximation has an error of \( |\epsilon(p)| < 4.5\times 10^{-4} \)
q | Percentage, \( 0.0 < q < 1.0 \) |
std::out_of_range | if the input is outside the range [0.0, 1.0] |
ReturnCode ITS::ITU::PSeries::P2108::Section3p1_InputValidation | ( | const double | f__ghz, |
const double | h__meter, | ||
const double | w_s__meter, | ||
const double | R__meter ) |
Input validation for the height gain terminal correction model (Section 3.1).
Note: Input parameter 'clutter_type' is validated in the main function's switch statement through the use of default to simplify code structure.
[in] | f__ghz | Frequency, in GHz |
[in] | h__meter | Antenna height, in meters |
[in] | w_s__meter | Street width, in meters |
[in] | R__meter | Representative clutter height, in meters |
ReturnCode ITS::ITU::PSeries::P2108::Section3p2_InputValidation | ( | const double | f__ghz, |
const double | d__km, | ||
const double | p ) |
Input validation for the statistical clutter loss model for terrestrial paths (Section 3.2).
[in] | f__ghz | Frequency, in GHz |
[in] | d__km | Path distance, in km |
[in] | p | Percentage of locations, in % |
ReturnCode ITS::ITU::PSeries::P2108::Section3p3_InputValidation | ( | const double | f__ghz, |
const double | theta__deg, | ||
const double | p ) |
Inputs-in-range validation for the Earth-space and aeronautical statistical clutter loss model (Section 3.3).
Returns SUCCESS
if all parameters are valid. Otherwise, invalid inputs will return unique error codes.
Frequency range: \( 10 < f < 100 \) (GHz)
Elevation angle range: \( 0 < \theta < 90 \) (degrees)
Percentage locations range: \( 0 < p < 100 \) (%)
[in] | f__ghz | Frequency, in GHz |
[in] | theta__deg | Elevation angle, in degrees |
[in] | p | Percentage of locations, in % |
PROPLIB_API ReturnCode ITS::ITU::PSeries::P2108::TerrestrialStatisticalModel | ( | const double | f__ghz, |
const double | d__km, | ||
const double | p, | ||
double & | L_ctt__db ) |
Statistical clutter loss model for terrestrial paths as described in Section 3.2.
This model can be applied for urban and suburban clutter loss modeling.
Frequency range: \( 0.5 \leq f \leq 67 \) (GHz)
Path distance range: \( 0.25 \leq d \) (km) (must be \( \geq 1 \) to apply the correction at both ends of the path)
Percentage locations range: \(0 < p < 100 \) (%)
[in] | f__ghz | Frequency, in GHz |
[in] | d__km | Path distance, in km |
[in] | p | Percentage of locations, in % |
[out] | L_ctt__db | Additional loss (clutter loss), in dB |
double ITS::ITU::PSeries::P2108::TerrestrialStatisticalModelHelper | ( | const double | f__ghz, |
const double | d__km, | ||
const double | p ) |
Compute the clutter loss.
[in] | f__ghz | Frequency, in GHz |
[in] | d__km | Path distance, in km |
[in] | p | Percentage of locations, in % |