Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

comm.Ray

RF 伝播光線の作成

R2020a 以降

説明

comm.Ray オブジェクトには、RF 伝播光線のプロパティが用意されています。このオブジェクトには、ある点から別の点に伝播する電波 (これは光線として近似されます) に関する幾何学情報と電磁気情報が含まれています。

作成

通常は、関数 raytrace を使用して comm.Ray オブジェクトを作成します。

説明

ray = comm.Ray は、既定の RF 伝播光線オブジェクトを作成します。

ray = comm.Ray(Name,Value) は、1 つ以上の名前と値のペアの引数を使用してプロパティを設定します。たとえば、comm.Ray("CoordinateSystem","Geographic","TransmitterLocation",[40.730610,-73.935242,0]) は、ニューヨーク市に送信機が配置された地理座標系を基準とする光線を作成します。

プロパティ

すべて展開する

伝播パスの指定方法。次のいずれかの値に指定します。

  • 'Locations' — ウェイポイントの間の光線オブジェクト パスは、TransmitterLocation プロパティ、ReceiverLocation プロパティ、および必要に応じて Interactions プロパティによる (x, y, z) 座標点として伝えられます。

  • 'Delay and angles' — ウェイポイントの間の光線オブジェクト パスは PropagationDelay プロパティ、AngleOfDeparture プロパティ、および AngleOfArrival プロパティによって伝えられます。

データ型: char | string

座標系。'Cartesian' または 'Geographic' として指定します。CoordinateSystem プロパティを 'Geographic' に設定した場合、座標系は WGS-84 地球楕円体モデルを基準にして定義され、オブジェクトは送信機および受信機でのローカルの East-North-Up (ENU) 座標系を基準にして角度を定義します。

依存関係

このプロパティを有効にするには、PathSpecification プロパティが 'Locations' でなければなりません。

データ型: char | string

メートル単位の直交座標系スケール。正のスカラーとして指定します。

依存関係

このプロパティを有効にするには、PathSpecification プロパティが 'Locations' で、CoordinateSystem プロパティが 'Cartesian' でなければなりません。

データ型: double

送信機の位置。座標の 3 要素の数値列ベクトルとして次のいずれかの形式で指定します。

  • [x; y; z] — この形式は、CoordinateSystem プロパティを 'Cartesian' に設定する場合に適用されます。オブジェクトは x、y、および z の範囲検証を実行しません。

  • [latitude; longitude; height] — この形式は、CoordinateSystem プロパティを 'Geographic' に設定する場合に適用されます。latitude は範囲 [–90, 90] 内になければなりません。オブジェクトは longitude および height の範囲検証を実行しません。height は、世界測地系 1984 (WGS84) で定義されている楕円体を基準としています。

依存関係

このプロパティを有効にするには、PathSpecification プロパティが 'Locations' でなければなりません。

データ型: double

受信機の位置。座標の 3 要素の数値列ベクトルとして次のいずれかの形式で指定します。

  • [x; y; z] — この形式は、CoordinateSystem プロパティを 'Cartesian' に設定する場合に適用されます。オブジェクトは x、y、および z の範囲検証を実行しません。

  • [latitude; longitude; height] — この形式は、CoordinateSystem プロパティを 'Geographic' に設定する場合に適用されます。latitude は範囲 [–90, 90] 内になければなりません。オブジェクトは longitude および height の範囲検証を実行しません。height は、世界測地系 1984 (WGS84) で定義されている楕円体を基準としています。

依存関係

このプロパティを有効にするには、PathSpecification プロパティが 'Locations' でなければなりません。

データ型: double

見通し線インジケーター。logical 1 (true) または logical 0 (false) として指定します。

  • 値が 1 (true) の場合、送信機から受信機への光線パスが障害物に妨げられていないことを意味します。

  • 値が 0 (false) の場合、送信機から受信機へのパスが障害物に妨げられていることを意味します。

依存関係

このプロパティを有効にするには、PathSpecification プロパティが 'Locations' でなければなりません。

データ型: logical

伝播パスに沿った光線-界面の相互作用。これらのフィールドを含む 1 行 NI 列の構造体として指定します。NI は相互作用の数です。

光線界面の相互作用のタイプ。'Reflection' または 'Diffraction' として指定します。

データ型: char | string

