メインコンテンツ

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

Satellite

衛星シナリオ内の衛星

    説明

    Satellite は、衛星シナリオオブジェクト内の衛星を定義します。

    作成

    satelliteScenarioオブジェクトのsatellite関数を使用してSatelliteオブジェクトを作成できます。

    プロパティ

    すべて展開する

    このプロパティは、satellite 関数を呼び出す場合にのみ設定できます。satellite関数を呼び出した後、このプロパティは読み取り専用になります。

    衛星名は、'Name' と文字列スカラー、文字列ベクトル、文字ベクトル、または文字ベクトルのセル配列からなるカンマ区切りのペアとして指定します。

    • 衛星を1つだけ追加する場合は、Nameを文字列スカラーまたは文字ベクトルとして指定します。

    • 複数の衛星を追加する場合は、Name を文字列スカラー、文字ベクトル、文字列ベクトル、または文字ベクトルのセル配列として指定します。文字列スカラーまたは文字ベクトルとして追加されたすべての衛星には、指定された同じ名前が割り当てられます。文字列ベクトルまたは文字ベクトルのセル配列の要素数は、追加される衛星の数と等しくなければなりません。各衛星には、ベクトルまたはセル配列から対応する名前が割り当てられます。

    衛星シナリオに衛星を追加する際のデフォルト値

    • ケプラーの軌道要素、 TLEファイル — 「衛星ID」、ここでIDは衛星シナリオによって割り当てられます。

    • SEMアルマナックファイルまたはRINEX GPSナビゲーションデータ — "PRN:prnValue"、ここでprnValueは、SEMアルマナックファイルで指定されている衛星の擬似乱数ノイズコードを示す整数です。

    • RINEXガリレオ航法データ — "GAL Sat IF: id"、ここで"id"はRINEX航法データで定義されているガリレオ衛星の衛星IDです。

    • タイムテーブル - タイムテーブルオブジェクトの変数名。

    • 時系列 - データが入力されている場合は時系列オブジェクトの名前、そうでない場合は「衛星ID」。IDは衛星シナリオによって割り当てられます。

    データ型: string

    このプロパティはシミュレーターによって内部的に設定され、読み取り専用です。

    Satellite シミュレータによって割り当てられたID。正のスカラー値として指定されます。

    このプロパティは、conicalSensor を呼び出すときにのみ設定できます。conicalSensor関数を呼び出した後、このプロパティは読み取り専用になります。

    Satellite に取り付けられたコニカル センサーは、コニカル センサーの行ベクトルとして指定されます。

    この プロパティ は読み取り専用です。

    このプロパティは、gimbal を呼び出すときにのみ設定できます。gimbal を呼び出した後、このプロパティは読み取り専用になります。

    Satellite に取り付けられたジンバルは、'Gimbals'Gimbal オブジェクトの行ベクトルからなるカンマ区切りのペアとして指定されます。

    この プロパティ は読み取り専用です。

    このプロパティは、transmitter 関数を呼び出すときにのみ設定できます。transmitter関数を呼び出した後、このプロパティは読み取り専用になります。

    Satellite に接続された送信機は、Transmitter オブジェクトの行ベクトルとして指定されます。

    この プロパティ は読み取り専用です。

    このプロパティは、receiver を呼び出すときにのみ設定できます。receiver関数を呼び出した後、このプロパティは読み取り専用になります。

    衛星に取り付けられた受信機は、Receiverオブジェクトの行ベクトルとして指定されます。

    このプロパティは、access を呼び出すときにのみ設定できます。access を呼び出した後、このプロパティは読み取り専用になります。

    アクセス解析オブジェクト。Access オブジェクトの行ベクトルとして指定されます。

    このプロパティは、groundTrack を呼び出すときにのみ設定できます。groundTrack を呼び出した後、このプロパティは読み取り専用になります。

    Satellite のグラウンド トラック。GroundTrack オブジェクトの行ベクトルとして指定されます。

    このプロパティは、coordinateAxes を呼び出すときにのみ設定できます。coordinateAxes を呼び出した後、このプロパティは読み取り専用になります。

    座標軸トライアドグラフィックオブジェクト。CoordinateAxes オブジェクトとして指定されます。

    このプロパティは、orbit を呼び出すときにのみ設定できます。orbit を呼び出した後、このプロパティは読み取り専用になります。

    Orbit オブジェクトとして指定された衛星の軌道可視化パラメータ。

    データ型: char | string

    satellite オブジェクトの作成時にこのプロパティを設定すると、このプロパティは読み取り専用になります。

    衛星の位置と速度を伝播するために使用される軌道プロパゲーターの名前。以下のオプションのいずれかで指定します。

    • 衛星をtimetable、table、timeseries、またはtscollection を使用して指定する場合、OrbitPropagator の値は "ephemeris" になります。

    • SEMアルマナックファイルまたはGPSナビゲーションメッセージを含むRINEXデータを使用して衛星を指定する場合、OrbitPropagatorの値には次のいずれかのオプションを指定できます。

      • "gps" (既定)

      • "sgp4"

      • "sdp4"

      • "two-body-keplerian"

      • "numerical"

    • ガリレオ航法メッセージを含むRINEXデータを使用して衛星を指定する場合、OrbitPropagatorの値には以下のいずれかのオプションを指定できます。

      • "galileo" (既定)

      • "sgp4"

      • "sdp4"

      • "two-body-keplerian"

      • "numerical"

    • 衛星をケプラー要素で指定する場合、OrbitPropagator の値には以下のいずれかのオプションを指定できます。

      • "two-body-keplerian"

      • "sgp4"

      • "sdp4"

      • "numerical"

      さらに、長半径が負の場合、OrbitPropagator の値は "numerical" のみになります。半長軸が正の場合、デフォルト値は、周期が225分未満の場合は"sgp4"、周期が225分以上の場合は"sdp4"となります。

    • TLEファイルまたはOMMファイルを使用して衛星を指定する場合、OrbitPropagatorの値には以下のいずれかのオプションを指定できます。

      • "two-body-keplerian"

      • "sgp4"

      • "sdp4"

      • "numerical"

      軌道周期が225分未満の場合、デフォルトのOrbitPropagator値は"sgp4"になります。それ以外の場合、デフォルト値のOrbitPropagator"sdp4"です。

    • Keplerian要素を使用して衛星を指定する場合、OrbitPropagatorの値には以下のいずれかのオプションを指定できます。

      • "two-body-keplerian"

      • "sgp4"

      • "sdp4"

    RINEXデータに有効なGPSおよびGalileoナビゲーションメッセージの両方が含まれている場合、名前と値の引数を使用してOrbitPropagator"gps"または"galileo"として指定することはできません。ただし、"two-body-keplerian""sgp4""sdp4"、または"numerical"として指定することもできます。

    マーカーの色。カンマで区切られたペアで指定され、'MarkerColor' と、RGB トリプレット、または色名の文字文字列もしくは文字ベクトルのいずれかで構成されます。

    カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。

    • RGB 3 成分は、色の赤、緑、青成分の強度値を指定する 3 要素の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

    • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く string スカラーまたは文字ベクトルです。これらの値では大文字小文字は区別されません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

    あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

    色名省略名RGB 3 成分16 進数カラー コード外観
    "red" "r" [1 0 0] "#FF0000"

    Sample of the color red

    "green" "g" [0 1 0] "#00FF00"

    Sample of the color green

    "blue" "b" [0 0 1] "#0000FF"

    Sample of the color blue

    "cyan" "c" [0 1 1] "#00FFFF"

    Sample of the color cyan

    "magenta" "m" [1 0 1] "#FF00FF"

    Sample of the color magenta

    "yellow" "y" [1 1 0] "#FFFF00"

    Sample of the color yellow

    "black" "k" [0 0 0] "#000000"

    Sample of the color black

    "white" "w" [1 1 1] "#FFFFFF"

    Sample of the color white

    MATLAB® の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

    RGB 3 成分16 進数カラー コード外観
    [0 0.4470 0.7410] "#0072BD"

    Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

    [0.8500 0.3250 0.0980] "#D95319"

    Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

    [0.9290 0.6940 0.1250] "#EDB120"

    Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

    [0.4940 0.1840 0.5560] "#7E2F8E"

    Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

    [0.4660 0.6740 0.1880] "#77AC30"

    Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

    [0.3010 0.7450 0.9330] "#4DBEEE"

    Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

    [0.6350 0.0780 0.1840] "#A2142F"

    Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

    マーカーのサイズは、'MarkerSize'と30未満の正の実数スカラーをカンマで区切ったペアとして指定します。単位はピクセルです。

    Satellite ラベルの表示状態。'ShowLabel'1 (true) または 0 (false) の数値または論理値のコンマ区切りペアとして指定されます。

    データ型: logical

    Satellite ラベルのフォントカラー。'LabelFontColor' と RGB トリプレット、またはカラー名の文字文字列もしくは文字ベクトルをカンマで区切ったペアとして指定します。

    カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。

    • RGB 3 成分は、色の赤、緑、青成分の強度値を指定する 3 要素の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

    • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く string スカラーまたは文字ベクトルです。これらの値では大文字小文字は区別されません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

    あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

    色名省略名RGB 3 成分16 進数カラー コード外観
    "red" "r" [1 0 0] "#FF0000"

    Sample of the color red

    "green" "g" [0 1 0] "#00FF00"

    Sample of the color green

    "blue" "b" [0 0 1] "#0000FF"

    Sample of the color blue

    "cyan" "c" [0 1 1] "#00FFFF"

    Sample of the color cyan

    "magenta" "m" [1 0 1] "#FF00FF"

    Sample of the color magenta

    "yellow" "y" [1 1 0] "#FFFF00"

    Sample of the color yellow

    "black" "k" [0 0 0] "#000000"

    Sample of the color black

    "white" "w" [1 1 1] "#FFFFFF"

    Sample of the color white

    MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

    RGB 3 成分16 進数カラー コード外観
    [0 0.4470 0.7410] "#0072BD"

    Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

    [0.8500 0.3250 0.0980] "#D95319"

    Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

    [0.9290 0.6940 0.1250] "#EDB120"

    Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

    [0.4940 0.1840 0.5560] "#7E2F8E"

    Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

    [0.4660 0.6740 0.1880] "#77AC30"

    Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

    [0.3010 0.7450 0.9330] "#4DBEEE"

    Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

    [0.6350 0.0780 0.1840] "#A2142F"

    Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

    Satellite ラベルのフォントサイズ。'LabelFontSize' と [6 30] の範囲の正のスカラー値からなるカンマ区切りのペアとして指定します。

    ビューアにレンダリングするビジュアル3Dモデルファイルの名前を、.GLTF、.GLB、または.STL拡張子の文字列として指定します。GLBおよびGLTFモデルの場合、gITFは右手座標系を使用します。gITFでは、+Yを上方向、+Zを前方向、-Xを右方向と定義しています。gITF アセットは +Z に面しています。詳細については、https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#coordinate-system-and-units を参照してください。GLBのメッシュ単位はメートルです。

    3-D model of a small satellite

    データ型: string

    ビューアに表示される視覚的な3Dモデルの線形スケーリング。非負の整数で指定します。このスケーリングは、GLBモデルの単位がメートルであることを前提としています。

    データ型: double

    オブジェクト関数

    accessサテライトシナリオにアクセス解析オブジェクトを追加する
    aerNEDフレーム内の他の衛星または地上局の方位角角、仰角、範囲を計算します。
    dopplershift衛星シナリオにおけるターゲット アセットのドップラーシフトを計算する
    latencyCalculate propagation delay from one asset to another asset
    conicalSensor衛星シナリオにコニカル センサーを追加する
    gimbal衛星、プラットフォーム、地上局にジンバルを追加する
    groundTrackシナリオ内の衛星またはプラットフォームにグラウンド トラックオブジェクトを追加する
    orbitalElementsシナリオにおける衛星の軌道要素
    coordinateAxes衛星シナリオ アセットの座標軸トライアドを可視化する
    pointAt衛星をターゲットに向ける
    receiverAdd receiver to satellite scenario
    transmitterAdd transmitter to satellite scenario
    states衛星またはプラットフォームの位置と速度を取得する
    show衛星シナリオビューアでオブジェクトを表示する
    hide衛星シナリオエンティティをビューアーから非表示にする
    orbit衛星シナリオの軌道を可視化する

    すべて折りたたむ

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

    startTime = datetime(2020,5,5,0,0,0);
    stopTime = startTime + days(1);
    sampleTime = 60;                                      %seconds
    sc = satelliteScenario(startTime,stopTime,sampleTime);

    TLEファイルから衛星をシナリオに追加します。

    tleFile = "eccentricOrbitSatellite.tle";
    sat1 = satellite(sc,tleFile,"Name","Sat1")
    sat1 = 
      Satellite with properties:
    
                   Name:  Sat1
                     ID:  1
         ConicalSensors:  [1x0 matlabshared.satellitescenario.ConicalSensor]
                Gimbals:  [1x0 matlabshared.satellitescenario.Gimbal]
           Transmitters:  [1x0 satcom.satellitescenario.Transmitter]
              Receivers:  [1x0 satcom.satellitescenario.Receiver]
               Accesses:  [1x0 matlabshared.satellitescenario.Access]
            GroundTrack:  [1x1 matlabshared.satellitescenario.GroundTrack]
                  Orbit:  [1x1 matlabshared.satellitescenario.Orbit]
        OrbitPropagator:  sdp4
            MarkerColor:  [0.059 1 1]
             MarkerSize:  6
              ShowLabel:  true
         LabelFontColor:  [1 1 1]
          LabelFontSize:  15
    
    

    シナリオにケプラー要素から衛星を追加し、その軌道プロパゲーターを「2体ケプラー」に指定します。

    semiMajorAxis = 6878137;                                                                    %m
    eccentricity = 0;
    inclination = 20;                                                                           %degrees
    rightAscensionOfAscendingNode = 0;                                                          %degrees
    argumentOfPeriapsis = 0;                                                                    %degrees
    trueAnomaly = 0;                                                                            %degrees
    sat2 = satellite(sc,semiMajorAxis,eccentricity,inclination,rightAscensionOfAscendingNode,...
        argumentOfPeriapsis,trueAnomaly,"OrbitPropagator","two-body-keplerian","Name","Sat2")
    sat2 = 
      Satellite with properties:
    
                   Name:  Sat2
                     ID:  2
         ConicalSensors:  [1x0 matlabshared.satellitescenario.ConicalSensor]
                Gimbals:  [1x0 matlabshared.satellitescenario.Gimbal]
           Transmitters:  [1x0 satcom.satellitescenario.Transmitter]
              Receivers:  [1x0 satcom.satellitescenario.Receiver]
               Accesses:  [1x0 matlabshared.satellitescenario.Access]
            GroundTrack:  [1x1 matlabshared.satellitescenario.GroundTrack]
                  Orbit:  [1x1 matlabshared.satellitescenario.Orbit]
        OrbitPropagator:  two-body-keplerian
            MarkerColor:  [0.059 1 1]
             MarkerSize:  6
              ShowLabel:  true
         LabelFontColor:  [1 1 1]
          LabelFontSize:  15
    
    

    2 つの衛星間のアクセス解析を追加します。

    ac = access(sat1,sat2);

    2つの衛星間に視線が通る時間帯を特定する。

    accessIntervals(ac)
    ans=15×8 table
        "Sat1"    "Sat2"    1    05-May-2020 00:09:00    05-May-2020 01:08:00    3540    1    1
        "Sat1"    "Sat2"    2    05-May-2020 01:50:00    05-May-2020 02:47:00    3420    1    1
        "Sat1"    "Sat2"    3    05-May-2020 03:45:00    05-May-2020 04:05:00    1200    1    1
        "Sat1"    "Sat2"    4    05-May-2020 04:32:00    05-May-2020 05:26:00    3240    1    1
        "Sat1"    "Sat2"    5    05-May-2020 06:13:00    05-May-2020 07:10:00    3420    1    1
        "Sat1"    "Sat2"    6    05-May-2020 07:52:00    05-May-2020 08:50:00    3480    1    1
        "Sat1"    "Sat2"    7    05-May-2020 09:30:00    05-May-2020 10:29:00    3540    1    1
        "Sat1"    "Sat2"    8    05-May-2020 11:09:00    05-May-2020 12:07:00    3480    1    2
        "Sat1"    "Sat2"    9    05-May-2020 12:48:00    05-May-2020 13:46:00    3480    2    2
        "Sat1"    "Sat2"    10    05-May-2020 14:31:00    05-May-2020 15:27:00    3360    2    2
        "Sat1"    "Sat2"    11    05-May-2020 17:12:00    05-May-2020 18:08:00    3360    2    2
        "Sat1"    "Sat2"    12    05-May-2020 18:52:00    05-May-2020 19:49:00    3420    2    2
        "Sat1"    "Sat2"    13    05-May-2020 20:30:00    05-May-2020 21:29:00    3540    2    2
        "Sat1"    "Sat2"    14    05-May-2020 22:08:00    05-May-2020 23:07:00    3540    2    2
    
    

    衛星間の視線を可視化します。

    play(sc);

    衛星シナリオを設定する。

    startTime = datetime(2021,8,5);
    stopTime = startTime + days(1);
    sampleTime = 60;                                      % seconds
    sc = satelliteScenario(startTime,stopTime,sampleTime);

    SEMのアルマナックファイルから、シナリオに衛星を追加します。

    sat = satellite(sc,"gpsAlmanac.txt","OrbitPropagator","gps");

    GPS コンステレーションを可視化します。

    v = satelliteScenarioViewer(sc);

    参照

    [1] Hoots, Felix R., and Ronald L. Roehrich. Models for propagation of NORAD element sets. Aerospace Defense Command Peterson AFB CO Office of Astrodynamics, 1980.

    [2] Vallado, David, et al. “Revisiting Spacetrack Report #3.” AIAA/AAS Astrodynamics Specialist Conference and Exhibit, American Institute of Aeronautics and Astronautics, 2006, https://doi.org/10.2514/6.2006-6753

    バージョン履歴

    R2021a で導入

    すべて展開する