comm.Ray
RF 伝播光線の作成
説明
comm.Ray
オブジェクトには、RF 伝播光線のプロパティが用意されています。このオブジェクトには、ある点から別の点に伝播する電波 (これは光線として近似されます) に関する幾何学情報と電磁気情報が含まれています。
作成
通常は、関数 raytrace
を使用して comm.Ray
オブジェクトを作成します。
説明
は、既定の RF 伝播光線オブジェクトを作成します。ray
= comm.Ray
は、名前と値の引数を 1 つ以上使用してプロパティを設定します。たとえば、ray
= comm.Ray(Name=Value
)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'
に設定した場合、このプロパティは読み取り専用になり、値はTransmitterLocation
、ReceiverLocation
、および必要に応じてInteractions
から導出されます。PathSpecification
プロパティを'Delay and angles'
に設定した場合、このプロパティは構成可能です。
データ型: double
この プロパティ は読み取り専用です。
伝播距離 (メートル単位)。非負のスカラーとして指定します。既定値は、見通し内光線の TransmitterLocation
プロパティと ReceiverLocation
プロパティの既定値を使用して計算されます。
PathSpecification
プロパティを'Locations'
に設定した場合、値はTransmitterLocation
、ReceiverLocation
、および必要に応じて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'
に設定した場合、このプロパティは読み取り専用になり、値はTransmitterLocation
、ReceiverLocation
、および必要に応じて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'
に設定した場合、このプロパティは読み取り専用になり、値はTransmitterLocation
、ReceiverLocation
、および必要に応じて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) | Display RF propagation rays in Site Viewer |
例
香港でレイ トレーシングを実行し、comm.Ray
オブジェクトにその光線を返します。comm.Ray
オブジェクトには、送信機サイトと受信機サイトとの間の伝播パスに関する幾何学情報と電磁気情報が含まれています。
香港の建物を指定してサイト ビューアーを起動します。OpenStreetMap® ファイルの詳細については、[1] を参照してください。
viewer = siteviewer(Buildings="hongkong.osm");
送信機サイトと受信機サイトを作成します。
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.6406 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.4192 PhaseShift: 0.7186 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})
付録
[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");
ある建物の上に送信機サイト、別の建物の上に受信機サイトを作成します。関数 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)
レイ トレーシング伝播モデルを作成します。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.7686 PhaseShift: 1.2945 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)
付録
[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 で導入ReflectionLocations
および NumReflections
プロパティは削除されました。反射に対応するため、Interactions
プロパティで ReflectionLocations
プロパティを置き換え、NumInteractions
プロパティで NumReflections
プロパティを置き換えます。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)