Main Content

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

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

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

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

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

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

  • さまざまな数の反射光、回折光、および発射光での Shooting and Bouncing Rays (SBR) レイ トレーシング法を使用したカバレッジの可視化

  • ビーム ステアリングと 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)

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

Shooting and Bouncing Rays (SBR) 法を使用してレイ トレーシング伝播モデルを作成します。SBR 伝播モデルでは、レイ トレーシング解析を使用して伝播パスと対応するパス損失を計算します。パス損失は、自由空間損失、材料との相互作用による反射損失と回折損失、およびアンテナの偏波損失から計算されます。

反射の最大数を 0 に設定して、初期解析を見通し内伝播パスのみに限定します。建物と地形の材料タイプを設定して、完全な電気伝導体をモデル化します。

rtpm = propagationModel("raytracing", ...
    "Method","sbr", ...
    "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)

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

受信パワーを計算します。

ss = sigstrength(rx,tx,rtpm);
disp("Received power using perfect reflection: " + ss + " dBm")
Received power using perfect reflection: -70.392 dBm

建物と地形の材料にコンクリートを使用するようにモデルを更新します。次に、サイト ビューアーに表示されている光線を更新します。

rtpm.BuildingsMaterial = "concrete";
rtpm.TerrainMaterial = "concrete";
raytrace(tx,rx,rtpm)

受信パワーを再計算します。現実的な材料反射を使用すると、完全な反射と比較して約 8 dB の損失が生じます。

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

気象損失を含める

伝播モデルに気象による劣化要因を追加して受信パワーを再計算すると、結果はさらに 1.5 dB の損失になります。

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

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

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

ポイントツーポイント解析を拡張して 2 つの反射パスを含め、SBR 法用に発射光の間に小さい角距離を選択します。可視化すると伝播バスの 2 つのクラスターが示されます。2 つの反射パスの合計の受信パワーは、単一反射パスの合計の受信パワーと同様です。

rtPlusWeather.PropagationModels(1).MaxNumReflections = 2;
rtPlusWeather.PropagationModels(1).AngularSeparation = "low";

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

2 回の反射と 1 回の回折を伴う伝播パスのプロット

ポイントツーポイント解析を拡張して、1 回のエッジ回折を伴うパスを含めます。この可視化では、回折のない反射による伝播パスの 2 つの強いクラスターと、1 回の回折を伴う弱いクラスターが示されています。1 回の回折が含まれても、合計の受信パワーは大きく変化しません。

rtPlusWeather.PropagationModels(1).MaxNumDiffractions = 1;

ss = sigstrength(rx,tx,rtPlusWeather);
disp("Received power with two-reflection and one-diffraction paths: " + ss + " dBm")
Received power with two-reflection and one-diffraction paths: -79.8526 dBm
raytrace(tx,rx,rtPlusWeather)

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

構成された伝播モデルを使用して、単一反射パスと気象による劣化を含むカバレッジ マップを生成します。

rtPlusWeather.PropagationModels(1).MaxNumReflections = 1;
rtPlusWeather.PropagationModels(1).MaxNumDiffractions = 0;
clearMap(viewer)
show(tx)

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

2 回の反射と 1 回の回折を使用したカバレッジ マップの表示

レイ トレーシング解析の反射と回折の最大数をそれぞれ 2 と 1 に増やし、より多くの伝播パスを考慮するようにします。トレードオフとして、発射される光線の数を減らします。

rtPlusWeather.PropagationModels(1).MaxNumReflections = 2;
rtPlusWeather.PropagationModels(1).MaxNumDiffractions = 1;
rtPlusWeather.PropagationModels(1).AngularSeparation = "high";
clearMap(viewer)

MAT ファイルに含まれる事前計算済みの結果を使用してカバレッジ マップをプロットします。コメント化されたコードを使用して、カバレッジ結果を生成することもできます。コンピューターのハードウェアによっては、コメント化されたコードの実行に数時間かかる場合があります。

show(tx)

load("coverageResultsTwoRefOneDiff.mat");
contour(coverageResultsTwoRefOneDiff, ...
    "Type","power", ...
    "Transparency",0.6)

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

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

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

5G 無線通信技術の評価のため、Report ITU-R M.2412 [1] からカスタム アンテナを定義します。レポートの Section 8.5 で定義されているパターンを使用して、半波長の素子間隔をもつ 8×8 の等間隔矩形アレイを作成します。

azvec = -180:180; % Azimuth angles (deg)
elvec = -90:90; % Elevation angles (deg)
SLA = 30; % Maximum side-lobe level attenuation (dB)
tilt = 0; % Tilt angle (deg)
az3dB = 65; % 3 dB beamwidth in azimuth (deg)
el3dB = 65; % 3 dB beamwidth in elevation (deg)
lambda = physconst("lightspeed")/tx.TransmitterFrequency; % Wavelength (m)

[az,el] = meshgrid(azvec,elvec);
azMagPattern = -min(12*(az/az3dB).^2,SLA);
elMagPattern = -min(12*((el-tilt)/el3dB).^2,SLA);
combinedMagPattern = -min(-(azMagPattern + elMagPattern),SLA); % Relative antenna gain (dB)

antennaElement = phased.CustomAntennaElement("MagnitudePattern",combinedMagPattern);
tx.Antenna = phased.URA("Size",[8 8], ...
    "Element",antennaElement, ...
    "ElementSpacing",[lambda/2 lambda/2]);

アレイのピーク指向性を計算します。

antennaDirectivity = pattern(tx.Antenna, tx.TransmitterFrequency);
antennaDirectivityMax = max(antennaDirectivity(:));
disp("Peak antenna directivity: " + antennaDirectivityMax + " dBi")
Peak antenna directivity: 23.4449 dBi

アンテナを南に向け、放射パターンを表示します。

tx.AntennaAngle = -90;

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

主要な単一反射パスで解析を実行するには、反射の最大数を 1 に、回折の最大数を 0 に設定します。1 つの出力をもつ raytrace を呼び出して、計算されたレイにアクセスします。返される comm.Ray オブジェクトには、それぞれのレイの幾何学的特性と伝播関連の特性の両方が含まれています。

rtPlusWeather.PropagationModels(1).MaxNumReflections = 1;
rtPlusWeather.PropagationModels(1).MaxNumDiffractions = 0;
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
           Interactions: [1×1 struct]
              Frequency: 2.8000e+10
         PathLossSource: 'Custom'
               PathLoss: 117.0069
             PhaseShift: 4.0976

   Read-only properties:
       PropagationDelay: 6.6488e-07
    PropagationDistance: 199.3261
       AngleOfDeparture: [2×1 double]
         AngleOfArrival: [2×1 double]
        NumInteractions: 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.0575 dBm

まとめ

この例では、レイトレーシングを使用して、都市環境でのリンクとカバレッジを解析しました。解析により以下が示されます。

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

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

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

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

この例では、リンクとカバレッジについて受信パワーとパス損失を解析しました。リンクレベルのシミュレーションでチャネル モデルを構成するためのレイ トレーシングの使用方法については、レイ トレーシングを使用した屋内 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

参考

関数

オブジェクト

関連するトピック