光線界面の相互作用の位置。光線上の相互作用点の座標を含む 3 行 1 列の数値ベクトルとして指定します。

  • CoordinateSystem プロパティが 'Cartesian' に設定されている場合、形式は [x; y; z] です。オブジェクトは x、y、および z の範囲検証を実行しません。

  • CoordinateSystem プロパティが 'Geographic' に設定されている場合、形式は [latitude; longitude; height] です。latitudeは [–90, 90] の範囲になければなりません。オブジェクトは longitude および height の範囲検証を実行しません。height は、世界測地系 1984 (WGS84) で定義されている楕円体を基準としています。

データ型: double

光線界面の相互作用に関する材質名。string スカラーとして指定します。

データ型: char | string

依存関係

このプロパティを有効にするには、PathSpecification プロパティが 'Locations' で、LineOfSight プロパティが 0 (false) でなければなりません。

データ型: struct

秒単位の伝播遅延。非負のスカラーとして指定します。既定値は、見通し内光線の TransmitterLocation プロパティと ReceiverLocation プロパティの既定値を使用して計算されます。

  • PathSpecification プロパティを 'Locations' に設定した場合、このプロパティは読み取り専用になり、値は TransmitterLocationReceiverLocation、および必要に応じて Interactions から導出されます。

  • PathSpecification プロパティを 'Delay and angles' に設定した場合、このプロパティは構成可能です。

データ型: double

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

メートル単位の伝播距離。非負のスカラーとして指定します。既定値は、見通し内光線の TransmitterLocation プロパティと ReceiverLocation プロパティの既定値を使用して計算されます。

  • PathSpecification プロパティを 'Locations' に設定した場合、値は TransmitterLocationReceiverLocation、および必要に応じて Interactions から導出されます。

  • PathSpecification プロパティを 'Delay and angles' に設定した場合、値は PropagationDelay から導出されます。

データ型: double

送信機から発射される光線の発射角 (度単位)。[az; el] 形式の数値ベクトルとして指定します。方位角 az は、正の x 軸から z 軸を中心に反時計回りに測定した値で、範囲 (–180, 180] 内でなければなりません。仰角 el は、xy 平面から測定した値で、範囲 [–90, 90] 内でなければなりません。既定値は、見通し内光線の TransmitterLocation プロパティと ReceiverLocation プロパティの既定値を使用して計算されます。

  • PathSpecification プロパティを 'Delay and angles' に設定した場合、このプロパティは構成可能です。

  • PathSpecification プロパティを 'Locations' に設定した場合、このプロパティは読み取り専用になり、値は TransmitterLocationReceiverLocation、および必要に応じて Interactions から導出されます。

  • CoordinateSystem'Geographic' に設定されている場合、角度は送信機でのローカルの East-North-Up (ENU) 座標系を基準にして定義されます。

データ型: double

受信機に到達する光線の到来角 (度単位)。[az; el] 形式の数値ベクトルとして指定します。方位角 az は、正の x 軸から z 軸を中心に反時計回りに測定した値で、範囲 (–180, 180] 内でなければなりません。仰角 el は、xy 平面から測定した値で、範囲 [–90, 90] 内でなければなりません。既定値は、見通し内光線の TransmitterLocation プロパティと ReceiverLocation プロパティの既定値を使用して計算されます。

  • PathSpecification プロパティを 'Delay and angles' に設定した場合、このプロパティは構成可能です。

  • PathSpecification プロパティを 'Locations' に設定した場合、このプロパティは読み取り専用になり、値は TransmitterLocationReceiverLocation、および必要に応じて Interactions から導出されます。

  • CoordinateSystem'Geographic' に設定されている場合、角度は受信機でのローカルの East-North-Up (ENU) 座標系を基準にして定義されます。

データ型: double

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

送信機から受信機までの光線オブジェクトの光線界面の相互作用の数。非負の整数として指定します。値は LineOfSight、および必要に応じて Interactions から導出されます。

依存関係

このプロパティを有効にするには、PathSpecification プロパティが 'Locations' でなければなりません。

データ型: double

信号周波数 (Hz 単位)。正のスカラーとして指定します。

データ型: double

パス損失のソース。'Free space model' または 'Custom' として指定します。

データ型: char | string

