メインコンテンツ

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

dopplershift

衛星シナリオにおけるターゲット アセットのドップラーシフトを計算する

R2023a 以降

    説明

    shift = dopplershift(source,target) は、source アセットに対応する target アセットでのドップラーシフトの履歴を計算します。sourcetarget は両方とも同じ satelliteScenario オブジェクトに属している必要があります。satelliteScenario オブジェクトの AutoSimulate プロパティの値が true の場合、dopplershift 関数は StartTime の値から StopTime の値までのドップラーシフト履歴を返します。それ以外の場合は、StartTime の値から SimulationTime の値までのドップラーシフト履歴を返します。

    [shift,timeOut] = dopplershift(source,target) はサンプルの時間履歴 timeOut を返します。

    [shift,timeOut,info] = dopplershift(source,target) は、ドップラー レートと相対速度の情報を含む構造体 info を返します。

    [___] = dopplershift(___,timeIn) は指定された日時 timeIn におけるドップラーシフトを計算します。この構文を使用すると、dopplershiftshifttimeOut の 2 番目の次元と info のフィールドを 1 に設定します。この場合、info DopplerRate フィールドは空です。

    [___] = dopplershift(___,Frequency=freq) は、ドップラーシフトを計算する 1 つ以上の搬送周波数も指定します。

    メモ

    dopplershift 関数は、地心天体基準座標系 (GCRF) 座標系を使用してすべての計算を実行します。

    すべて折りたたむ

    地上局におけるドップラーシフト、ドップラー率、相対速度、および対応する時間履歴を決定します。送信元は 14 GHz の搬送周波数で送信する衛星です。

    衛星シナリオの開始時刻と終了時刻を指定します。

    startTime = datetime(2021,4,25);                      % April 25, 2021, 12:00 AM UTC
    stopTime = datetime(2021,4,26);                       % April 26, 2021, 12:00 AM UTC

    サンプル時間を秒単位で設定します。

    sampleTime = 60; 

    satelliteScenario オブジェクトを作成する。

    sc = satelliteScenario(startTime,stopTime,sampleTime);

    シナリオに衛星を追加します。

    semiMajorAxis = 10000000;             % In meters
    eccentricity = 0;
    inclination = 0;                      % In degrees 
    rightAscensionOfAscendingNode = 0;    % In degrees
    argumentOfPeriapsis = 0;              % In degrees
    trueAnomaly = 0;                      % In degrees
    sat = satellite(sc,semiMajorAxis,eccentricity,inclination, ...
            rightAscensionOfAscendingNode,argumentOfPeriapsis,trueAnomaly);

    シナリオにデフォルトの地上局を追加します。

    gs = groundStation(sc);

    ドップラーシフト、ドップラー率、相対速度、および対応する時間履歴を決定します。

    carrierFrequency=14e9;
    [frequencyShift,timeOut,dopplerInfo] = dopplershift(sat,gs,Frequency=carrierFrequency);
    frequencyRate = dopplerInfo.DopplerRate;
    relativeVelocity = dopplerInfo.RelativeVelocity;

    地上局でのドップラーシフトをプロットします。

    plot(timeOut,frequencyShift(1,:)/1e3)       % Doppler shift in kilohertz (kHz)
    xlim([timeOut(1) timeOut(end)])
    title("Doppler Shift vs. Time")
    xlabel("Simulation Time")
    ylabel("Doppler Shift (kHz)")
    grid on

    Figure contains an axes object. The axes object with title Doppler Shift vs. Time, xlabel Simulation Time, ylabel Doppler Shift (kHz) contains an object of type line.

    入力引数

    すべて折りたたむ

    シナリオからのソース アセット。SatelliteGroundStationTransmitterPlatform オブジェクトまたは SatelliteGroundStationTransmitterPlatform オブジェクトの配列として指定されます。

    シナリオからのターゲット アセット。SatelliteGroundStationReceiverPlatform オブジェクト、または SatelliteGroundStationReceiverPlatform オブジェクトの配列として指定されます。

    関数がドップラーシフトを計算する時刻。日時スカラーとして指定されます。timeIn がタイムゾーンを指定しない場合、関数は協定世界時(UTC) を使用します。

    データ型: datetime

    ドップラーシフトを計算する搬送周波数。ヘルツまたは -1 単位の、非負の実数のスカラーまたはベクトルとして指定します。各ソース アセットのデフォルトのキャリア周波数値を使用するには、-1 を指定します。

    freq の値が -1 で、source の値が Satellite または GroundStation の場合、搬送周波数は 14 ギガヘルツ (GHz) です。freq の値が -1 で、sourceTransmitter の場合、搬送周波数は Transmitter オブジェクトの Frequency プロパティ値になります。

    データ型: double

    出力引数

    すべて折りたたむ

    ドップラーシフトの履歴(ヘルツ単位)が、スカラー、ベクトル、マトリックス、または 3D 配列として返されます。sourcetarget が相互にアクセスできない場合、対応する shift の値は NaN になります。これらの表は、さまざまな入力引数のサイズと組み合わせに基づいてこの出力がどのように変化するかを示しています。

    • timeIn 指定なし

      sourcetargetshift説明
      スカラースカラー行ベクトルドップラーシフトの履歴。各要素は、特定の時間サンプルにおける sourcetarget 間のドップラーシフトを表します。
      スカラーベクトル行列各行は、 target 内のソースとアセット間のドップラーシフトの履歴を表します。行は、target 内のアセットの位置に対応します。
      ベクトルスカラー行列 各行は、targetsource のアセット間のドップラーシフト履歴を表します。行は、source 内のアセットの位置に対応します。
      ベクトルベクトル行列各行は、source アセットと target アセットのペア間のドップラーシフト履歴を表します。行は、source および target 内のアセットの位置に対応します。

    • timeIn 指定

      sourcetargetshift説明
      スカラースカラースカラー指定された日時 timeIn におけるドップラーシフト。
      スカラーベクトル列ベクトル各要素は、指定された日時 timeIn における source target の対応するアセット間のドップラーシフトを表します。
      ベクトルスカラー列ベクトル各要素は、指定された日時 timeIn における source から target までの対応するアセットからのドップラーシフトを表します。
      ベクトルベクトル列ベクトル各要素は、指定された日時 timeIn における対応する source アセットと target アセットのペア間のドップラーシフトを表します。

      freq をベクトルとして指定すると、shift には 3 番目の次元があり、各ページは、freq の対応する搬送周波数に対する前の表の sourcetarget、および timeIn の対応する組み合わせの出力になります。

    データ型: double

    シナリオの開始時間と終了時間の間の時間サンプル。スカラーまたはベクトルとして返されます。

    timeIn がタイムゾーンを指定せず、satelliteScenario オブジェクトの AutoSimulate プロパティが true の場合、dopplershift 関数は StartTime から StopTime までの時間サンプル履歴を返します。それ以外の場合は、StartTime の値から SimulationTime の値までの時間サンプル履歴を返します。

    データ型: datetime

    ドップラー速度と相対速度の履歴。これらのフィールドを含む構造体として返されます。

    • DopplerRate — ドップラーレートの履歴。ベクトル、行列、または 3D 配列として返されます。DopplerRate の形式は shift と似ていますが、列の数が時間サンプル数から 1 を引いた数と等しくなります。sourcetarget が互いを見ることができない場合、対応する DopplerRate の値は NaN になります。

    • RelativeVelocitysource から target の方向における sourcetarget の相対速度の履歴。スカラー、ベクトル、または行列として返されます。マトリックス内の行数は、source アセットと target アセットのうち大きい方の数になります。sourcetarget が相互にアクセスできない場合、RelativeVelocity の値は NaN になります。

    データ型: struct

    詳細

    すべて折りたたむ

    バージョン履歴

    R2023a で導入