Main Content

p618Config

Create P.618 configuration object

Since R2021a

    Description

    The p618Config object sets the P.618 configuration parameters required for the calculation of the Earth-space propagation losses, cross-polarization discrimination, and sky noise temperature, as defined in the ITU-R P.618 recommendation [1].

    Creation

    Description

    cfgP618 = p618Config creates a P.618 configuration object with default property values.

    cfgP618 = p618Config(Name,Value) specifies Properties using one or more name-value pair arguments. Enclose each property name in quotes. For example, p618Config('GasAnnualExceedance',10,'AntennaEfficiency',0.65) configures a P.618 configuration object with 10% average annual time percentage of excess for gaseous attenuation and 0.65 antenna efficiency.

    example

    Properties

    expand all

    Signal frequency in Hz, specified as a scalar in the range [1e9, 55e9].

    Data Types: double | single

    Elevation angle in degrees, specified as a scalar in the range [5, 90].

    Data Types: double | single

    Earth station latitude in degrees, specified as a scalar in the range [-90, 90]. A positive value corresponds to a North latitude, and a negative value corresponds to a South latitude.

    Data Types: double | single

    Earth station longitude in degrees, specified as a scalar in the range [-180, 180]. A positive value corresponds to East longitude, and a negative value corresponds to West longitude.

    Data Types: double | single

    Average annual time percentage of excess for the gaseous attenuation, specified as a scalar in the range [0.1, 99]. This property calculates the gaseous attenuation, which satisfies the exceedance condition, in terms of the percentage of an average year.

    Note

    The fraction of time during which a preselected threshold is exceeded in an average year is referred to as the annual time percentage of excess.

    Data Types: double | single

    Average annual time percentage of excess for the cloud attenuation, specified as a scalar in the range [0.1, 99]. This property calculates the cloud attenuation, which satisfies the exceedance condition, in terms of the percentage of an average year.

    Data Types: double | single

    Average annual time percentage of excess for the rain attenuation, specified as a scalar in the range [0.001, 5]. This property calculates the rain attenuation, which satisfies the exceedance condition, in terms of the percentage of an average year.

    Data Types: double | single

    Average annual time percentage of excess for the tropospheric scintillation, specified as a scalar in the range [0.01, 50]. This property calculates the tropospheric scintillation, which satisfies the exceedance condition, in terms of the percentage of an average year.

    Data Types: double | single

    Average annual time percentage of excess for the total attenuation, specified as a scalar in the range [0.001, 50]. This property calculates the total attenuation, which satisfies the exceedance condition, in terms of the percentage of an average year.

    Data Types: double | single

    Polarization tilt angle in degrees, specified as a scalar in the range [-90, 90].

    Data Types: double | single

    Physical diameter of the earth station antenna in meters, specified as a positive scalar.

    Data Types: double | single

    Antenna efficiency of the earth station antenna, specified as a positive scalar.

    Data Types: double | single

    Object Functions

    expand all

    p618PropagationLossesCalculate Earth-space propagation losses, cross-polarization discrimination, and sky noise temperature

    Examples

    collapse all

    Create a default P.618 configuration object.

    cfg = p618Config;

    Specify the signal frequency as 25 GHz, elevation angle as 45 degrees, and antenna efficiency as 0.65. Set the time percentage of excess for the total attenuation per annum as 0.001.

    cfg.Frequency = 25e9;
    cfg.ElevationAngle = 45;
    cfg.AntennaEfficiency = 0.65;
    cfg.TotalAnnualExceedance = 0.001;  

    Set the earth station direction.

    cfg.Latitude = 30;   % North direction
    cfg.Longitude = 120; % East direction

    Display the properties of the configuration object.

    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
    

    This example requires MAT-files with digital maps from ITU documents. If they are not available on the path, execute the following commands to download and unzip 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

    Create a default P.618 configuration object.

    cfg = p618Config;

    Specify the time percentage of excess for the rain attenuation per annum as 0.01 and the time percentage of excess for the total attenuation per annum as 0.001.

    cfg.RainAnnualExceedance = 0.01;
    cfg.TotalAnnualExceedance = 0.001;

    Calculate the propagation losses, cross-polarization discrimination, and sky noise temperature.

    [pl,xpd,tsky] = p618PropagationLosses(cfg)
    pl = struct with fields:
        Ag: 0.2269
        Ac: 0.4552
        Ar: 6.7981
        As: 0.2633
        At: 15.6091
    
    
    xpd = 32.8876
    
    tsky = 267.4689
    

    This example requires MAT-files with digital maps from ITU documents. If they are not available on the path, execute the following commands to download and unzip 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

    Create a P.618 configuration object that occupies a signal frequency of 20 GHz.

    cfg = p618Config('Frequency',20e9);

    Calculate the propagation losses in a light rainfall of 1 mm/hr with an earth station height of 0.75 km.

    pl =  p618PropagationLosses(cfg,'RainRate',1,'StationHeight',0.75)
    pl = struct with fields:
        Ag: 0.7996
        Ac: 0.8793
        Ar: 0.0177
        As: 0.3187
        At: 1.7514
    
    

    References

    [1] International Telecommunication Union, ITU-R Recommendation P.618 (12/2017).

    Extended Capabilities

    C/C++ Code Generation
    Generate C and C++ code using MATLAB® Coder™.

    Version History

    Introduced in R2021a