パス損失 (dB 単位)。非負のスカラーとして指定します。既定値は、見通し内光線の TransmitterLocation プロパティと ReceiverLocation プロパティの既定値を使用して計算されます。

  • PathLossSource プロパティを 'Free space model' に設定した場合、PathLoss プロパティは読み取り専用で、自由空間伝播モデルを使用して PropagationDistance プロパティと Frequency プロパティから導出されます。

  • PathLossSource プロパティを 'Custom' に設定した場合、幾何学的特性に関係なく PathLoss プロパティを設定できます。

データ型: double

位相シフト (ラジアン単位)。数値スカラーとして指定します。既定値は、見通し内光線の TransmitterLocation プロパティと ReceiverLocation プロパティの既定値を使用して計算されます。

  • PathLossSource プロパティを 'Free space model' に設定した場合、PhaseShift プロパティは読み取り専用で、自由空間伝播モデルを使用して PropagationDistance プロパティと Frequency プロパティから導出されます。

  • PathLossSource プロパティを 'Custom' に設定した場合、幾何学的特性に関係なく PhaseShift プロパティを設定できます。

データ型: double

オブジェクト関数

plot (rays)サイト ビューアーでの RF 伝播光線の表示

すべて折りたたむ

香港でレイ トレーシングを実行し、comm.Ray オブジェクトにその光線を返します。comm.Ray オブジェクトには、送信機サイトと受信機サイトとの間の伝播パスに関する幾何学情報と電磁気情報が含まれています。

香港の建物を指定してサイト ビューアーを起動します。OpenStreetMap® ファイルの詳細については、[1] を参照してください。

viewer = siteviewer("Buildings","hongkong.osm");

Site Viewer with buildings

送信機サイトと受信機サイトを作成します。

tx = txsite("Latitude",22.2789,"Longitude",114.1625, ...
    "AntennaHeight",10,"TransmitterPower",5, ...
    "TransmitterFrequency",28e9);
rx = rxsite("Latitude",22.2799,"Longitude",114.1617, ...
    "AntennaHeight",1);

レイ トレーシング伝播モデルを作成します。MATLAB® は、RayTracing オブジェクトを使用してこのモデルを表現します。最大 3 回の表面反射と最大 1 回のエッジ回折を伴うパスを検出するように、モデルを構成します。既定では、このモデルは Shooting and Bouncing Rays (SBR) 法を使用します。

pm = propagationModel("raytracing","MaxNumReflections",3,"MaxNumDiffractions",1);

レイ トレーシング解析を実行します。関数 raytrace は、comm.Ray オブジェクトを含む cell 配列を返します。既定では、レイ トレーシング モデルは最も強いパスより 40 デシベルを超えて弱い光線を破棄します。

rays = raytrace(tx,rx,pm)
rays = 1×1 cell array
    {1×15 comm.Ray}

最初の comm.Ray オブジェクトのプロパティを表示します。LineOfSight プロパティの値は 1 で、NumInteractions プロパティの値は 0 です。この組み合わせは、光線が見通し内パスを定義することを示しています。

rays{1}(1)
ans = 
  Ray with properties:

      PathSpecification: 'Locations'
       CoordinateSystem: 'Geographic'
    TransmitterLocation: [3×1 double]
       ReceiverLocation: [3×1 double]
            LineOfSight: 1
              Frequency: 2.8000e+10
         PathLossSource: 'Custom'
               PathLoss: 104.2656
             PhaseShift: 4.6360

   Read-only properties:
       PropagationDelay: 4.6442e-07
    PropagationDistance: 139.2294
       AngleOfDeparture: [2×1 double]
         AngleOfArrival: [2×1 double]
        NumInteractions: 0

3 番目の comm.Ray オブジェクトのプロパティを表示します。LineOfSight プロパティの値は 0 で、NumInteractions プロパティの値は 2 です。この組み合わせは、光線と 2 つの界面の相互作用によってパスが定義されることを示しています。

rays{1}(3)
ans = 
  Ray with properties:

      PathSpecification: 'Locations'
       CoordinateSystem: 'Geographic'
    TransmitterLocation: [3×1 double]
       ReceiverLocation: [3×1 double]
            LineOfSight: 0
           Interactions: [1×2 struct]
              Frequency: 2.8000e+10
         PathLossSource: 'Custom'
               PathLoss: 142.3763
             PhaseShift: 0.7160

   Read-only properties:
       PropagationDelay: 8.3065e-07
    PropagationDistance: 249.0217
       AngleOfDeparture: [2×1 double]
         AngleOfArrival: [2×1 double]
        NumInteractions: 2

