Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

レイトレーシングを使用した都市のリンクとカバレッジの解析

この例では、レイトレーシングを使用して、都市環境での通信リンクとカバレッジを解析する方法を説明します。この例では次を行います。

  • 3 次元の建物データのサイト ビューアーへのインポートと可視化

  • 5G 都市シナリオに対応する送信機サイトとレイトレーシング伝播モデルの定義

  • 都市環境でのカバレッジの可視化

  • 見通し外条件でのリンクの解析

  • あるルートに沿った点についての受信パワーのプロット

  • ビーム ステアリングと Phased Array System Toolbox™ を使用した見通し外リンクの最適化

この例では、反射の数や材料のタイプなどのレイトレーシングのパラメーターの影響もあわせて調べます。

建物データのインポートと可視化

ロンドンにあるカナリー埠頭に対応する OpenStreetMap (.osm) ファイルをインポートします。このファイルは、クラウドソーシングによる世界中の地図データへのアクセスを提供する https://www.openstreetmap.org からダウンロードされたものです。このデータは Open Data Commons Open Database License (ODbL) https://opendatacommons.org/licenses/odbl/ によりライセンスされています。サイト ビューアーで OpenStreetMap ファイルに含まれる建物の情報のインポートと可視化が行われます。

viewer = siteviewer("Buildings","canarywharf.osm","Basemap","topographic");

送信機サイトの定義

送信機サイトを定義して、込み合った都市環境の小さいセル シナリオをモデル化します。送信機サイトは、公園の領域にサービスを提供するために公園の近くにあるポールに配置された基地局を表します。送信機は、5 W の電力によって 28 GHz の搬送周波数で動作し、既定の等方性アンテナを使用します。

tx = txsite("Name","Small cell transmitter", ...
    "Latitude",51.50375, ...
    "Longitude",-0.01843, ...
    "AntennaHeight",10, ...
    "TransmitterPower",5, ...
    "TransmitterFrequency",28e9);
show(tx)

見通し内伝播のカバレッジ マップの表示

イメージの手法を使用してレイトレーシング伝播モデルを作成します。この伝播モデルでは、レイトレーシング解析を使用して伝播パスと対応するパス損失を計算します。パス損失は自由空間損失、材料による反射損失、およびアンテナの偏波損失から計算されます。レイトレーシング解析では、地表反射は含まれますが、屈折、回折、散乱、建物を通過する伝送の効果は含まれない、イメージの手法が使用されます。

MaxNumReflections プロパティを 0 に設定して、初期解析を見通し内伝播パスのみに限定し、材料のタイプを完全な反射をモデル化するように設定します。

rtpm = propagationModel("raytracing-image-method", ...
    "MaxNumReflections",0, ...
    "BuildingsMaterial","perfect-reflector", ...
    "TerrainMaterial","perfect-reflector");

基地局から最大 250 メートルの範囲の対応するカバレッジ マップを表示します。カバレッジ マップには、それぞれの地上の位置での受信機の受信パワーが示されますが、建物の屋上や側面についての計算は行われません。

coverage(tx,rtpm, ...
    "SignalStrengths",-120:-5, ...
    "MaxRange",250, ...
    "Resolution",3, ...
    "Transparency",0.6)

見通し外の位置の受信機サイトの定義

見通し内伝播のカバレッジ マップには、障害物に起因する陰が表示されます。受信機サイトを定義して、そのような位置にあるモバイル受信機をモデル化します。見通し内パスをプロットします。これには妨害物が表示されます。

rx = rxsite("Name","Small cell receiver", ...
    "Latitude",51.50216, ...
    "Longitude",-0.01769, ...
    "AntennaHeight",1);

los(tx,rx)

レイトレーシングを使用した伝播パスのプロット

単一反射のパスを含めるようにレイトレーシング伝播モデルを調整して、レイをプロットします。結果には単一反射のパスに沿った信号の伝播が示されます。プロットされたパスを選択すると、受信パワー、位相の変化、距離、発射角と到来角など、対応する伝播特性を表示できます。

rtpm.MaxNumReflections = 1;
clearMap(viewer)
raytrace(tx,rx,rtpm)

信号の強度と材料の影響の解析

以前に完全な反射をモデル化するよう構成された伝播モデルを使用して、受信パワーを計算します。次に、より現実的な材料タイプを割り当てて、受信パワーを再計算します。サイト ビューアーに表示されているレイを更新します。現実的な材料の反射を使用すると、結果として、完全な反射と比較して約 8 dB のパワーの損失になります。

