coverage
カバレッジ マップの表示または計算
構文
説明
coverage( は、指定された送信機サイトのカバレッジ マップを現在のサイト ビューアーで表示します。マップに表示される色付きの各領域は、対応する強度の信号が移動体受信機に送信されるエリアを表します。txs)
この関数は、CoordinateSystem プロパティが "geographic" に設定されているアンテナのみをサポートします。
coverage( は、指定された受信機サイトの情報を使用してカバレッジ マップを表示します。この関数は、受信機サイトを使用して受信機のゲインと受信機のアンテナ高さを計算しますが、受信機サイトの緯度と経度は使用しません。受信機のゲインと受信機のアンテナ高さの詳細については、名前と値の引数 txs,rx)ReceiverGain および ReceiverAntennaHeight を参照してください。
coverage(___, は、名前と値の引数によって指定された追加オプションを使用してカバレッジ マップを表示します。Name=Value)
例
MathWorks 本社に送信機サイトを作成します。
tx = txsite(Name="MathWorks",Latitude=42.3001,Longitude=-71.3503);カバレッジ マップを表示します。
coverage(tx)

MathWorks 本社に送信機サイトを作成します。
tx = txsite(Name="MathWorks",Latitude=42.3001,Longitude=-71.3503);フェンウェイ・パークに、アンテナ高さ 1.2 m、システム損失 10 dB で受信機サイトを作成します。
rx = rxsite(Name="Fenway Park",Latitude=42.3467,Longitude=-71.0972, ... AntennaHeight=1.2,SystemLoss=10);
近距離伝播モデルを使用して、送信機のカバレッジ エリアを計算します。
coverage(tx,rx,PropagationModel="closein")
対応する色を使用して、強い信号と弱い信号の強度を定義します。
strongSignal = -75; strongSignalColor = "green"; weakSignal = -90; weakSignalColor = "cyan";
送信機サイトを作成し、カバレッジ マップを表示します。
tx = txsite(Name="MathWorks", ... Latitude=42.3001, ... Longitude=-71.3503); coverage(tx,SignalStrengths=[strongSignal,weakSignal], ... Colors=[strongSignalColor,weakSignalColor])

4.5 GHz の送信周波数用に設計された八木宇田アンテナを定義します。XY 平面内で (つまり、地理的な方位角に向けて) 放射されるようにアンテナを傾けます。
fq = 4.5e9;
y = design(yagiUda,fq);
y.Tilt = 90;
y.TiltAxis = "y";この指向性アンテナを使って送信機サイトを作成します。
tx = txsite(Name="MathWorks", ... Latitude=42.3001,Longitude=-71.3503, ... Antenna=y,AntennaHeight=60, ... TransmitterFrequency=fq,TransmitterPower=10);
降雨伝搬モデルを使用してカバレッジ マップを表示します。マップ パターンは東を指しています。これは、既定のアンテナ角度である 0 度に相当します。
coverage(tx,"rain",SignalStrengths=-90)
ボストン周辺のサイトの名前と位置を定義します。
names = ["Fenway Park","Faneuil Hall","Bunker Hill Monument"]; lats = [42.3467,42.3598,42.3763]; lons = [-71.0972,-71.0545,-71.0611];
送信機サイトの配列を作成します。
txs = txsite(Name=names, ... Latitude=lats, ... Longitude=lons, ... TransmitterFrequency=2.5e9);
近距離伝播モデルを使用して、複数の信号強度に対する合成カバレッジ マップを表示します。
coverage(txs,"close-in",SignalStrengths=-100:5:-60)
シカゴの建物を指定してサイト ビューアーを起動します。OpenStreetMap® ファイルの詳細については、[1] を参照してください。
viewer = siteviewer(Buildings="chicago.osm");建物の上に送信機サイトを作成します。
tx = txsite(Latitude=41.8800, ... Longitude=-87.6295, ... TransmitterFrequency=2.5e9); show(tx)

Longley-Rice 伝播モデルを使用したカバレッジ マップ
Longley-Rice 伝播モデルを使用して、都市のカバレッジ マップを作成します。
coverage(tx,SignalStrengths=-100:-5,MaxRange=250,Resolution=1)

