メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

エフェメリスデータを使用した衛星コンステレーションのモデル化

この例では、アクセス分析のために、24 個の衛星のコンステレーション (ESA Galileo GNSS コンステレーションに類似) のタイムスタンプ付きエフェメリス データを衛星シナリオに追加する方法を示します。この例では、Aerospace Blockset Orbit Propagator ブロックによって生成されたデータを使用します。詳細については、Aerospace Blockset の例 Orbit Propagator Block を使用したコンステレーション モデリング を参照してください。

satelliteScenario オブジェクトは、以前に生成されたタイムスタンプ付きの衛星エフェメリスデータを timeseries または timetable オブジェクトからシナリオに読み込むことをサポートします。エフェメリスは、特定の期間における衛星の位置 (およびオプションで速度) の状態情報を含むテーブルです。シナリオ オブジェクトに衛星を追加するために使用されるエフェメリスデータは、シナリオの時間ステップに合わせて makima 補間方法によって補間されます。これにより、Simulink モデルによって生成されたデータを、新しい衛星シナリオまたは既存の衛星シナリオに組み込むことができます。

ミッションパラメーターとコンスタレーション初期条件を定義する

ミッションの開始日と期間を指定します。この例では、MATLAB 構造を使用してミッション データを整理します。これらの構造により、例の後半でのデータへのアクセスがより直感的になります。また、グローバル ベースのワークスペースを整理するのにも役立ちます。

mission.StartDate = datetime(2020, 11, 30, 22, 23, 24);
mission.Duration  = hours(24);

この例のコンステレーションは、欧州の GNSS (全地球航法衛星システム) コンステレーションである Galileo に類似したモデル化された Walker-Delta コンステレーションです。このコンスタレーションは中軌道( MEO )にある24機の衛星で構成されています。ミッション開始日元期の衛星のケプラーの軌道要素は次のとおりです。

mission.ConstellationDefinition = table( ...
    29599.8e3 * ones(24,1), ...                % Semi-major axis (m)
    0.0005    * ones(24,1), ...                % Eccentricity
    56        * ones(24,1), ...                % Inclination (deg)
    350       * ones(24,1), ...                % Right ascension of the ascending node (deg)
    sort(repmat([0 120 240], 1,8))', ...       % Argument of periapsis (deg)
    [0:45:315, 15:45:330, 30:45:345]', ...     % True anomaly (deg)
    'VariableNames', ["a (m)", "e", "i (deg)", ...
    "Ω (deg)", "ω (deg)", "ν (deg)"]);
mission.ConstellationDefinition
ans=24×6 table
     a (m)        e       i (deg)    Ω (deg)    ω (deg)    ν (deg)
    ________    ______    _______    _______    _______    _______

    2.96e+07    0.0005      56         350          0          0  
    2.96e+07    0.0005      56         350          0         45  
    2.96e+07    0.0005      56         350          0         90  
    2.96e+07    0.0005      56         350          0        135  
    2.96e+07    0.0005      56         350          0        180  
    2.96e+07    0.0005      56         350          0        225  
    2.96e+07    0.0005      56         350          0        270  
    2.96e+07    0.0005      56         350          0        315  
    2.96e+07    0.0005      56         350        120         15  
    2.96e+07    0.0005      56         350        120         60  
    2.96e+07    0.0005      56         350        120        105  
    2.96e+07    0.0005      56         350        120        150  
    2.96e+07    0.0005      56         350        120        195  
    2.96e+07    0.0005      56         350        120        240  
    2.96e+07    0.0005      56         350        120        285  
    2.96e+07    0.0005      56         350        120        330  
      ⋮

エフェメリス時系列データの読み込み

時系列オブジェクトには、コンスタレーション内のすべての 24 個の衛星の位置と速度のデータが含まれています。データは、地球中心の地球固定 (ECEF) 座標系である国際地球基準座標系 (ITRF) で参照されます。データは Aerospace Blockset Orbit Propagator ブロックを使用して生成されました。詳細については、Aerospace Blockset の例 Orbit Propagator Block を使用したコンステレーション モデリング を参照してください。

