このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
レイ トレーシングを使用した都市のリンクとカバレッジの解析
この例では、レイ トレーシングを使用して、都市環境での通信リンクとカバレッジ エリアを解析する方法を説明します。この例では次を行います。
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)
信号の強度と材料の影響の解析
以前に完全な反射をモデル化するよう構成された伝播モデルを使用して、受信パワーを計算します。次に、より現実的な材料タイプを割り当てて、受信パワーを再計算します。サイト ビューアーに表示されているレイを更新します。現実的な材料の反射を使用すると、結果として、完全な反射と比較して約 8 dB のパワーの損失になります。
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) 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)
単一反射パスを使用したカバレッジ マップの表示
構成された伝播モデルを使用して、単一反射パスと気象による損失を含むカバレッジ マップを再生成します。カバレッジの結果を再生成するためのコードが含まれていますが、コメント アウトされています。結果はコードを実行することによって生成可能です。結果をファイルから読み込むと、例を表示する際に計算時間の数分が節約されます。結果として得られるカバレッジ マップは、上記の解析の見通し外受信機の周囲の領域での受信パワーを示しています。
rtPlusWeather.PropagationModels(1).MaxNumReflections = 1; clearMap(viewer)
カバレッジの結果を読み込み、プロットします。カバレッジの結果は下記のコメント化されたカバレッジ呼び出しを使用して生成されました。これが完了するには 2 ~ 3 分かかります。
show(tx) coverageResults = load("coverageResults.mat"); contour(coverageResults.propDataSingleRef, ... "Type","power", ... "Transparency",0.6) % coverage(tx,rtPlusWeather, ... % "SignalStrengths",-120:-5, ... % "MaxRange", 250, ... % "Resolution",2, ... % "Transparency",0.6)
4 つの反射を使用したカバレッジ マップの表示
より多くの伝播パスを考慮に入れ、より正確なカバレッジ マップを生成します。これは、レイ トレーシング解析の反射の最大数を 4 に増やすことにより行います。事前計算されたカバレッジ マップを再表示します。送信機サイト周囲の領域のフル カバレッジに近い表示が得られます。
rtPlusWeather.PropagationModels(1).MaxNumReflections = 4; clearMap(viewer)
プリロードされたカバレッジの結果を使用してプロットします。カバレッジの結果は下記のコメント化されたカバレッジ呼び出しを使用して生成されました。コンピューター ハードウェアによって異なりますが、これが完了するには 2 ~ 3 時間かかる場合があります。
show(tx) contour(coverageResults.propDataFourRef, ... "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] からカスタム アンテナを定義します。レポートの 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
オブジェクトには、それぞれのレイの幾何学的特性と伝播関連の特性の両方が含まれています。
rtPlusWeather.PropagationModels(1).MaxNumReflections = 1; 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
参考
関数
propagationModel
|raytrace
|coverage
|contour
|pattern
オブジェクト
siteviewer
|txsite
|rxsite