Longley-Rice モデルでは、垂直スライスと障害物に沿った屋上越しの伝播がカバレッジ領域の大部分を占めています。
レイ トレーシング伝播モデルとイメージ手法を使用したカバレッジ マップ
レイ トレーシング伝播モデルを作成します。MATLAB® は、RayTracing オブジェクトを使用してこのモデルを表現します。イメージ手法を使用し、最大 1 回の表面反射を伴う伝播パスを検出するようにモデルを構成します。
pmImage = propagationModel("raytracing",Method="image", ... MaxNumReflections=1);
送信機サイトとレイ トレーシング伝播モデルを使用して、都市のカバレッジ マップを作成します。
coverage(tx,pmImage,SignalStrengths=-100:-5, ...
MaxRange=250,Resolution=2)
このカバレッジ マップには、反射による伝播パスによって通信が可能になった新たな領域が示されています。
レイ トレーシング伝播モデルと SBR 法を使用したカバレッジ マップ
別のレイ トレーシング伝播モデルを作成します。今回は、Shooting and Bounicng Rays (SBR) 法を使用し、最大 2 回の表面反射を伴う伝播パスを検出するようにモデルを構成します。SBR 法の方がイメージ手法よりも一般に高速になります。
pmSBR = propagationModel("raytracing",Method="sbr", ... MaxNumReflections=2);
都市の更新されたカバレッジ マップを作成します。
coverage(tx,pmSBR,SignalStrengths=-100:-5, ...
MaxRange=250,Resolution=2)
このカバレッジ マップには、追加の反射による伝播パスによって通信が可能になった新たな領域が示されています。
付録
[1] OpenStreetMap ファイルは、クラウドソーシングによる世界中の地図データへのアクセスを提供する https://www.openstreetmap.org からダウンロードされたものです。このデータは Open Data Commons Open Database License (ODbL) https://opendatacommons.org/licenses/odbl/ によりライセンスされています。
入力引数
送信機サイト。txsite オブジェクトまたは txsite オブジェクトの配列として指定します。
この関数は、CoordinateSystem プロパティが "geographic" に設定されている場合にのみアンテナ サイトのプロットをサポートします。
受信機サイト。rxsite オブジェクトとして指定します。
この関数は、CoordinateSystem プロパティが "geographic" に設定されている場合にのみアンテナ サイトのプロットをサポートします。
パス損失の計算に使用する伝播モデル。次のオプションのいずれかとして指定します。
"freespace"— 自由空間伝播モデル"rain"— 降雨伝播モデル"gas"— ガス伝播モデル"fog"— 霧伝播モデル"close-in"— 近距離伝播モデル"longley-rice"— Longley-Rice 伝播モデル"tirem"— TIREM™ 伝播モデル"raytracing"— Shooting and Bouncing Rays (SBR) 法を使用するレイ トレーシング伝播モデル。レイ トレーシング モデルを入力として指定した場合、この関数はフェーザの和を使用してマルチパス干渉を組み込みます。関数
propagationModelを使用して作成した伝播モデル。たとえば、propagationModel("raytracing","Method","image")を指定して、イメージ手法を使用するレイ トレーシング伝播モデルを作成することができます。
既定値は、入力サイトで使用される座標系によって異なります。
| 座標系 | 伝播モデルの既定値 |
|---|---|
"geographic" |
|
"cartesian" |
|
"longley-rice" や "tirem" などの地形伝播モデルは、CoordinateSystem の値が "geographic" であるサイトでのみサポートされます。
名前と値のペアの引数 PropagationModel を使用して伝播モデルを指定することもできます。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: coverage(txs,Type="efield") は電界強度単位 (dBμV/m) で信号強度の単位を指定します。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。
例: coverage(txs,"Type","efield") は電界強度単位 (dBμV/m) で信号強度の単位を指定します。
一般
計算する信号強度のタイプ。以下のいずれかのオプションとして指定します。
"power"—SignalStrengthsの信号強度は、移動体受信機の入力における信号を電力単位 (dBm) で表したものになります。"efield"—SignalStrengthsの信号強度は、アンテナに入射される信号波を電界強度単位 (dBμV/m) で表したものになります。
データ型: char | string
カバレッジ マップに表示する信号強度。数値ベクトルとして指定します。
各強度は、異なる色で塗りつぶされた領域としてマップ上に表示されます。既定値は、Type が "power" である場合は -100 dBm、Type が "efield" である場合は 40 dBμV/m です。
データ型: double
パス損失の計算に使用する伝播モデル。次のオプションのいずれかとして指定します。
"freespace"— 自由空間伝播モデル"rain"— 降雨伝播モデル"gas"— ガス伝播モデル"fog"— 霧伝播モデル"close-in"— 近距離伝播モデル"longley-rice"— Longley-Rice 伝播モデル"tirem"— TIREM 伝播モデル"raytracing"— Shooting and Bouncing Rays (SBR) 法を使用するレイ トレーシング伝播モデル。レイ トレーシング モデルを入力として指定した場合、この関数はフェーザの和を使用してマルチパス干渉を組み込みます。関数
propagationModelを使用して作成した伝播モデル。たとえば、propagationModel("raytracing","Method","image")を指定して、イメージ手法を使用するレイ トレーシング伝播モデルを作成することができます。
既定値は、入力サイトで使用される座標系によって異なります。
| 座標系 | 伝播モデルの既定値 |
|---|---|
"geographic" |
|
"cartesian" |
|
"longley-rice" や "tirem" などの地形伝播モデルは、CoordinateSystem の値が "geographic" であるサイトでのみサポートされます。
データ型: char | string
受信機アンテナの地面から位相中心までの高さ。数値スカラーとして m 単位で指定します。
受信機サイトの引数 rx を指定した場合、既定値は受信機サイトの AntennaHeight プロパティです。そうでない場合、既定値は 1 です。
データ型: double
表面データを可視化するためのマップ。siteviewer オブジェクトとして指定します。 1
データ型: char | string
カバレッジのプロット
各送信機サイトのカバレッジ マップの最大範囲。大圏距離を表す正の数値スカラーとして m 単位で指定します。MaxRange は、マップ上にプロットする関心領域を定義します。既定値は、伝播モデルのタイプに基づいて自動的に計算されます。
| 伝播モデルのタイプ | 既定の最大範囲 |
|---|---|
| 大気または経験的 | SignalStrengths の最小値の範囲 |
| 地形 | 30 km および最も遠い建物までの距離のいずれか小さい方 |
| レイ トレーシング | 500 m |
伝搬モデルのタイプの詳細については、伝播モデルの選択を参照してください。
データ型: double
カバレッジ マップの解像度。"auto"、または m 単位の数値スカラーとして指定します。解像度が "auto" である場合、この関数は、MaxRange にスケーリングされた最大値を計算します。解像度を落とすと、カバレッジ マップの品質が向上しますが、作成に時間がかかります。
データ型: char | string | double
カバレッジ マップ上の塗りつぶし領域の色。次のいずれかのオプションとして指定します。
各要素が色の赤、緑、青の成分の強度を指定する RGB 3 成分からなる M 行 3 列の配列。強度は
[0,1]の範囲でなければなりません (例:[0.4 0.6 0.7])。string の配列 (
["red" "green" "blue"]や["r" "g" "b"]など)。文字ベクトルの cell 配列 (
{'red','green','blue'}や{'r','g','b'}など)。
色は、要素単位で SignalStrengths の値に対して割り当てられ、対応する塗りつぶし領域の色が指定されます。
Colors は ColorLimits や ColorMap と一緒に使用できません。
よく使われる色の色名、およびそれらと等価な RGB 3 成分を次の表に示します。
| 色名 | 省略名 | RGB 3 成分 | 外観 |
|---|---|---|---|
"red" | "r" | [1 0 0] |
|
"green" | "g" | [0 1 0] |
|
"blue" | "b" | [0 0 1] |
|
"cyan" | "c" | [0 1 1] |
|
"magenta" | "m" | [1 0 1] |
|
"yellow" | "y" | [1 1 0] |
|
"black" | "k" | [0 0 0] |
|
"white" | "w" | [1 1 1] |
|
データ型: char | string | double
塗りつぶし領域を色付けするためのカラーマップ。事前定義されたカラーマップ、または RGB 3 成分からなる M 行 3 列の配列として指定します。ここで、M は個々の色の数です。
ColorMap は Colors と一緒に使用できません。
データ型: char | string | double
信号強度の色の凡例をマップに表示するかどうか。true または false として指定します。
データ型: logical
カバレッジ マップの透明度。範囲 0 ~ 1 の数値スカラーとして指定します。0 は透明、1 は不透明です。
データ型: double
出力引数
カバレッジ データ。Latitude、Longitude、およびプロット タイプに対応した信号強度変数からなる propagationData オブジェクトとして返されます。propagationData の名前は "Coverage Data" です。
カバレッジ データ。以下のプロパティをもつ propagationData オブジェクトとして返されます。
Nameは'Coverage Data'の値をもちます。Dataには table が格納されます。この table には、table 変数LatitudeおよびLongitudeが格納され、さらに、Typeの値に応じて table 変数PowerまたはEfieldが格納されます。DataVariableNameは'Power'または'Efield'の値をもちます。
制限
RayTracing オブジェクトを関数 coverage への入力として指定する場合、MaxNumDiffractions プロパティの値は 0 または 1 でなければなりません。
参照
[1] International Telecommunications Union Radiocommunication Sector. Effects of Building Materials and Structures on Radiowave Propagation Above About 100MHz. Recommendation P.2040. ITU-R, approved August 23, 2023. https://www.itu.int/rec/R-REC-P.2040/en.
[2] International Telecommunications Union Radiocommunication Sector. Electrical Characteristics of the Surface of the Earth. Recommendation P.527. ITU-R, approved September 27, 2021. https://www.itu.int/rec/R-REC-P.527/en.
[3] Mohr, Peter J., Eite Tiesinga, David B. Newell, and Barry N. Taylor. “Codata Internationally Recommended 2022 Values of the Fundamental Physical Constants.” NIST, May 8, 2024. https://www.nist.gov/publications/codata-internationally-recommended-2022-values-fundamental-physical-constants.
拡張機能
coverage 関数は GPU でのレイ トレーシング解析をサポートしますが、次の使用上の注意および制限があります。
RayTracing伝播モデル オブジェクトが入力として指定され、オブジェクトのUseGPUプロパティが"on"または"auto"である場合、関数は GPU で実行されます。GPU がレイ トレーシング解析を高速化できる条件については、
RayTracingオブジェクトのUseGPUプロパティを参照してください。場合によっては、アルゴリズムとハードウェア実装のわずかな違いにより、GPU とローカル CPU の結果が異なることがあります。
GPU でレイ トレーシング解析を実行する方法の例については、Accelerate Ray Tracing Analysis Using GPUを参照してください。
バージョン履歴
R2017b で導入レイ トレーシング モデルを使用してカバレッジを計算する際、coverage 関数は追加の材料を使用してレイ トレーシング解析を実行します。この変更の結果、シーン内の材料に応じて、coverage 関数は、R2025a では以前のリリースと異なる値を返す可能性があります。
レイ トレーシング モデルを使用してカバレッジを計算する際、coverage 関数は改良されたアルゴリズムと定数値を使用します。
SBR 法では、シーン内の追加のエッジを回折の候補として使用します。その結果、SBR 法では、R2025a において以前のリリースよりも多くの光線を見つけることができるようになっています。
Antenna Toolbox™ または Phased Array System Toolbox™ の偏波アンテナをもつ送信機と受信機を指定すると、関数は光線の位相シフトを計算するために、アンテナの遠方界パターンを異なる方法で組み込む改良されたアルゴリズムを使用します。
関数は、2022 年の科学技術データ委員会 (CODATA) による基本定数の調整で推奨されている定数値[3]を使用します。以前のリリースでは、この関数は国際電気通信連合勧告 (ITU-R) P.2040 および P.527 の定数値を使用していました。
これらの変更の結果、coverage 関数は、R2025a では以前のリリースと異なる値を返す可能性があります。
RayTracing 伝搬モデル オブジェクトを入力として指定した場合、建物があるシーンにおける coverage 関数のパフォーマンスが向上します。
たとえば、次のコードは、coverage 関数と、propagationModel 関数を使用して作成された RayTracing 伝播モデル オブジェクトを使用し、都市のシーンにおけるアンテナ サイトのカバレッジ マップを作成します。カバレッジ マップを作成するコードは、R2024a よりも R2024b の方が約 1.2 倍高速です。
function timingTest % Create Site Viewer and site sv = siteviewer(Buildings="chicago.osm"); tx = txsite(Latitude=41.88,Longitude=-87.6295, ... TransmitterFrequency=2.5e9); % Create RayTracing object pm = propagationModel("raytracing", ... MaxNumReflections=1,MaxNumDiffractions=1); % Create coverage map t1 = tic; coverage(tx,pm) toc(t1) close(sv) end
およその実行時間は次のとおりです。
R2024b: 112 秒
R2024a: 133 秒
このコードの時間計測は、Windows® 11、AMD EPYC™ 74F3 24 コア プロセッサ @ 3.19 GHz テスト システム上で、関数 timingTest を呼び出して行いました。
この例で使用されている OpenStreetMap ファイルは、クラウドソーシングによる世界中の地図データへのアクセスを提供する https://www.openstreetmap.org からダウンロードできます。このデータは Open Data Commons Open Database License (ODbL) https://opendatacommons.org/licenses/odbl/ によりライセンスされています。
OpenStreetMap® ファイルまたは地理空間テーブルからシーンを作成し、"raytracing"、または BuildingsMaterial プロパティが "auto" (既定) に設定された RayTracing 伝搬モデル オブジェクトとして入力引数 propmodel を指定した場合、関数 coverage は同じシーンで複数の材料を使用してレイ トレーシング解析を実行します。
関数 coverage は、ファイルまたはテーブルに保存された材料を使用してレイ トレーシング解析を実行します。ファイルまたはテーブルで材料が指定されていない場合、またはレイ トレーシング解析でサポートされていない材料がファイルまたはテーブルで指定されている場合、この関数は、代わりにコンクリートを使用します。
その結果、関数 coverage は、R2023b では以前のリリースとは異なる値を返す可能性があります。ファイルまたはテーブルに保存された材料が使用されるのを回避するには、RayTracing オブジェクトを作成し (関数 propagationModel を使用)、BuildingsMaterial プロパティを "concrete" に設定します。次に、そのオブジェクトを関数 coverage への入力として使用します。
Shooting and Bounicng Rays (SBR) 法を使用する RayTracing 伝搬モデル オブジェクトを入力として指定した場合、複雑なシーンにおける関数 coverage のパフォーマンスが向上します。
MATLAB® がレイ トレーシング解析を実行するのに必要な時間は、シーン、および RayTracing オブジェクトのプロパティ (AngularSeparation、MaxNumDiffractions、MaxNumReflections、MaxAbsolutePathLoss、および MaxRelativePathLoss プロパティなど) によって異なります。MaxAbsolutePathLoss プロパティと MaxRelativePathLoss プロパティに適度な値を設定すると、R2023a と比べて R2023b のレイ トレーシング解析が 2 倍以上高速になる場合があります。
レイ トレーシング伝播モデルは、パス損失しきい値に基づいて伝播パスを破棄します。既定では、propmodel 入力引数を "raytracing" または RayTracing オブジェクトとして指定したときに、伝播モデルは最も強いパスより 40 dB を超えて弱いパスを破棄します。
その結果、関数 coverage は、R2023a では以前のリリースとは異なる値を返す可能性があります。相対パス損失しきい値に基づいてパスが破棄されることを回避するには、RayTracing オブジェクトを作成し (関数 propagationModel を使用)、その MaxRelativePathLoss プロパティを Inf に設定します。次に、そのオブジェクトを関数 coverage への入力として使用します。
レイ トレーシング モデルを使用してカバレッジを計算する際、関数 coverage がフェーザの和を使用してマルチパス干渉を組み込むようになりました。以前のリリースで、この関数は電力の和を使用していました。そのため、R2022b では以前のリリースよりも正確な計算結果が得られます。
R2021b 以降、関数 coverage を使用し、引数 propmodel または名前と値の引数 PropagationModel を "raytracing" として指定した場合、この関数は、Shooting and Bouncing Rays (SBR) 法を使用して最大 2 回の反射を計算します。以前のリリースでは、関数 coverage はイメージ手法を使用し、最大 1 回の反射を計算します。
代わりにイメージ手法を使用してカバレッジ マップの表示または計算を行うには、関数 propagationModel を使用して伝播モデルを作成します。次に、伝播モデルを入力として関数 coverage を使用します。コードを更新する方法を次の例に示します。
pm = propagationModel("raytracing","Method","image"); coverage(txs,pm)
SBR 法とイメージ手法の詳細については、伝播モデルの選択を参照してください。
R2021b 以降、すべての RF 伝播関数は既定で SBR 法を使用し、最大 2 回の反射を計算します。詳細については、既定のモデリング手法は Shooting and Bouncing Rays 法を参照してください。
1 Alignment of boundaries and region labels are a presentation of the feature provided by the data vendors and do not imply endorsement by MathWorks®.
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)