mission.Ephemeris = load("SatelliteScenarioEphemerisData.mat", "TimeseriesPosITRF", "TimeseriesVelITRF");
mission.Ephemeris.TimeseriesPosITRF
  timeseries

  Common Properties:
            Name: ''
            Time: [57x1 double]
        TimeInfo: [1x1 tsdata.timemetadata]
            Data: [24x3x57 double]
        DataInfo: [1x1 tsdata.datametadata]

  More properties, Methods
mission.Ephemeris.TimeseriesVelITRF
  timeseries

  Common Properties:
            Name: ''
            Time: [57x1 double]
        TimeInfo: [1x1 tsdata.timemetadata]
            Data: [24x3x57 double]
        DataInfo: [1x1 tsdata.datametadata]

  More properties, Methods

衛星エフェメリスをsatelliteScenario O オブジェクトにロードします

解析用の衛星シナリオ オブジェクトを作成します。

scenario = satelliteScenario(mission.StartDate, mission.StartDate + hours(24), 60);

satellite メソッドを使用して、ECEF の位置と速度の時系列オブジェクトから 24 個の衛星を衛星シナリオに追加します。この例では位置と速度の情報を使用していますが、位置データのみから衛星を追加し、速度状態を推定することもできます。名前と値のペア CoordinateFrame に使用できる座標系は "ECEF""Inertial"、および "Geographic" です。timeseries オブジェクトに ts .TimeInfo.StartDate の値が含まれている場合、メソッドはその値を timeseries オブジェクトの元期として使用します。StartDate が定義されていない場合、メソッドはデフォルトでシナリオの開始日を使用します。

sat = satellite(scenario, mission.Ephemeris.TimeseriesPosITRF, mission.Ephemeris.TimeseriesVelITRF, ...
    CoordinateFrame="ecef", Name="GALILEO " + (1:24))
sat = 
  1x24 Satellite array with properties:

    Name
    ID
    PhysicalProperties
    ConicalSensors
    Gimbals
    Transmitters
    Receivers
    Accesses
    Eclipse
    GroundTrack
    Orbit
    CoordinateAxes
    OrbitPropagator
    MarkerColor
    MarkerSize
    ShowLabel
    LabelFontColor
    LabelFontSize
    Visual3DModel
    Visual3DModelScale

disp(scenario)
  satelliteScenario with properties:

             StartTime: 30-Nov-2020 22:23:24
              StopTime: 01-Dec-2020 22:23:24
            SampleTime: 60
          AutoSimulate: 1
    CentralBodyOptions: [1×1 Aero.satellitescenario.CentralBodyOptions]
            Satellites: [1×24 matlabshared.satellitescenario.Satellite]
        GroundStations: [1×0 matlabshared.satellitescenario.GroundStation]
             Platforms: [1×0 matlabshared.satellitescenario.Platform]
               Viewers: [0×0 matlabshared.satellitescenario.Viewer]
              AutoShow: 1

あるいは、衛星をMATLAB timetabletable、または tscollection として衛星シナリオにエフェメリスとして追加することもできます。たとえば、前のセクションの位置 timeseries オブジェクトの最初の 3 つの衛星を含む timetable を、satelliteScenario オブジェクトで使用するためにフォーマットしたものを以下に示します。

  • 衛星は変数 (列ヘッダー) によって表されます。

  • 各行には、行の Time プロパティに関連付けられた位置ベクトルが含まれています。