ss = sigstrength(rx,tx,rtpm);
disp("Received power using perfect reflection: " + ss + " dBm")
Received power using perfect reflection: -70.3925 dBm
rtpm.BuildingsMaterial = "concrete";
rtpm.TerrainMaterial = "concrete";

raytrace(tx,rx,rtpm)
ss = sigstrength(rx,tx,rtpm);
disp("Received power using concrete materials: " + ss + " dBm")
Received power using concrete materials: -78.9451 dBm

気象損失を含める

伝播モデルに気象による損失を追加し、受信パワーを再計算します。結果として、さらに 1.5 dB の損失が生じます。

rtPlusWeather = rtpm + propagationModel("gas") + propagationModel("rain");
raytrace(tx,rx,rtpm)

ss = sigstrength(rx,tx,rtPlusWeather);
disp("Received power including weather loss: " + ss + " dBm")
Received power including weather loss: -80.4625 dBm

単一反射パスを使用したカバレッジ マップの表示

カバレッジ マップを再生成しますが、上記で定義した伝播モデルを使用して、単一反射パスと気象による損失を含めます。以前に生成されたカバレッジの結果を読み込んで可視化します。そうしないと、カバレッジ解析が完了するまでに数分かかるためです。結果として得られるカバレッジ マップは、上記の解析の見通し外受信機の周囲の領域での受信パワーを示していますが、信号が届いていないように見える領域がまだ残っています。

clearMap(viewer)

% Load coverage results and plot. Coverage results were generated using
% commented coverage call below, which takes several minutes to complete.
show(tx)
coverageResults = load("coverageSingleReflection.mat");
contour(coverageResults.pd, ...
    "Type","power", ...
    "Transparency",0.6)

% coverage(tx,rtPlusWeather, ...
%     "SignalStrengths",-120:-5, ...
%     "MaxRange", 250, ...
%     "Resolution",2, ...
%     "Transparency",0.6);

2 つの反射を含む伝播パスのプロット

ポイントツーポイント解析を拡張して、2 つの反射パスを含めます。可視化すると、2 つの伝播パスのクラスターが示され、合計の受信パワーが、単一反射パスのみを考慮した場合と比較して約 3 dB 強化されます。

rtTwoReflections = propagationModel("raytracing-image-method", ...
    "MaxNumReflections",2, ...
    "BuildingsMaterial","concrete", ...
    "TerrainMaterial","concrete");
rtTwoRefPlusWeather = rtTwoReflections + propagationModel("gas") + propagationModel("rain");

ss = sigstrength(rx, tx, rtTwoRefPlusWeather);
disp("Received power with two-reflection paths: " + ss + " dBm")
Received power with two-reflection paths: -77.1419 dBm
clearMap(viewer)
raytrace(tx,rx,rtTwoRefPlusWeather)

2 つの反射の解析を使用したルートに沿った受信パワーのプロット

単一反射パスを含む前述のカバレッジ マップは、信号のカバレッジに残存する穴がいくつかあることを示しています。カバレッジ マップで、それらの穴の 2 つを通過するルートに沿っていくつかの位置を定義します。それぞれの位置の座標は、マップで右クリックして [Show location] を選択することで取得できました。2 つの反射パスを含むレイトレーシング伝播モデルを使用して、それぞれの位置について受信パワーを計算します。このポイントツーポイント解析によって、これらの位置にいくらかの信号パワーが到達していることが分かります。

最大 2 つの反射をもつ伝播はポイントツーポイント解析に限定されており、カバレッジ マップには使用できないことに注意してください。これは、結果を生成するのに時間を要することが理由です。

latlons = [51.502366 -0.017633; ...
    51.502571 -0.017575; ...
    51.502647 -0.017659; ...
    51.502674 -0.017905; ...
    51.502717 -0.018229; ...
    51.502753 -0.018561; ...
    51.502793 -0.018935; ...
    51.502825 -0.019198; ...
    51.502846 -0.019464; ...
    51.502865 -0.019703;  ...
    51.502884 -0.019902; ...
    51.502953 -0.020048; ...
    51.503124 -0.019983; ...
    51.503288 -0.019917; ...
    51.503363 -0.020103; ...
    51.503570 -0.020013; ...
    51.503771 -0.019941; ...
    51.504001 -0.019864; ...
    51.504254 -0.019769; ...
    51.504535 -0.019681];
lats = latlons(:,1);
lons = latlons(:,2);

