Main Content

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');

Figure contains an axes object. The axes object with title Gaseous Attenuation for Specified Range of Frequencies, xlabel Signal Frequency (Hz), ylabel Gaseous Attenuation (dB) contains an object of type line.

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.

See Also

Objects

Functions