timetable(...
datetime(getabstime(mission.Ephemeris.TimeseriesPosITRF), Locale="en_US"), ...
squeeze(mission.Ephemeris.TimeseriesPosITRF.Data(1,:,:))', ...
squeeze(mission.Ephemeris.TimeseriesPosITRF.Data(2,:,:))', ...
squeeze(mission.Ephemeris.TimeseriesPosITRF.Data(3,:,:))',...
VariableNames=["Satellite_1", "Satellite_2", "Satellite_3"])
ans=57×3 timetable
            Time                          Satellite_1                                 Satellite_2                                 Satellite_3               
    ____________________    ________________________________________    ________________________________________    ________________________________________

    30-Nov-2020 22:23:24    1.8249e+07    -2.2904e+07    -4.2009e+06    2.3678e+07     -1.075e+07     1.4119e+07    1.5239e+07     7.7076e+06     2.4177e+07
    30-Nov-2020 22:23:38    1.8252e+07    -2.2909e+07    -4.1563e+06    2.3662e+07    -1.0735e+07     1.4156e+07    1.5214e+07     7.7334e+06     2.4184e+07
    30-Nov-2020 22:24:53    1.8268e+07    -2.2937e+07     -3.933e+06    2.3584e+07    -1.0663e+07      1.434e+07    1.5088e+07     7.8627e+06     2.4222e+07
    30-Nov-2020 22:31:05    1.8326e+07    -2.3055e+07    -2.8121e+06    2.3185e+07     -1.028e+07     1.5243e+07    1.4466e+07     8.5229e+06     2.4378e+07
    30-Nov-2020 22:48:39    1.8326e+07    -2.3223e+07     3.9182e+05    2.2005e+07    -8.9966e+06     1.7621e+07    1.2798e+07     1.0506e+07     2.4539e+07
    30-Nov-2020 23:08:30    1.8076e+07    -2.3078e+07     3.9992e+06    2.0643e+07    -7.2057e+06     1.9943e+07    1.1124e+07     1.2894e+07     2.4217e+07
    30-Nov-2020 23:28:27    1.7624e+07    -2.2538e+07     7.5358e+06    1.9321e+07    -5.0678e+06     2.1838e+07    9.7076e+06     1.5379e+07     2.3362e+07
    30-Nov-2020 23:50:59    1.6968e+07    -2.1428e+07     1.1328e+07    1.7977e+07    -2.3021e+06       2.34e+07    8.4636e+06     1.8183e+07     2.1782e+07
    01-Dec-2020 00:14:27    1.6244e+07    -1.9712e+07     1.4937e+07    1.6838e+07     8.7771e+05     2.4329e+07    7.5789e+06     2.0966e+07     1.9489e+07
    01-Dec-2020 00:38:42    1.5585e+07    -1.7375e+07     1.8189e+07    1.6017e+07      4.355e+06     2.4512e+07    7.0779e+06     2.3551e+07     1.6498e+07
    01-Dec-2020 01:04:35    1.5124e+07    -1.4345e+07     2.1006e+07    1.5585e+07     8.1065e+06      2.383e+07    6.9314e+06     2.5831e+07     1.2718e+07
    01-Dec-2020 01:31:17    1.5035e+07     -1.079e+07     2.3096e+07     1.562e+07     1.1816e+07     2.2205e+07    7.0715e+06     2.7527e+07     8.3282e+06
    01-Dec-2020 01:58:58    1.5443e+07    -6.8501e+06     2.4303e+07    1.6102e+07     1.5274e+07     1.9601e+07     7.348e+06     2.8484e+07     3.4363e+06
    01-Dec-2020 02:27:08    1.6406e+07    -2.8152e+06     2.4478e+07    1.6925e+07     1.8197e+07     1.6103e+07    7.5521e+06     2.8587e+07    -1.6897e+06
    01-Dec-2020 02:55:18    1.7869e+07      1.001e+06     2.3582e+07    1.7894e+07     2.0376e+07     1.1901e+07    7.4614e+06     2.7856e+07    -6.7427e+06
    01-Dec-2020 03:23:29    1.9711e+07      4.381e+06     2.1653e+07    1.8787e+07     2.1739e+07     7.1754e+06    6.8858e+06     2.6405e+07    -1.1504e+07
      ⋮

衛星のグラフィックプロパティを設定する

同じ軌道面にある衛星を同じ軌道色に設定します。

set(sat(1:8), MarkerColor="#FF6929");
set(sat(9:16), MarkerColor="#139FFF");
set(sat(17:24), MarkerColor="#64D413");
orbit = [sat(:).Orbit];
set(orbit(1:8), LineColor="#FF6929");
set(orbit(9:16), LineColor="#139FFF");
set(orbit(17:24), LineColor="#64D413");

