メインコンテンツ

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

dopplerShiftCircularOrbit

円軌道衛星による地上局でのドップラーシフトを計算する

R2024a 以降

    説明

    shift = dopplerShiftCircularOrbit(el,hs,hg,freq) は、指定された仰角el、衛星高度hs、地上局高度hg、および衛星搬送周波数 freq で、円軌道を周回する衛星による地上局でのドップラーシフトをヘルツ単位で計算します。

    詳細については、ドップラーシフトの計算を参照してください。

    メモ

    dopplerShiftCircularOrbit は以下を前提としています:

    • 地球は球体であり、地上局は静止しており、地球は自転しません。

    • 衛星から地上局へのアクセスまたはリンクは常時可能です。

    • 地上局は北極(正の Z 軸)に位置し、衛星はYZ 平面の第 2 象限にある初期入力仰角el からスタートします。

    • 衛星は円軌道上を時計回りに移動します。

    shift = dopplerShiftCircularOrbit(el,hs,hg,freq,time) は、円軌道を周回する衛星による地上局でのドップラーシフトを計算するための時間インスタンスを指定します。

    詳細については、ドップラーシフトの計算を参照してください。

    すべて折りたたむ

    円軌道を移動する衛星のドップラーシフトを計算し、ドップラーシフトを仰角の関数としてプロットします。

    衛星高度を 10000 km、地上局高度を 120 m、衛星搬送周波数を 20 GHz に設定します。

    hs = 10000e3; % meters
    hg = 120;     % meters
    freq = 20e9;  % Hz

    仰角を0 度から 90 度まで変化させます。

    el = 0:90;   % degrees

    さまざまな仰角に対するドップラーシフトを計算します。

    shift = dopplerShiftCircularOrbit(el,hs,hg,freq);

    ドップラーシフトを仰角の関数としてプロットします。

    figure
    plot(el,shift,"-*")
    title("Doppler Shift vs Elevation Angle")
    xlabel("Elevation Angle (degrees)")
    ylabel("Doppler Shift (Hz)")
    grid on

    Figure contains an axes object. The axes object with title Doppler Shift vs Elevation Angle, xlabel Elevation Angle (degrees), ylabel Doppler Shift (Hz) contains an object of type line.

    衛星の1軌道周期におけるドップラーシフトの変化を可視化します。

    衛星高度を 1500 km、初期仰角を 45 度、衛星搬送周波数を 5 GHz に設定します。地上局の高さは0mと仮定します。

    hs = 1500e3; % meters
    el = 45;     % degrees
    freq = 5e9;  % Hz
    hg = 0;      % meters

    指定された衛星高度1500 km の場合、軌道周期は 6949.518 秒です。1 周回期間をカバーするには、最大時間インスタンスを 6950 秒に設定します。

    time = 0:6950; % seconds

    指定された時間インスタンスのドップラーシフトを計算します。

    shift = dopplerShiftCircularOrbit(el,hs,hg,freq,time);

    ドップラーシフトを時間の関数としてプロットします。

    figure
    plot(time,shift)
    title("Doppler Shift vs Time")
    xlabel("Time (seconds)")
    ylabel("Doppler Shift (Hz)")
    grid on

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

    入力引数

    すべて折りたたむ

    衛星の仰角(度単位)。実数のスカラーまたはベクトルとして指定されます。

    この関数は、各仰角を独立した衛星として扱います。仰角の公称範囲は 0 度から 90 度です。ただし、この関数は任意の仰角を受け入れるため、衛星を軌道上の任意の場所に配置できます。

    たとえば、この図は、el 入力が [45 135 225] となるシナリオを示しています。この場合、関数は 3 つの独立した衛星があると想定します。

    • 衛星1、仰角α1 = 45°

    • 衛星2、仰角α2 = 135°

    • 衛星3、仰角α3 = 225°

    Figure shows 3 elevation angles (45, 135, and 225 degrees) where satellites are positioned in orbit. Each elevation angle is considered as a seperate satellite.

    データ型: double

    衛星の高度(メートル単位)。正のスカラーとして指定されます。

    データ型: double

    地上局の高度(メートル単位)。非負のスカラーとして指定されます。

    hghs より小さくなければなりません。

    データ型: double

    衛星搬送周波数(ヘルツ単位)。非負のスカラーとして指定されます。

    データ型: double

    円軌道衛星と地上局間の距離を計算する時間インスタンス。実数スカラーまたはベクトルとして指定されます。単位は秒です。

    time の負の値は、衛星の反時計回りの回転を表します。

    time を指定すると、関数は elhs、および hg 入力を 0 秒の初期値として使用します。

    データ型: double

    出力引数

    すべて折りたたむ

    円軌道衛星による地上局でのドップラーシフト(ヘルツ単位)が、スカラー、ベクトル、または行列として返されます。

    el を長さ NumEL のベクトルとして指定し、time を長さ NumTIME のベクトルとして指定すると、shift はサイズが NumELNumTIME 列の行列になります。shift の各行は、対応する仰角のドップラーシフトを表します。

    衛星が地上局の上空を通過すると、ドップラーシフトは継続的に変化します。衛星が地平線から昇り天頂に向かって移動すると、ドップラーシフトは徐々に減少し、天頂で 0 になります。衛星が天頂から遠ざかるにつれて、ドップラー効果は再び負の方向に増加し、ドップラーシフトが最大範囲に達するまで続きます。この動作の図解については、衛星の軌道周期ごとのドップラーシフトの変化を可視化する の例を参照してください。

    データ型: double

    詳細

    すべて折りたたむ

    拡張機能

    すべて展開する

    C/C++ コード生成
    MATLAB® Coder™ を使用して C および C++ コードを生成します。

    バージョン履歴

    R2024a で導入