メインコンテンツ

nrPathLoss

R2026b

BS と UE の間のパス損失およびシャドウ フェージング

説明

[pathloss,shadowfading] = nrPathLoss(pathlossconf,freq,los,bs,ue) は、周波数 freq における基地局 (BS) とユーザー端末 (UE) の間のパス損失 pathloss を返します。この関数は、TR 38.901 の Section 7.4.1 [1]で定義されている、関連するシャドウ フェージング標準偏差 shadowfading も返します。pathlossconf は、シナリオの特性とパス損失モデルを指定します。bs と ue は、それぞれ BS と UE の直交座標を指定します。los は、BS と UE の間の見通し線 (LOS) の有無を指定します。関数は、複数の BS と複数の UE をサポートしています。

例

例

すべて折りたたむ

パス損失構成オブジェクトを作成します。建物の平均高さ 7 m、道路の平均幅 25 m の地方マクロセルのシナリオに対応するように、特性を設定します。

pathlossconf = nrPathLossConfig;
pathlossconf.Scenario = "RMa"; 
pathlossconf.BuildingHeight = 7;
pathlossconf.StreetWidth = 25;

搬送波周波数、LOS 条件、BS の座標、および UE の座標を指定します。

freq = 3.5e9;
los = true;
bs = [0;0;30];
ue = [1e3;1e3;1.5];

BS と UE の間のパス損失を計算します。

pathloss = nrPathLoss(pathlossconf,freq,los,bs,ue)
pathloss = 
110.1615

パス損失構成オブジェクトを作成します。建物の平均高さ 7 m、道路の平均幅 25 m の地方マクロセルのシナリオに対応するように、特性を設定します。

pathlossconf = nrPathLossConfig;
pathlossconf.Scenario = "RMa"; 
pathlossconf.BuildingHeight = 7;
pathlossconf.StreetWidth = 25;

搬送波周波数を Hz 単位で指定します。

freq = 3.5e9;

2 つの BS と 10 個の UE の座標を指定します。BS は 1 km 離します。UE は、標高 1 m ~ 2 m の 2 km×2 km の正方形領域内にランダムに配置します。

bs = [-500 500; 0 0; 30 50];
nbs = size(bs,2);
nue = 10;
ue = zeros(3,nue);
ue(1:2,:) = 2e3*(rand(2,nue)-0.5);
ue(3,:) = 1 + rand(1,nue);

BS と UE の各ペア間の LOS 条件を指定します。

los = randi([0 1],nbs,nue);

BS と UE の各ペア間のパス損失を計算します。

pathloss = nrPathLoss(pathlossconf,freq,los,bs,ue)
pathloss = 2×10

  109.9708  131.3512  133.6539   85.0968  112.2626  131.3747  110.1649  137.4889  130.5121  110.2199
  123.4839  134.9305  104.4709  125.2657  126.9743  133.3612   97.4411  121.9781  106.9546  105.4779

入力引数

すべて折りたたむ

パス損失構成。nrPathLossConfig オブジェクトとして指定します。この入力は、シナリオの特性とパス損失モデルを指定します。

搬送波周波数。正の数値スカラーとして指定します。

データ型: double

BS と UE の間の LOS。次のオプションのいずれかとして指定します。

  • 1 (true) — BS と UE の間に LOS が存在することを指定します。

  • 0 (false) — BS と UE の間に LOS が存在しないこと (NLOS) を指定します。

  • サイズが NBS 行 NUE 列の logical 行列 — BS と UE の各ペア間における LOS の有無を指定します。NBS は BS の数です。NUE は UE の数です。

データ型: double | logical

BS の直交座標。サイズが 3 行 NBS 列の数値行列として指定します。NBS は BS の数です。行列の最初の 2 行は、BS の 2 次元位置を指定します。行列の 3 行目は BS の高さを指定します。

データ型: double

UE の直交座標。サイズが 3 行 NUE 列の数値行列として指定します。NUE は UE の数です。行列の最初の 2 行は、UE の 2 次元位置を指定します。行列の 3 行目は UE の高さを指定します。

データ型: double

出力引数

すべて折りたたむ

BS と UE の間のパス損失 (dB 単位)。サイズが NBS 行 NUE 列の数値行列として返します。NBS は BS の数です。NUE は UE の数です。

メモ

入力引数は TR 38.901 で定義された値の範囲に制限されていないため、結果として得られるパス損失が正の数でない場合、関数は警告を出力します。

データ型: double

シャドウ フェージングの標準偏差 (dB 単位)。サイズが NBS 行 NUE 列の数値行列として返されます。NBS は BS の数です。NUE は UE の数です。

データ型: double

参照

[1] 3GPP TR 38.901. “Study on channel model for frequencies from 0.5 to 100 GHz.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

拡張機能

すべて展開する

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2021b で導入