シナリオに地上局を追加する

正確な測位データを提供するには、地球上の場所が常にコンスタレーション内の少なくとも 4 つの衛星にアクセスできる必要があります。この例では、3 つの場所を使用して、1 日間の分析ウィンドウにおける地球のさまざまな地域へのコンステレーション アクセスの合計を比較します。

  • アメリカ合衆国マサチューセッツ州ネイティック (42.30048°, -71.34908°)

  • ミュンヘン、ドイツ (48.23206°, 11.68445°)

  • バンガロール、インド (12.94448°, 77.69256°)

gsUS = groundStation(scenario, 42.30048, -71.34908, ...
    MinElevationAngle=10, Name="Natick");
gsUS.MarkerColor = "red";
gsDE = groundStation(scenario, 48.23206, 11.68445, ...
    MinElevationAngle=10, Name="Munchen");
gsDE.MarkerColor = "red";
gsIN = groundStation(scenario, 12.94448, 77.69256, ...
    MinElevationAngle=10, Name="Bangalore");
gsIN.MarkerColor = "red";

figure
geoscatter([gsUS.Latitude gsDE.Latitude gsIN.Latitude], ...
    [gsUS.Longitude gsDE.Longitude gsIN.Longitude], "red", "filled")
geolimits([-75 75], [-180 180])
title("Ground Stations")

Figure contains an axes object with type geoaxes. The geoaxes object contains an object of type scatter.

地上局から衛星へのアクセス(視線可視性)を計算する

access メソッドを使用して、地上局と各衛星間の LOS (見通し) アクセスを計算します。

accessUS = access(gsUS, sat);
accessDE = access(gsDE, sat);
accessIN = access(gsIN, sat);

例の前の部分で割り当てた軌道面の色と一致するようにアクセス カラーを設定します。

set(accessUS, LineWidth="1");
set(accessUS(1:8), LineColor="#FF6929");
set(accessUS(9:16), LineColor="#139FFF");
set(accessUS(17:24), LineColor="#64D413");

set(accessDE, LineWidth="1");
set(accessDE(1:8), LineColor="#FF6929");
set(accessDE(9:16), LineColor="#139FFF");
set(accessDE(17:24), LineColor="#64D413");

set(accessIN, LineWidth="1");
set(accessIN(1:8), LineColor="#FF6929");
set(accessIN(9:16), LineColor="#139FFF");
set(accessIN(17:24), LineColor="#64D413");

各地上局とコンスタレーション内のすべての衛星間の完全なアクセス テーブルをテーブルとして表示します。アクセス間隔を間隔開始時刻で並べ替えます。エフェメリスデータから追加された衛星では、StartOrbit および End Orbit の値が表示されません。