Interactions プロパティのクエリを実行し、相互作用のタイプ、位置、および材質を表示します。

rays{1}(3).Interactions(1)
ans = struct with fields:
            Type: 'Diffraction'
        Location: [3×1 double]
    MaterialName: "concrete"

rays{1}(3).Interactions(2)
ans = struct with fields:
            Type: 'Reflection'
        Location: [3×1 double]
    MaterialName: "concrete"

サイトとレイ トレーシング パスを可視化します。

show(tx)
show(rx)
plot(rays{1})

Propagation paths from the transmitter site to the receiver site

付録

[1] OpenStreetMap ファイルは、クラウドソーシングによる世界中の地図データへのアクセスを提供する https://www.openstreetmap.org からダウンロードされたものです。このデータは Open Data Commons Open Database License (ODbL) https://opendatacommons.org/licenses/odbl/ によりライセンスされています。

シカゴでレイ トレーシングを実行し、comm.Ray オブジェクトにその光線を返します。次に、レイ トレーシング解析を実行せずに光線を再度表示します。

シカゴの建物を指定してサイト ビューアーを起動します。OpenStreetMap® ファイルの詳細については、[1] を参照してください。

viewer = siteviewer("Buildings","chicago.osm");

Site Viewer with buildings

ある建物の上に送信機サイト、別の建物の上に受信機サイトを作成します。関数 los を使用して、サイト間の見通し内パスを表示します。

tx = txsite("Latitude",41.8800, ...
    "Longitude",-87.6295, ...
    "TransmitterFrequency",2.5e9);
rx = rxsite("Latitude",41.881352, ...
    "Longitude",-87.629771, ...
    "AntennaHeight",30);
los(tx,rx)

Obstructed line-of-sight path from the transmitter site to the receiver site. The path is green from the transmitter to the building, and red from the building to the receiver.

レイ トレーシング伝播モデルを作成します。MATLAB® は、RayTracing オブジェクトを使用してこのモデルを表現します。既定では、このモデルは SBR 法を使用し、最大 2 回の反射を伴う伝播パスを計算します。

pm = propagationModel("raytracing");

レイ トレーシング解析を実行します。関数 raytrace は、comm.Ray オブジェクトを含む cell 配列を返します。

rays = raytrace(tx,rx,pm)
rays = 1×1 cell array
    {1×3 comm.Ray}

最初の ray オブジェクトのプロパティを表示します。

rays{1}(1)
ans = 
  Ray with properties:

      PathSpecification: 'Locations'
       CoordinateSystem: 'Geographic'
    TransmitterLocation: [3×1 double]
       ReceiverLocation: [3×1 double]
            LineOfSight: 0
           Interactions: [1×1 struct]
              Frequency: 2.5000e+09
         PathLossSource: 'Custom'
               PathLoss: 92.7740
             PhaseShift: 1.2933

   Read-only properties:
       PropagationDelay: 5.7088e-07
    PropagationDistance: 171.1462
       AngleOfDeparture: [2×1 double]
         AngleOfArrival: [2×1 double]
        NumInteractions: 1

サイト ビューアーを閉じます。

close(viewer)

同じ建物、送信機サイト、受信機サイトを使用して、別のサイト ビューアーを作成します。次に、伝播パスを表示します。または、rays{1}(2) のように、単一の ray オブジェクトを指定してパスを個別にプロットすることもできます。

siteviewer("Buildings","chicago.osm");
show(tx)
show(rx)
plot(rays{1},"Type","power", ...
    "TransmitterSite",tx,"ReceiverSite",rx)

Three propagation paths from the transmitter site to the receiver site

付録

[1] OpenStreetMap ファイルは、クラウドソーシングによる世界中の地図データへのアクセスを提供する https://www.openstreetmap.org からダウンロードされたものです。このデータは Open Data Commons Open Database License (ODbL) https://opendatacommons.org/licenses/odbl/ によりライセンスされています。

拡張機能

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

バージョン履歴

R2020a で導入

すべて展開する