rxs = rxsite("Name","Small cell receiver", ...
    "Latitude",lats, ...
    "Longitude",lons, ...
    "AntennaHeight",1);

ss = sigstrength(rxs,tx,rtTwoRefPlusWeather);

データを強調表示するため "streets-dark" ベースマップを使用して、マップ上のそれぞれの位置でパワーをプロットします。データをプロットするため propagationData オブジェクトが使用されます。このオブジェクトは測定ファイルからインポートされたデータのプロットにも使用できるものです。結果として得られるプロットは、見通し内伝播も単一反射伝播もない位置では受信パワーが低いことを示しています。

clearMap(viewer)
show(tx)
viewer.Basemap = "streets-dark";

pd = propagationData(lats,lons,"ReceivedPower",ss);
plot(pd,"Type","power")

ビーム ステアリングを使用した受信パワーの強化

最新の通信システムの多くが、送信アンテナのステアリングを行うことで最適なリンク品質を達成する技術を採用しています。この節では Phased Array System Toolbox™ を使用して、ビームを最適にステアリングして、見通し外のリンクに対して受信パワーを最大化します。

5G 無線通信技術の評価のため、Report ITU-R M.2412 [1] からカスタム アンテナを定義します。レポートの 8.5 節で定義されている素子パターンから 8 × 8 の等間隔矩形アレイを作成し、南に向け、放射パターンを表示します。

tx.Antenna = helperM2412PhasedArray(tx.TransmitterFrequency);
tx.AntennaAngle = -90;

clearMap(viewer)
show(rx)
pattern(tx,"Transparency",0.6)
hide(tx)

1 つの出力をもつ raytrace を呼び出して、計算されたレイにアクセスします。返される comm.Ray オブジェクトには、それぞれのレイの幾何学的特性と伝播関連の特性の両方が含まれています。

ray = raytrace(tx,rx,rtPlusWeather);
disp(ray{1})
  Ray with properties:

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

   Read-only properties:
       PropagationDelay: 6.6488e-07
    PropagationDistance: 199.3261
       AngleOfDeparture: [2×1 double]
         AngleOfArrival: [2×1 double]
         NumReflections: 1

単一反射パスの発射角を取得し、この角度を適用してアンテナを最適な方向にステアリングして、より高い受信パワーを達成します。発射方位角は物理的なアンテナの方位角の分だけオフセットされ、フェーズド アレイ アンテナのローカル座標系で定義されているステアリング ベクトル方位角に変換されます。

aod = ray{1}.AngleOfDeparture;
steeringaz = wrapTo180(aod(1)-tx.AntennaAngle(1));
steeringVector = phased.SteeringVector("SensorArray",tx.Antenna);
sv = steeringVector(tx.TransmitterFrequency,[steeringaz;aod(2)]);
tx.Antenna.Taper = conj(sv);

放射パターンをプロットして、アンテナのエネルギーが伝播パスに沿ってどのように方向づけられているかを確認します。新しい受信パワーは、アンテナのピークのゲインに対応して約 20 dB 強化されています。

pattern(tx,"Transparency",0.6)
raytrace(tx,rx,rtPlusWeather);
hide(tx)
    
ss = sigstrength(rx, tx, rtPlusWeather);
disp("Received power with beam steering: " + ss + " dBm")
Received power with beam steering: -57.5028 dBm

まとめ

この例では、レイトレーシングを使用して、都市環境でのリンクとカバレッジを解析しました。解析によって、次の結論が明らかになりました。

  • レイトレーシング解析を使用して、反射伝播パスが存在する見通し外リンクについて信号強度を予測できる。

  • 現実的な材料を使用した解析では、計算されたパス損失と受信パワーに大きな影響が生じる可能性がある。

  • 反射の数が多い解析では、結果として計算時間が増加するが、信号の新たな伝播領域が明らかになる。

  • ビーム ステアリング対応の指向性アンテナを使用すると、見通し外の位置にある受信機であっても、受信パワーを大幅に増加させることができる。

この例では、リンクとカバレッジについて受信パワーとパス損失を解析しました。リンクレベルのシミュレーションでチャネル モデルを構成するためのレイトレーシングの使用方法については、Communications Toolbox™ で入手可能なレイトレーシングを使用した屋内 MIMO-OFDM 通信リンクの例を参照してください。

参考文献

[1] Report ITU-R M.2412, "Guidelines for evaluation of radio interface technologies for IMT-2020", 2017. https://www.itu.int/pub/R-REP-M.2412