intervalsUS = accessIntervals(accessUS);
intervalsUS = sortrows(intervalsUS, "StartTime", "ascend")
intervalsUS=40×8 table
     Source        Target       IntervalNumber         StartTime                EndTime           Duration    StartOrbit    EndOrbit
    ________    ____________    ______________    ____________________    ____________________    ________    __________    ________

    "Natick"    "GALILEO 1"           1           30-Nov-2020 22:23:24    01-Dec-2020 04:04:24     20460         NaN          NaN   
    "Natick"    "GALILEO 2"           1           30-Nov-2020 22:23:24    01-Dec-2020 01:24:24     10860         NaN          NaN   
    "Natick"    "GALILEO 3"           1           30-Nov-2020 22:23:24    30-Nov-2020 22:57:24      2040         NaN          NaN   
    "Natick"    "GALILEO 12"          1           30-Nov-2020 22:23:24    01-Dec-2020 00:00:24      5820         NaN          NaN   
    "Natick"    "GALILEO 13"          1           30-Nov-2020 22:23:24    30-Nov-2020 23:05:24      2520         NaN          NaN   
    "Natick"    "GALILEO 18"          1           30-Nov-2020 22:23:24    01-Dec-2020 04:00:24     20220         NaN          NaN   
    "Natick"    "GALILEO 19"          1           30-Nov-2020 22:23:24    01-Dec-2020 01:42:24     11940         NaN          NaN   
    "Natick"    "GALILEO 20"          1           30-Nov-2020 22:23:24    30-Nov-2020 22:46:24      1380         NaN          NaN   
    "Natick"    "GALILEO 11"          1           30-Nov-2020 22:25:24    01-Dec-2020 00:18:24      6780         NaN          NaN   
    "Natick"    "GALILEO 17"          1           30-Nov-2020 22:50:24    01-Dec-2020 05:50:24     25200         NaN          NaN   
    "Natick"    "GALILEO 8"           1           30-Nov-2020 23:20:24    01-Dec-2020 07:09:24     28140         NaN          NaN   
    "Natick"    "GALILEO 7"           1           01-Dec-2020 01:26:24    01-Dec-2020 10:00:24     30840         NaN          NaN   
    "Natick"    "GALILEO 24"          1           01-Dec-2020 01:40:24    01-Dec-2020 07:12:24     19920         NaN          NaN   
    "Natick"    "GALILEO 14"          1           01-Dec-2020 03:56:24    01-Dec-2020 07:15:24     11940         NaN          NaN   
    "Natick"    "GALILEO 6"           1           01-Dec-2020 04:05:24    01-Dec-2020 12:14:24     29340         NaN          NaN   
    "Natick"    "GALILEO 23"          1           01-Dec-2020 04:10:24    01-Dec-2020 08:03:24     13980         NaN          NaN   
      ⋮

intervalsDE = accessIntervals(accessDE);
intervalsDE = sortrows(intervalsDE, "StartTime", "ascend")
intervalsDE=40×8 table
     Source         Target       IntervalNumber         StartTime                EndTime           Duration    StartOrbit    EndOrbit
    _________    ____________    ______________    ____________________    ____________________    ________    __________    ________

    "Munchen"    "GALILEO 2"           1           30-Nov-2020 22:23:24    01-Dec-2020 04:34:24     22260         NaN          NaN   
    "Munchen"    "GALILEO 3"           1           30-Nov-2020 22:23:24    01-Dec-2020 01:58:24     12900         NaN          NaN   
    "Munchen"    "GALILEO 4"           1           30-Nov-2020 22:23:24    30-Nov-2020 23:05:24      2520         NaN          NaN   
    "Munchen"    "GALILEO 10"          1           30-Nov-2020 22:23:24    30-Nov-2020 23:58:24      5700         NaN          NaN   
    "Munchen"    "GALILEO 19"          1           30-Nov-2020 22:23:24    01-Dec-2020 01:36:24     11580         NaN          NaN   
    "Munchen"    "GALILEO 20"          1           30-Nov-2020 22:23:24    01-Dec-2020 00:15:24      6720         NaN          NaN   
    "Munchen"    "GALILEO 21"          1           30-Nov-2020 22:23:24    30-Nov-2020 22:28:24       300         NaN          NaN   
    "Munchen"    "GALILEO 9"           1           30-Nov-2020 22:34:24    01-Dec-2020 02:22:24     13680         NaN          NaN   
    "Munchen"    "GALILEO 18"          1           30-Nov-2020 22:41:24    01-Dec-2020 02:31:24     13800         NaN          NaN   
    "Munchen"    "GALILEO 1"           1           30-Nov-2020 23:05:24    01-Dec-2020 06:42:24     27420         NaN          NaN   
    "Munchen"    "GALILEO 16"          1           30-Nov-2020 23:29:24    01-Dec-2020 04:47:24     19080         NaN          NaN   
    "Munchen"    "GALILEO 15"          1           01-Dec-2020 00:50:24    01-Dec-2020 07:27:24     23820         NaN          NaN   
    "Munchen"    "GALILEO 17"          1           01-Dec-2020 01:05:24    01-Dec-2020 03:00:24      6900         NaN          NaN   
    "Munchen"    "GALILEO 8"           1           01-Dec-2020 01:57:24    01-Dec-2020 08:25:24     23280         NaN          NaN   
    "Munchen"    "GALILEO 14"          1           01-Dec-2020 02:36:24    01-Dec-2020 10:19:24     27780         NaN          NaN   
    "Munchen"    "GALILEO 7"           1           01-Dec-2020 04:35:24    01-Dec-2020 09:43:24     18480         NaN          NaN   
      ⋮

