Earth-Space Propagation Losses
Propagation environments have significant effects on the design of Earth-space links for satellite communications systems. The ionospheric effects on Earth-space links become significant at frequencies below 1 GHz. Effects of the nonionized atmosphere become critical above about 1 GHz and for low elevation angles. Recommendation ITU-R P.618 [1] predicts propagation parameters, which are required in the planning of Earth-space systems operating in either the Earth-to-space or space-to-Earth direction. P.618 deals with only the effects of the troposphere such as rain attenuation, gaseous attenuation, precipitation and cloud attenuation, and attenuation due to tropospheric scintillation.
In some cases, you might want to provide continuous, high-quality transmission of voice,
data, and television signals. In these cases, you can use the p618Config
object to model
tropospheric effects such as rain attenuation, gaseous attenuation, cloud and fog attenuation,
and attenuation due to tropospheric scintillation. You can then use the p618PropagationLosses
function, which initializes configuration parameters settings, to calculate the Earth-space
propagation losses, cross-polarization discrimination, and sky noise temperature of the ground
station antenna.
Heavy rainfall causes large attenuation values on an Earth-space link. Site diversity enables the rerouting of link traffic to alternate Earth stations, which improves the system reliability. Site diversity systems are classified as one of these options.
Balanced: The attenuation thresholds on the two links are equal.
Unbalanced: The attenuation thresholds on the two links are not equal.
In the case of two Earth stations existing, you can use the p618SiteDiversityConfig
object to model the parameters required for the calculation of the outage probability due to
rain attenuation. Intense rain can cause large attenuation values on an Earth-space link.
Then, you can use the p618SiteDiversityOutage
function, which initializes configuration parameters
settings, to calculate the outage probability due to rain attenuation with site
diversity.
Earth-Space Propagation Losses
This example requires MAT-files with digital maps from International Telecommunication Union (ITU) documents. If the files are not available on the path, execute these commands to download and untar the MAT-files.
maps = exist('maps.mat','file'); p836 = exist('p836.mat','file'); p837 = exist('p837.mat','file'); p840 = exist('p840.mat','file'); matFiles = [maps p836 p837 p840]; if ~all(matFiles) if ~exist('ITURDigitalMaps.tar.gz','file') url = 'https://www.mathworks.com/supportfiles/spc/P618/ITURDigitalMaps.tar.gz'; websave('ITURDigitalMaps.tar.gz',url); untar('ITURDigitalMaps.tar.gz'); else untar('ITURDigitalMaps.tar.gz'); end addpath(cd); end
This example shows how to parameterize and calculate propagation losses for the design of Earth-space systems.
The propagation losses calculated by the p618PropagationLosses
function are:
Attenuation by atmospheric gases
Attenuation by rain
Precipitation and cloud attenuation
Attenuation due to tropospheric scintillation
Total atmospheric attenuation
Earth-space propagation losses are modeled to depend on the frequency, geographic location, and elevation angle. Based on the propagation conditions, at elevation angles above 10°, only the attenuations caused by atmospheric gases, rain, cloud, and tropospheric scintillation are significant.
Configure the Earth-Space Propagation Parameters
Create a default P.618 configuration object. Change property values, and then display the object properties.
cfg = p618Config; cfg.Frequency = 25e9; % Signal frequency in Hz cfg.ElevationAngle = 45; cfg.Latitude = 30; % North direction cfg.Longitude = 120; % East direction cfg.TotalAnnualExceedance = 0.001; % Time percentage of excess for the total % Attenuation per annum cfg.AntennaEfficiency = 0.65; disp(cfg);
p618Config with properties: Frequency: 2.5000e+10 ElevationAngle: 45 Latitude: 30 Longitude: 120 GasAnnualExceedance: 1 CloudAnnualExceedance: 1 RainAnnualExceedance: 1 ScintillationAnnualExceedance: 1 TotalAnnualExceedance: 1.0000e-03 PolarizationTiltAngle: 0 AntennaDiameter: 1 AntennaEfficiency: 0.6500
Calculate the Propagation Losses in Light Rainfall
Find the propagation losses (pl
), cross-polarization discrimination (xpd
), and sky noise temperature (tsky
) in light rainfall of 1 mm/hr, specifying an Earth station height of 0.5 km.
The fields of propagation losses, pl
, describe these attenuations.
Ag
: Gaseous attenuation (in dB)Ac
: Cloud and fog attenuation (in dB)Ar
: Rain attenuation (in dB)As
: Attenuation due to tropospheric scintillation (in dB)At
: Total atmospheric attenuation (in dB)
[pl,xpd,tsky] = p618PropagationLosses(cfg, ... 'StationHeight',0.5, ... 'WaterVaporDensity',2.8, ... 'TotalColumnarContent',1.4, ... 'RainRate',1)
pl = struct with fields:
Ag: 1.6393
Ac: 1.2010
Ar: 0.0811
As: 0.3010
At: 6.6514
xpd = 73.1657
tsky = 214.6132
Outage Probability Due to Rain Attenuation with Site Diversity
This example requires MAT-files with digital maps from ITU documents. If the files are not available on the path, execute these commands to download and untar the MAT-files.
maps = exist('maps.mat','file'); p836 = exist('p836.mat','file'); p837 = exist('p837.mat','file'); p840 = exist('p840.mat','file'); matFiles = [maps p836 p837 p840]; if ~all(matFiles) if ~exist('ITURDigitalMaps.tar.gz','file') url = 'https://www.mathworks.com/supportfiles/spc/P618/ITURDigitalMaps.tar.gz'; websave('ITURDigitalMaps.tar.gz',url); untar('ITURDigitalMaps.tar.gz'); else untar('ITURDigitalMaps.tar.gz'); end addpath(cd); end
This example shows how to calculate outage probability due to rain attenuation with site diversity.
The p618SiteDiversityOutage
function applies to unbalanced and balanced systems and computes the joint probability of exceeding attenuation thresholds.
Configure P.618 Site Diversity Parameters
Create a default P.618 site diversity configuration object. Change property values, and then display the object properties.
cfgSD = p618SiteDiversityConfig; cfgSD.Frequency = 25e9; % Signal frequency in Hz cfgSD.Latitude = [30 60]; % North direction cfgSD.Longitude = [120 150]; % East direction cfgSD.PolarizationTiltAngle = [-90 90]; cfgSD.AttenuationThreshold = [7 7]; % Attenuation threshold on the two links cfgSD.SiteDistance = 50; % Separation between the two sites disp(cfgSD);
p618SiteDiversityConfig with properties: Frequency: 2.5000e+10 ElevationAngle: [52.4099 52.4852] Latitude: [30 60] Longitude: [120 150] PolarizationTiltAngle: [-90 90] SiteDistance: 50 AttenuationThreshold: [7 7]
Calculate Outage Probability
Calculate the outage probability due to rain attenuation for the specified site diversity configuration.
outage = p618SiteDiversityOutage(cfgSD, ... 'RainAnnualExceedances',[0.01 0.01 0.03 0.05 0.1 0.2], ... 'RainProbability1',0.3, ... 'RainProbability2',0.4); disp(outage);
0.0030
Attenuation Due to Atmospheric Gases
This example requires MAT-files with digital maps from ITU documents. If the files are not available on the path, execute these commands to download and untar the MAT-files.
maps = exist('maps.mat','file'); p836 = exist('p836.mat','file'); p837 = exist('p837.mat','file'); p840 = exist('p840.mat','file'); matFiles = [maps p836 p837 p840]; if ~all(matFiles) if ~exist('ITURDigitalMaps.tar.gz','file') url = 'https://www.mathworks.com/supportfiles/spc/P618/ITURDigitalMaps.tar.gz'; websave('ITURDigitalMaps.tar.gz',url); untar('ITURDigitalMaps.tar.gz'); else untar('ITURDigitalMaps.tar.gz'); end addpath(cd); end
This example shows how to calculate gaseous attenuation for a specified range of frequencies when designing the Earth-space systems.
Gaseous attenuation is modeled to depend on the signal frequency, elevation angle, Earth station height, and water vapor density. Based on the propagation conditions, gaseous attenuation can be significant with frequencies above 10 GHz and neglected at frequencies below 10 GHz.
Configure P.618 Propagation Parameters
Create a default P.618 configuration object. Change property values, and then display the object properties.
cfg = p618Config; cfg.Latitude = 51.5; % North direction cfg.Longitude = -0.14; % West direction cfg.GasAnnualExceedance = 10; % Time percentage of excess for the gaseous attenuation per annum cfg.ElevationAngle = 31.076;
Set the signal frequency range to the interval from 5 to 55 GHz.
freq_range = 5e9:1e9:55e9;
Calculate Gaseous Attenuation
Calculate the attenuation due to atmospheric gases for the specified configuration parameters.
gaseous_attenuation = zeros(size(freq_range)); for n = 1:numel(freq_range) cfg.Frequency = freq_range(n); pl = p618PropagationLosses(cfg, ... 'StationHeight',0.031, ... 'Temperature',283.6, ... 'Pressure',1009.48, ... 'WaterVaporDensity',13.79); gaseous_attenuation(n) = pl.Ag; end
Plot Gaseous Attenuation
On a logarithmic scale, plot the gaseous attenuation for the given range of frequencies.
loglog(freq_range,gaseous_attenuation); grid on; xlabel('Signal Frequency (Hz)'); ylabel('Gaseous Attenuation (dB)'); title('Gaseous Attenuation for Specified Range of Frequencies');
Propagation Losses for Specified Range of Elevation Angle
This example requires MAT-files with digital maps from ITU documents. If the files are not available on the path, execute these commands to download and untar the MAT-files.
maps = exist('maps.mat','file'); p836 = exist('p836.mat','file'); p837 = exist('p837.mat','file'); p840 = exist('p840.mat','file'); matFiles = [maps p836 p837 p840]; if ~all(matFiles) if ~exist('ITURDigitalMaps.tar.gz','file') url = 'https://www.mathworks.com/supportfiles/spc/P618/ITURDigitalMaps.tar.gz'; websave('ITURDigitalMaps.tar.gz',url); untar('ITURDigitalMaps.tar.gz'); else untar('ITURDigitalMaps.tar.gz'); end addpath(cd); end
This example shows how to parameterize and calculate Earth-space propagation losses for a specified range of elevation angles when designing Earth-space systems.
Configure P.618 Propagation Parameters
Create a default P.618 configuration object. Change property values, and then display the object properties.
cfg = p618Config; cfg.Frequency = 14.25e9; % Signal frequency in Hz cfg.Latitude = 51.5; % North direction cfg.Longitude = -0.14; % West direction
Set the elevation angle range to the interval from 5 to 90 degrees.
elev_range = 5:5:90;
Calculate Earth-Space Propagation Losses
Calculate the Earth-space propagation losses for the specified configuration parameters.
elevation_angle = size(elev_range); gaseous_attenuation = zeros(elevation_angle); cloud_attenuation = zeros(elevation_angle); rain_attenuation = zeros(elevation_angle); scintillation_attenuation = zeros(elevation_angle); total_attenuation = zeros(elevation_angle); for n = 1:numel(elev_range) cfg.ElevationAngle = elev_range(n); pl = p618PropagationLosses(cfg, ... 'StationHeight',0.031, ... 'Temperature',283.6, ... 'Pressure',1009.48, ... 'WaterVaporDensity',13.79); gaseous_attenuation(n) = pl.Ag; cloud_attenuation(n) = pl.Ac; rain_attenuation(n) = pl.Ar; scintillation_attenuation(n) = pl.As; total_attenuation(n) = pl.At; end
Plot the Earth-space propagation losses
Plot the various propagation losses (in dB) for the specified range of elevation angles.
plot(elev_range,gaseous_attenuation,'--'); hold on; plot(elev_range,cloud_attenuation,'--'); hold on; plot(elev_range,rain_attenuation,'--'); hold on; plot(elev_range,scintillation_attenuation,'--'); hold on; plot(elev_range,total_attenuation); legend('Gaseous','Cloud','Rain','Scintillation','Total'); grid on; xlabel('Elevation Angle (degrees)'); ylabel('Attenuation (dB)'); title('Earth-Space Propagation Losses Versus Elevation Angle');
Propagation Losses with Time Percentage of Exceedance
This example requires MAT-files with digital maps from ITU documents. If the files are not available on the path, execute these commands to download and untar the MAT-files.
maps = exist('maps.mat','file'); p836 = exist('p836.mat','file'); p837 = exist('p837.mat','file'); p840 = exist('p840.mat','file'); matFiles = [maps p836 p837 p840]; if ~all(matFiles) if ~exist('ITURDigitalMaps.tar.gz','file') url = 'https://www.mathworks.com/supportfiles/spc/P618/ITURDigitalMaps.tar.gz'; websave('ITURDigitalMaps.tar.gz',url); untar('ITURDigitalMaps.tar.gz'); else untar('ITURDigitalMaps.tar.gz'); end addpath(cd); end
This example shows how to parameterize and calculate Earth-space propagation losses when the percentage of time attenuation value is exceeded when designing the Earth-space systems.
Configure Earth-Space Propagation Parameters
Create a P.618 configuration object. Change property values, and then display the object properties.
cfg = p618Config; cfg.Frequency = 19.5e9; % Signal frequency in Hz cfg.ElevationAngle = 36.6142654; cfg.Latitude = 46.2208; % North direction cfg.Longitude = 6.137; % East direction cfg.AntennaDiameter = 1.2; cfg.AntennaEfficiency = 0.65;
Set the time percentage of excess for the gaseous attenuation, cloud attenuation, rain attenuation, scintillation, and total atmospheric attenuation.
annual_exceedance =[5 3 2 1 0.5 0.3 0.2 0.1 0.05 0.03 0.02 0.01 0.005 0.003 0.002 0.001];
Calculate Earth-Space Propagation Losses
Calculate the Earth-space propagation losses for the specified configuration parameters.
excess=size(annual_exceedance); gaseous_attenuation = zeros(excess); cloud_attenuation = zeros(excess); rain_attenuation = zeros(excess); scintillation=zeros(excess); total_attenuation = zeros(excess); for n = 1:numel(annual_exceedance) exceedance_value = annual_exceedance(n); cfg.GasAnnualExceedance = max(exceedance_value,0.1); % Supported range is 0.1% to 99% cfg.CloudAnnualExceedance = max(exceedance_value,0.1); % Supported range is 0.1% to 99% cfg.RainAnnualExceedance = exceedance_value; % Supported range is 0.001% to 5% cfg.ScintillationAnnualExceedance = max(exceedance_value,0.01); % Supported range is 0.01% to 5% cfg.TotalAnnualExceedance = exceedance_value; % Supported range is 0.001% to 50% pl = p618PropagationLosses(cfg,'StationHeight',0.412); gaseous_attenuation(n) = pl.Ag; cloud_attenuation(n) = pl.Ac; rain_attenuation(n) = pl.Ar; scintillation(n) = pl.As; total_attenuation(n) = pl.At; end
Plot Earth-Space Propagation Losses
Plot the various propagation losses (in dB) when the percentage of time attenuation value is exceeded.
loglog(annual_exceedance,gaseous_attenuation,'--'); hold on; loglog(annual_exceedance,cloud_attenuation,'--'); hold on; loglog(annual_exceedance,rain_attenuation,'--'); hold on; loglog(annual_exceedance,scintillation,'--'); hold on; loglog(annual_exceedance,total_attenuation); legend('Gaseous','Cloud','Rain','Scintillation','Total'); grid on; xlabel('Exceedance Probability (%)'); ylabel('Attenuation (dB)'); title('Atmospheric Losses for Time Percentage of Excess per Annum');
References
[1] International Telecommunication Union, ITU-R Recommendation P.618 (12/2017)
[2] International Telecommunication Union, ITU-R Recommendation P.676 (08/2019)
[3] International Telecommunication Union, ITU-R Recommendation P.1511 (08/2019)
[4] International Telecommunication Union, ITU-R Recommendation P.1510 (06/2017)
[5] International Telecommunication Union, ITU-R Recommendation P.835 (12/2017)
[6] International Telecommunication Union, ITU-R Recommendation P.836 (12/2017)
[7] International Telecommunication Union, ITU-R Recommendation P.840 (08/2019)
[8] International Telecommunication Union, ITU-R Recommendation P.837 (06/2017)
[9] International Telecommunication Union, ITU-R Recommendation P.453 (08/2019)
[10] International Telecommunication Union, ITU-R Recommendation P.839 (09/2013)
[11] International Telecommunication Union, ITU-R Recommendation P.838 (03/2005)
[12] Validation examples for Study Group 3 Earth-Space propagation prediction methods, Version: 5.0 (P), ITU Radio communication Study Groups.