intervalsIN = accessIntervals(accessIN);
intervalsIN = sortrows(intervalsIN, "StartTime", "ascend")
intervalsIN=31×8 table
      Source          Target       IntervalNumber         StartTime                EndTime           Duration    StartOrbit    EndOrbit
    ___________    ____________    ______________    ____________________    ____________________    ________    __________    ________

    "Bangalore"    "GALILEO 3"           1           30-Nov-2020 22:23:24    01-Dec-2020 05:12:24     24540         NaN          NaN   
    "Bangalore"    "GALILEO 4"           1           30-Nov-2020 22:23:24    01-Dec-2020 02:59:24     16560         NaN          NaN   
    "Bangalore"    "GALILEO 5"           1           30-Nov-2020 22:23:24    01-Dec-2020 00:22:24      7140         NaN          NaN   
    "Bangalore"    "GALILEO 9"           1           30-Nov-2020 22:23:24    01-Dec-2020 03:37:24     18840         NaN          NaN   
    "Bangalore"    "GALILEO 10"          1           30-Nov-2020 22:23:24    01-Dec-2020 00:09:24      6360         NaN          NaN   
    "Bangalore"    "GALILEO 16"          1           30-Nov-2020 22:23:24    01-Dec-2020 08:44:24     37260         NaN          NaN   
    "Bangalore"    "GALILEO 21"          1           30-Nov-2020 22:23:24    30-Nov-2020 23:25:24      3720         NaN          NaN   
    "Bangalore"    "GALILEO 22"          1           30-Nov-2020 22:23:24    30-Nov-2020 22:58:24      2100         NaN          NaN   
    "Bangalore"    "GALILEO 15"          1           01-Dec-2020 00:17:24    01-Dec-2020 11:16:24     39540         NaN          NaN   
    "Bangalore"    "GALILEO 2"           1           01-Dec-2020 00:25:24    01-Dec-2020 07:10:24     24300         NaN          NaN   
    "Bangalore"    "GALILEO 22"          2           01-Dec-2020 00:48:24    01-Dec-2020 05:50:24     18120         NaN          NaN   
    "Bangalore"    "GALILEO 21"          2           01-Dec-2020 01:32:24    01-Dec-2020 08:29:24     25020         NaN          NaN   
    "Bangalore"    "GALILEO 1"           1           01-Dec-2020 03:06:24    01-Dec-2020 07:17:24     15060         NaN          NaN   
    "Bangalore"    "GALILEO 20"          1           01-Dec-2020 03:36:24    01-Dec-2020 12:38:24     32520         NaN          NaN   
    "Bangalore"    "GALILEO 14"          1           01-Dec-2020 05:48:24    01-Dec-2020 13:29:24     27660         NaN          NaN   
    "Bangalore"    "GALILEO 19"          1           01-Dec-2020 05:53:24    01-Dec-2020 17:06:24     40380         NaN          NaN   
      ⋮

衛星シナリオを見る

シナリオの 3D ビューアー ウィンドウを開きます。ビューアー ウィンドウには、この例で前に定義した 24 個の衛星と 3 つの地上局がすべて表示されます。各地上局と衛星の間には、対応するアクセス間隔中に線が引かれます。ShowDetails 名前と値のペアを false に設定して、衛星と地上局の詳細を非表示にします。衛星軌道と地上局の位置のラベルを表示します。

viewer3D = satelliteScenarioViewer(scenario, ShowDetails=false);
show(sat.Orbit);
gsUS.ShowLabel = true;
gsUS.LabelFontSize = 11;
gsDE.ShowLabel = true;
gsDE.LabelFontSize = 11;
gsIN.ShowLabel = true;
gsIN.LabelFontSize = 11;

地上局間のアクセスを比較する

accessStatus メソッドを使用して、各衛星と地上局間のアクセス ステータスを計算します。出力配列の各行は、コンスタレーション内の衛星に対応します。各列はシナリオ内の時間ステップに対応します。True の値は、衛星がその特定の時間サンプルで航空機にアクセスできることを示します。accessStatus の 2 番目の出力には、シナリオの時間ステップが含まれます。1 日間の解析期間にわたって各地上局の累積アクセスをプロットします。

[statusUS, timeSteps] = accessStatus(accessUS);
statusDE = accessStatus(accessDE);
statusIN = accessStatus(accessIN);

% Sum cumulative access at each timestep
statusUS = sum(statusUS, 1);
statusDE = sum(statusDE, 1);
statusIN = sum(statusIN, 1);

subplot(3,1,1);
stairs(timeSteps, statusUS);
title("Natick to GALILEO")
ylabel("# of satellites")
subplot(3,1,2);
stairs(timeSteps, statusDE);
title("München to GALILEO")
ylabel("# of satellites")
subplot(3,1,3);
stairs(timeSteps, statusIN);
title("Bangalore to GALILEO")
ylabel("# of satellites")

Figure contains 3 axes objects. Axes object 1 with title Natick to GALILEO, ylabel # of satellites contains an object of type stair. Axes object 2 with title München to GALILEO, ylabel # of satellites contains an object of type stair. Axes object 3 with title Bangalore to GALILEO, ylabel # of satellites contains an object of type stair.

比較のために、各地上局のアクセス間隔メトリックを表に収集します。

statusTable = [table(height(intervalsUS), height(intervalsDE), height(intervalsIN)); ...
    table(sum(intervalsUS.Duration)/3600, sum(intervalsDE.Duration)/3600, sum(intervalsIN.Duration)/3600); ...
    table(mean(intervalsUS.Duration/60), mean(intervalsDE.Duration/60), mean(intervalsIN.Duration/60)); ...
    table(mean(statusUS, 2), mean(statusDE, 2), mean(statusIN, 2)); ...
    table(min(statusUS), min(statusDE), min(statusIN)); ...
    table(max(statusUS), max(statusDE), max(statusIN))];
statusTable.Properties.VariableNames = ["Natick", "München", "Bangalore"];
statusTable.Properties.RowNames = ["Total # of intervals", "Total interval time (hrs)",...
    "Mean interval length (min)", "Mean # of satellites in view", ...
    "Min # of satellites in view", "Max # of satellites in view"];
statusTable
statusTable=6×3 table
                                    Natick    München    Bangalore
                                    ______    _______    _________

    Total # of intervals                40        40          31  
    Total interval time (hrs)       167.88    169.95      180.42  
    Mean interval length (min)      251.82    254.93      349.19  
    Mean # of satellites in view     7.018    7.1041      7.5337  
    Min # of satellites in view          5         5           5  
    Max # of satellites in view          9        10           9  

ガリレオのような Walker-Delta コンステレーションは、経度にわたって均等に分布しています。ネイティックとミュンヘンは同様の緯度に位置しているため、コンステレーションに関して非常に類似したアクセス特性を持っています。バンガロールは赤道に近い緯度にあります。個々のアクセス間隔の数が少ないにもかかわらず、視野内の衛星の平均数が最も多く、全体の間隔時間が最も長く、平均間隔期間が最も長い(約 95 分)です。GNSS三辺測量に必要な条件に従い、すべての場所で少なくとも 4 つの衛星が常に視野内にあります。

参考文献

[1] ワーツ、ジェームズR、デビッドF.エベレット、ジェフリーJ.プシェル宇宙ミッションエンジニアリング:新しいSmad 。Hawthorne, CA:マイクロコズムプレス、2011年。印刷。

[2] 欧州宇宙機関:ガリレオに関する事実と数字。https://www.esa.int/Applications/Navigation/Galileo/Facts_and_figures

参考

オブジェクト

関数

トピック