導入シナリオ
導入シナリオは3GPP TR 38.913 V14.1.0 (2016-12) の Section 6.1.7で定義されている Urban coverage for massive connection(大規模なコネクション数に対応するための都市部でのカバレッジ)を用いる。導入シナリオの基本パラメータは下記の表のとおり。
| 属性 | 値と仮定 | 
|---|---|
| キャリア周波数(Carrier Frequency) | 700MHz, 2100 MHz as an option | 
| ISDを含んだネットワーク設営(Network deployment including ISD ) | Macro only, ISD = 1732m, 500m ※ | 
| デバイス側の設営(Device deployment) | 屋内と屋外の車載デバイス(Indoor, and outdoor in-car devices) | 
| 最大移動速度(Maximum mobility speed) | ユーザの20%は屋外の社内(100km/h)または屋外で徒歩(3km/h)(20% of users are outdoor in cars (100km/h) or 20% of users are outdoors (3km/h)) ユーザの80%は屋内で徒歩(3km/h)(80% of users are indoor (3km/h)) セル全体に一様分布でユーザを配置する(Users dropped uniformly in entire cell) | 
| サービスプロファイル(Service profile) | ノン・フルバッファの小さなパケットを使う(Non-full buffer with small packets) | 
| 基地局側のアンテナ(BS antenna elements) | 2ポートまたは4ポートの受信ポート(8ポートはオプショナル) | 
| ユーザ側デバイスのアンテナ(UE antenna elements) | 送信ポート1つ | 
※もろもろの指標や数式を定義している TR-38.900 を読むと、UMaのISDが500m, RMa のISDが1732m or 5000m, UMi-street-canyon のISDが200m となっている。RMaの説明に”The rural deployment scenario focuses on larger and continuous coverage. The key characteristics of this scenario are continuous wide area coverage supporting high speed vehicles. “と書かれているので、屋外ノードの移動スピードが100km/hなら1732mの場合も検証する、と思われる。
評価指標(Key Performance Indicators)
重要な評価指標(最大化を目指す指標)は下記の2つ
| 評価指標 | 設定 | 目標値 | 
|---|---|---|
| latency | 所要最大減衰量(Maximum Coupling Loss MaxCL)が164dBの状況下で測定した際に、20バイトのアプリケーション層のパケット(非圧縮IPヘッダを含めて物理層で105バイト)をアップリンク側に送信する | 10秒以上かからないようにする | 
| UE battery life | ユーザ側デバイス(User Equipment)のバッテリライフはリチャージなしのユーザ側デバイスのバッテリライフで評価できる。 mMTCでのバッテリライフの極限カバレッジは、蓄えられたエネルギー容量を5Whとし、毎日 20バイトのダウンリンクでの転送に続く200バイトのアップリンクへの転送を164dBのMaxCLから実施するデータ転送を基準にする。 | 10年以上、15年が望ましい。 | 
トラフィックモデル
GSMA white paper(3GPP Low Power Wide Area Technologies
Mobile IoT = TRUSTED IoT)のANNEX A に記載されているトラフィックモデルを利用する。
- 3GPP GERAN
 TR (3GPP TR 45.820 Cellular System Support for Ultra Low Complexity and Low Throughput Internet of Things)のモデルを使う。
| モデル | bytes, hours | daily total bytes | 
|---|---|---|
| Model 1 | 50 bytes, 2 hours | (1200 bytes) | 
| Model 2 | 200 bytes, 2 hours | (4800 bytes) | 
| Model 3 | 50 bytes, 1 day | (50 bytes) | 
| Model 4 | 200 bytes, 1 day | (200 bytes) | 
p.37 に定型アプリケーションと細かいパターンが書かれている。
最初のエントリ (consumer – wearable) は typo あり(10*20 = 200 bytes が正しい)。
NS3 の設定メモ
- 伝搬減衰モデル(Propagation Loss Model)は HybridBuildingsPropagationLossModelを使えば、ビルによる浸透減衰(O2I penetration)とLOS/NLOSの減衰(pathloss)を内部で合成してくれる。(ソースコード)- 内部ではItuR1411, ItuR1238, OkumraHata を端末・基地局間の距離と高さと位置(屋内・屋外)および周波数の組み合わせを条件にして自動的に選択し、片方が屋内ならO2I penetration loss を合成してpathlossを算出する。(NS3のBuildingsPropagationModelのドキュメントへのリンク)
- 仕様にある「ITU TR-38.900 端末局から基地局間の電波伝搬特性は、以下の文献に示されている減衰モデルの一つ」は ItuR1411の中にTR-38.900 Table 7.4.2-1 の PL_{1}のpathloss計算式を含んでいるので、(なんとか)満たすことができる。
- ただし、TR-38.900 Table 7.4.2-1 の PL_{1} のpathloss 計算式が選択されるかどうかは、シミュレーション環境のパラメータ設定に依存する。
- (調査の結果、今回のシナリオ設定では、200m < d < 1000m の範囲ならituR1411NlosOver…を使うので、PL_{1} のpathloss計算式(Lbf: free space loss)、またはPL_{1} の計算式に2種類のdiffraction(回折)(Lrts と Lmsd)が加算されたものになる(Lrts + Lmsd > 0 なら Lbf + Lrts + Lmsd を返し、それ以外の場合は Lbf を返す)。d < 200m なら ituR1411Los での計算結果になる。)
- (Lrts + Lmsd > 0 になるかならないかは条件式が非常に複雑なので、ちゃんと計算しないとわからない。事象の詳細を参照のこと。)
- ビルによる浸透減衰の減衰値はNS3で実装されている値とTR 38.900との値は異なる。
 
- フェージングに関して、ns3 の LTE model ではトレースデータセットを使っている。(NS3のドキュメント)- ITU TR-38.900 Section 7.5 で書かれている Fast Fading の算出モデルとは違う
- UE-eNB間距離(UT-BS間距離)の最小値は水平方向に 35m
 
- TR-38.900 (および、TR-38.873) でのUMa シナリオに関する捕捉パラメータ一覧
| パラメータ | 意味 | デフォルト値 | 参照元 | ns3 | 備考 | 
|---|---|---|---|---|---|
| セルレイアウト | マクロサイトの数とサイトごとのセクタ数 | 六角形グリッド、19 マクロサイト、サイトごとに 3 セクタ (ISD = 500m) | TR-38.900 table 7.2-1 UMa | TBD | 今回は1000m x 1000m の枠にはまる部分のみ | 
| h_{BS} | BS(eNB)の高さ | 25m | TR-38.900 table 7.4.1-1 | TBD | 設定済み(みやん談) | 
| h_{UT} | UT(UE) の高さ。1.5m + 3(N-1)m (N:はフロア数で 4 =< N <= 8)で計算 | 1.5m | TR-38.900 table 7.4.1-1 | TBD | 設定済み(みやん談) | 
| アンテナモデル | BS(eNB)のアンテナモデル | uniform rectangular panel array | TR-38.900 section 7.3 | 未実装 | ※ | 
| A_{E,V}(Θ^n) | アンテナの垂直方向の radiation pattern | 30dB | TR-38.900 table 7.3-1 | 未実装 | ※ | 
| A_{E,H}(φ^n) | アンテナの水平方向の radiation pattern | 30dB | TR-38.900 table 7.3-1 | 未実装 | ※ | 
| G_{E,max} | アンテナのMaximum directional Gain | 8dBi | TR-38.900 table 7.3-1 | 未実装 | ※ | 
※ AntennaModel では virtual double GetGainDb (Angles a) = 0; Parabolic…, Cosine…, ではそれぞれのアンテナの仕様に合わせた計算式が定義してある。Isotropic… は 0.0 を返す。
- トポロジは 1000m x 1000m の枠で調整
- 現状 WxLxH = 1000m x 1000m x 3m の大きなビルを作って、その中でUEをSetOutdoor か SetIndoor で計算するpathlossを決めている。
- 400万ノード/km^2 を満たすことを優先したので、simplify した。
- 上記のTR-25.816 Fig.21のような、まじめなUrban Macro 環境を作成するのは相当数の工数が必要。
- 下図はトポロジにマクロサイトレイアウトをつけた図。

NS3の実装の細かい部分調査結果
TR 38.900 と NS3 の差異まとめ
| モデル | TR 38.900 | NS3 | TR 38.900のセクション | 備考 | 
|---|---|---|---|---|
| 6GHz以上のチャネルモデル | 各種モデルの式が定義 | 未調査 | 7.1 | |
| シナリオ | UMi-street-canyon + UMa, Indoor-office, RMa, UMi-open square が定義 | シナリオの各種パラメータを設定する | 7.2 | mMTC は UMa only | 
| Antenna | a uniform rectangular panel arrayとradiation パターンが定義 | NS3では表現不可(みやん調べ) | 7.3 | ns3のantenna model | 
| LOS/NLOS propagation loss | LOSはbreak pointで式が変わる。(10m以上break point以下ならPL_{1}を、break point以上5km以下はPL_{2}を使う) NLOSはPL_{UMa-LOS}とPL’_{UMa-NLOS}を比べて大きいほうを使う | ItuR1411NlosOver… がUMaのPL_{1} と同じ式(Lbfに格納)を内包している(Lrts + Lmsd > 0 なら loss = Lbf + Lrts + Lmsd、それ以外は loss = Lbf) | 7.4.1 | ソースコードとモデルの説明文を読んだ感じだと、HybridBuildings…を使ってmMTCのシナリオを設定すると、ItuR1411Nlos…を選択してloss = Lbf を返すと思われる。(テストの際に要確認。条件を別途まとめておくこと。) | 
| shadow fading | table 7.4.1-1 に shadow fading std σ_{SF}が定義 (UMa LOSの場合:σ_{SF}=4, UMa NLOSの場合:σ_{SF}=6) | double BuildingsPropagationLossModel::GetShadowing ()でσ_{SF} 相当の値を計算 | 7.4 | NS3での解説 | 
| LOS probability | 計算式 | 不明(シミュレーションシナリオでのmobilityノードの位置次第?) | 7.4.2 | |
| O2I buldings penetration loss | 計算式 | 固定値 | 7.4.3 | HybridBuildings… を使うと浸透減衰とLOS/NLOSの伝搬減衰を合算してpathlossを計算してくれる | 
| Autocorrelation of shadow fading | R(Δx)の式が定義 | 不明 | 7.4.4 | src/propagation/examples にJakes Propagation Modelの場合のautocorrelation のデータをプロットする R コマンドが記載されているので NS3のどこかに内包されている?Rスクリプトが載っているJakes Propagation のexample code | 
| Fast fading | 導出するための手順と計算式、パラメータが載っている | LTEクラスで trace dataset を使う | 7.5 | LTEクラスでのFading modelのデザイン解説とLTEクラスでのtrace datasetの使い方解説 | 
| その他の追加モデル | 7種類のモデルが定義 | 未調査 | 7.6 | |
| リンクレベル評価のためのチャネルモデル | 7種類のモデルが定義 | 未調査 | 7.7 | |
| チャネルキャリブレーション | large scale calibration, full calibration, calibration of additional features が定義 | 未調査 | 7.7 | |
| Map-based hybrid channel model | チャネル生成のところが変わる | 未調査 | 8 | METIS が大元を作成 | 
HybridBuildings… のpropagation model の切り替え条件
| a (tx) | b (rx) | a – b の距離 d | a の高さ a.z, b の高さ b.z | loss モデル | NS_LOG_INFO上のラベル | 
|---|---|---|---|---|---|
| outdoor | outdoor | d > 1000m | a.z < rooftop && b.z < rooftop | ituR1411NlosOverRooftop | below rooftop | 
| outdoor | outdoor | d > 1000m | 上記以外の場合 | OH | above rooftop | 
| outdoor | outdoor | 200m =< d <= 1000m | any | ituR1411NlosOverRooftop | street canyon | 
| outdoor | outdoor | d < 200m | any | ituR1411Los | street canyon | 
| outdoor | indoor | d > 1000m | a.z < rooftop && b.z < rooftop | ituR1411NlosOverRooftop | below rooftop | 
| outdoor | indoor | d > 1000m | 上記以外 | OH + EWL + HG | above rooftop | 
| outdoor | indoor | 200m < d < 1000m | any | ituR1411NlosOverRooftop + EWL + HG | ITU1411 + BEL | 
| outdoor | indoor | d < 200m | any | ituR1411Los + EWL + HG | ITU1411 + BEL | 
| indoor | indoor | 同じビル | any | ITUR1238 + IWL | same building | 
| indoor | indoor | 違うビル | any | ITUR1238 + 2*EWL | different building | 
| indoor | outdoor | d > 1000m | a.z < rooftop && b.z < rooftop | ituR1411NlosOverRooftop + EWL + HG | down rooftop | 
| indoor | outdoor | d > 1000m | 上記以外 | OH + EWL + HG | over rooftop | 
| indoor | outdoor | 200m =< d <= 1000m | any | ituR1411NlosOverRooftop | ITUR1411 + EWL | 
| indoor | outdoor | d < 200m | any | ituR1411Los + EWL | ITUR1411 + BEL + HG | 
- BEL = EWL = ExternalWallLoss()
- IWL = InternalWallLoss()
- HG = Height Gain (model) = HeightLoss()
 OH = OkumuraHata : frequency <= 2.3e9 ならOkumuraHata, それ以外は kun2600Mhz を内部で選択する。
ituR1411NlosOverRooftop… のLossの切り替え条件
主な変数は下記の3つ
| 変数 | 名称 | 備考 | 
|---|---|---|
| Lbf | free space loss | TR 38.900 p.25, table 7.4.1-1 UMa LOS の PL_{1}の式と同じもの | 
| Lrts | the diffraction loss from rooftop to street | ※ | 
| Lmsd | the reduction due to multiple screen diffraction past rows of building | ※ | 
- Lrts + Lmsd <= 0 なら Lbf だけを pathlossの値として返す。
- Lrts + Lmsd > 0 なら Lbf + Lrts + Lmsd を pathloss の値として返す。
Lbfの計算
- free space path loss(自由空間伝番損失)
- Lbf = 32.4 – 20log(d/1000) + 20log(f)
- d : distance [m], f: frequency [MHz]
Lrts の計算
- the diffraction loss from rooftop to street(屋根から道路までの回折損失)
- Lrts はUTと屋根の高さの差 Δhm、道幅 w とstreet orientation (角度φ) による減衰Lori からなる計算式 -8.2 – 10log(w) + 10log(Δhm) + Lori により表現
- Lori の値は角度φにより変化する。
| φ の角度 | Lrts | Lori | 
|---|---|---|
| 0° =< φ < 35° | -8.2 – 10log(w) + 10log(Δhm) + Lori | -10 + 0.354φ | 
| 35° =< φ < 55° | -8.2 – 10log(w) + 10log(Δhm) + Lori | 2.5 + 0.075(φ – 35) | 
| 55° =< φ < 90° | -8.2 – 10log(w) + 10log(Δhm) + Lori | 4.0 – 0.114(φ – 55) | 
Lmsdの計算
- the reduction due to multiple screen diffraction past rows of building(間にあった建物の列を通過した際に発生したマルチスクリーン回折損失による減衰)
- settled field distance: d_{s} = (λ_{d})^{2} / (h_{BS} – h_{UT})^{2}
- distance over which the building extend : l
- height of the rooftop : h_{r}
- height of the base station antenna : h_{BS}
- height of the UT antenna : h_{UT}
- Δhb = h_{BS} – h_{UT}
- b : m_buildingSeparation
l > d_{s} の場合
- Lmsd = Lbsh + ka + kd * log(d/1000) + kf * log(f) – 9log(b) で計算する。
- Lbsh は上記のパラメータの条件により変化する。
| h_{BS}, h_{r} | f | d | ka | kd | kf | Lbsh | Lmsd | 備考 | 
|---|---|---|---|---|---|---|---|---|
| h_{BS} > h_{r} | f > 2000 MHz | 71.4 | 18 | -8 | -18log(Δhb) | -18log(h_{BS} – h_{UT}) + 71.4 + 18log(d/1000) -8log(f) – 9log(b) | ||
| h_{BS} > h_{r} | f <= 2000 MHz | 54 | 18 | -4 + 0.7(f/925 – 1) | -18log(Δhb) | -18log(h_{BS} – h_{UT}) + 71.4 + 18log(d/1000) -8log(f) – 9log(b) | medium city 以下のサイズ | |
| h_{BS} > h_{r} | f <= 2000 MHz | 54 | 18 | -4 + 1.5(f/925 – 1) | -18log(Δhb) | -18log(h_{BS} – h_{UT}) + 71.4 + 18log(d/1000) -8log(f) – 9log(b) | large city サイズ (metropolitan centres) | |
| h_{BS} <= h_{r} | f > 2000 MHz | d >= 500m | 54 – 0.8Δhb | 18 – 15(Δhb/h_{r}) | -8 | 0 | 0 + 54 – 0.8Δhb + (18 – 15(Δhb/h_{r}))*log(d/1000) – 8log(f) – 9log(b) | |
| h_{BS} <= h_{r} | f <= 2000 MHz | d >= 500m | 54 – 0.8Δhb | 18 – 15(Δhb/h_{r}) | -4 + 0.7(f/925 – 1) | 0 | 0 + 54 – 0.8Δhb + (18 – 15(Δhb/h_{r}))*log(d/1000) + (-4 + 0.7(f/925 – 1))log(f) – 9log(b) | medium city サイズ以下 | 
| h_{BS} <= h_{r} | f <= 2000 MHz | d >= 500m | 54 – 0.8Δhb | 18 – 15(Δhb/h_{r}) | -4 + 1.5(f/925 – 1) | 0 | 0 + 54 – 0.8Δhb + (18 – 15(Δhb/h_{r}))*log(d/1000) + (-4 + 1.5(f/925 – 1))log(f) – 9log(b) | large city サイズ | 
| h_{BS} <= h_{r} | f > 2000 MHz | d < 500m | 54 – 1.6Δhb | 18 – 15(Δhb/h_{r}) | -8 | 0 | 0 + 54 – 1.6Δhb + (18 – 15(Δhb/h_{r}))*log(d/1000) – 8log(f) – 9log(b) | |
| h_{BS} <= h_{r} | f <= 2000 MHz | d < 500m | 54 – 0.8Δhb | 18 – 15(Δhb/h_{r}) | -4 + 0.7(f/925 – 1) | 0 | 0 + 54 – 1.6Δhb + (18 – 15(Δhb/h_{r}))*log(d/1000) + (-4 + 0.7(f/925 – 1))log(f) – 9log(b) | medium city サイズ以下 | 
| h_{BS} <= h_{r} | f <= 2000 MHz | d < 500m | 54 – 1.6Δhb | 18 – 15(Δhb/h_{r}) | -4 + 1.5(f/925 – 1) | 0 | 0 + 54 – 1.6Δhb + (18 – 15(Δhb/h_{r}))*log(d/1000) + (-4 + 1.5(f/925 – 1))log(f) – 9log(b) | large city サイズ | 
l < d_{s} の場合
- Lmsd = -10log( (Qm)^{2} )
- Θ = arctan((h_{BS} – h_{r})/b)
- ρ = sqrt((h_{BS} – h_{r})^2 + b^2)
| h_{BS}, h_{r} | Qm | 
|---|---|
| h_{BS} > h_{r} | Qm = 2.35 * ( ((h_{BS} – h_{r})/d) * sqrt(b/λ) )^0.9 | 
| h_{BS} == h_{r} | Qm = b/d | 
| h_{BS} < h_{r} | Qm = (b/2πd) * sqrt(λ/ρ) * ( (1/Θ) – ( 1/(2π + Θ) ) ) | 
シミュレーションシナリオ
3GPP TR 38.900 Section 7.2 のシナリオから抜粋
UMi-street canyon and UMa
Urban Macro (UMa) と ストリートキャニオン(ビル街)の場合のUMi(Urban Micro)のシナリオ設定がTR-38.900のp.20に記載されている。
シナリオ設定と基本パラメータ
| パラメータ | UMi – ストリートキャニオン | UMa | 
|---|---|---|
| セルのレイアウト | 六角形グリッド 19マイクロサイト、サイトごとに3セクター(ISD=200m)※ ISD: サイト間距離 | 六角形グリッド 19マクロサイト、サイトごとに3セクター(ISD=500m) | 
| BSアンテナの高さ(h_{BS}) | 10m | 25m | 
| UTの位置(Outdoor/Indoor) | 屋外と屋内の両方 | 屋外と屋内との両方 | 
| UTの位置(LOS/NLOS) | LOS と NLOS 両方 | LOS と NLOS 両方 | 
| UTの位置(高さ h_{UT}) | TR36.873での3D-UMiと同じ | TR36.873での3D-UMa と同じ | 
| Indoor UT ratio | 80% | 80% | 
| UTの移動(水平方向のみ) | 3 km/h | 3 km/h | 
| BS – UT 間の距離の最小値(水平方向) | 10m | 35m | 
| UTの分布(水平方向) | Uniform(一様分布) | Uniform(一様分布) | 
※ BS:基地局
※ UT:ユーザターミナル
- TR36.873(ITUページのリンク)に書かれている3D-UMi, 3D-UMa の高さ設定の定義は、要約すると下記の通り- 3 m (WxLxH=120x50x3 (m) のフロアの高さ) x (階数 – 1 ) + 1.5 m (フロアの床からの基地局の高さ
 
(補足)TR 36.873 に記載されている各シナリオ名での基地局の位置の違い
| シナリオ名(略称) | シナリオ名 | 基地局の位置 | 
|---|---|---|
| 3D-UMi | Urban Micro cell with high (outdoor/indoor) UE density | 周りのビルよりも低い位置に設置 | 
| 3D-UMa | Urban Macro cell with high (outdoor/indoor) UE density | 周りのビルの上に設置 | 
| 3D-UMa-H | Urban Macro cell with one high-rise per sector and 300m ISD | セクターごとにある高いビルの上に一つずつ設置し、300mのISDを保つ | 
| 3D-InH | Indoor Hotspot cell with high (indoor) UE density | 天井の下にマウント。スモールセルで屋内での高スループットのテスト環境時に設定。 | 
屋内オフィスの詳細設定
TR-38.900のp.21に記載。WxLxH = 120m x 50m x 3m の長方形の部屋で、上の壁から15m, 左の壁から10m の位置にBSを一つ置き、そこからx軸・y軸方向に 20m ずつISDを保ちながら、合計12個を配置。(120m x 50m x 3m の部屋に合計12個基地局を設置する。)
| パラメータ | open office | mixed office | 
|---|---|---|
| レイアウト(部屋のサイズ WxLxH) | 120m x 50m x 3m | 120m x 50m x 3m | 
| レイアウト(ISD) | 20m | 20m | 
| BSアンテナの高さ h_{BS} | 3m (天井) | 3m (天井) | 
| UTの位置(LOS/NLOS) | LOSとNLOS両方 | LOSとNLOS両方 | 
| UTの位置(高さ h_{UT}) | 1m | 1m | 
| UTの移動(水平方向のみ) | 3 km/h | 3 km/h | 
| BS – UT間距離の最小値 | 0 m | 0 m | 
| UT の分布 | uniform (一様分布) | uniform (一様分布) | 
図にすると下記のような配置(TR-38.900の図 7.2.1より)。

アンテナモデル
TR-38.900 Section 7.3 より、BS antenna model は a uniform rectangular panel array を使う。下記の表は Table7.3-1 から数式部分をカットして値だけにしたもの。
| パラメータ | 値 | 
|---|---|
| 垂直方向への出力パターン (vertical radiation) | 30 dB | 
| 水平方向への(horizontal radiation) | 30 dB | 
| 3Dアンテナ用の合成方法 | min と床関数を使った式 | 
| アンテナエレメントの指向性利得 (Maximum directional gain) | 8 dBi | 
※ min{A,B} : A, B のうち、小さいほうを選ぶという数式の表現
※ 床関数:実数 x の整数部分を表現するときに使うガウス記号の一つで、実数 x 以下の最大の整数を表現する. texだと\lfloor, \rfloor で囲む。floor(x) と表記する場合もある。wikipediaの解説
パスロス
TR-38.900 Section 7.4.1 にて定義。基本的には、各シナリオに対して数式(計算モデル)が定義されている。
- TR-38.900では、シナリオごとにパスロスの計算方法が定義されている。シャドウフェージングの分布はlog-normal で、標準偏差も与えられている。
- 掲載されている計算方法が NS3 のPropagation models に組み込まれている。- ITU-R P.1411(PDFへのリンク)に掲載されている数式がTR-38.900 に載っている数式の大元(のようだ)
- TR-38.900, P.1411, ns3のソースコードを比較しながら解読した結果、ItuR1411NlosOverRooftopPropagationLossModel を使えばよいようだ。
- ビルによる減衰(O2I building penetration model)を組み合わせる場合は、HybridBuildingPropagationLossModel の中に内蔵されているので、それを使えばよいようだ。
 
TR-38.900 での数式(UMaとUMi-Street-canyonの部分



- UMa-LOS: 10m 以上 で d_{BP}^{‘} (ブレイクポイントまでの距離)以下なら PL_{1} の式を使う。d_{BP}^{‘} 以上で5km 以下の場合はPL_{2} の式を使う。
- UMa-NLOS: 10m以上5km以下の場合、PL_{UMa-LOS} と PL_{UMa-NLOS}^{‘} を比較して、大きいほうを使う。- オプションとして単純化した式(Optional PL)も使える
 
- UMi-LOS (street canyon) : 10m 以上 ブレイクポイント以下の場合、PL_{1}の式を使う。ブレイクポイント以上5km以下の場合、PL_{2}の式を使う。
- UMi-NLOS (street canyon) : 10m 以上 5km 以下の場合、PL_{UMi-LOS}とPL_{UMi-NLOS}^{‘}を比較して、大きいほうを使う- オプションとして単純化した式(Optional PL)も使える
 
- ITU-R P.1411 p.16 (24)式に The free-space loss is given by: 32.4 * 20log10(d/1000) + 20log(f) と書かれてある式が UMA-LOS のPL_{1}の式と一致
- PropagationModelのドキュメントのほうにも実装している式が書いてあった。(リンク)
ns3のItuR1411LosPropagationLossModelのパスロス取得部分
- 対応する数式は ITU-R P.1411 p.8 Section 4.1.2 Site-specific model for LoS situation の UHF propagation 部分
- UHF周波数帯で使えと書いてある。(定義は ITU-R P.341 )
itu-r-1411-los-propagation-loss-model.cc
    61 double
    62 ItuR1411LosPropagationLossModel::GetLoss (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const
    63 {
    64   NS_LOG_FUNCTION (this);
    65   double dist = a->GetDistanceFrom (b);
    66   double lossLow = 0.0;
    67   double lossUp = 0.0;
    68   NS_ASSERT_MSG (a->GetPosition ().z > 0 && b->GetPosition ().z > 0, "nodes' height must be greater than 0");
    69   double Lbp = std::fabs (20 * std::log10 ((m_lambda * m_lambda) / (8 * M_PI * a->GetPosition ().z * b->GetPosition ().z))); # ITU-R P.1411 Sec 4.1.2 fomula (5)
    70   double Rbp = (4 * a->GetPosition ().z * b->GetPosition ().z) / m_lambda; #ITU-R P.1411 Sec 4.1.2 fomula (3)
    71   NS_LOG_LOGIC (this << " Lbp " << Lbp << " Rbp " << Rbp << " lambda " << m_lambda);
    72   if (dist <= Rbp)
    73     {
    74       lossLow = Lbp + 20 * std::log10 (dist / Rbp); #ITU-R P.1411 Sec 4.1.2 fomula (4)
    75       lossUp = Lbp + 20 + 25 * std::log10 (dist / Rbp); #ITU-R P.1411 Sec 4.1.2 fomula (4)
    76     }
    77   else
    78     {
    79       lossLow = Lbp + 40 * std::log10 (dist / Rbp); #ITU-R P.1411 Sec 4.1.2 fomula (2)
    80       lossUp = Lbp + 20 + 40 * std::log10 (dist / Rbp);#ITU-R P.1411 Sec 4.1.2 fomula (2)
    81     }
    82 
    83   double loss = (lossUp + lossLow) / 2;
    84 
    85   return loss;
    86 }
    87 
    88 
    89 void
    90 ItuR1411LosPropagationLossModel::SetFrequency (double freq)
    91 {
    92   NS_ASSERT (freq > 0.0);
    93   m_lambda = 299792458.0 / freq;
    94 }
    95ns3のItuR1411NlosOverRooftopPropagationLossModelのパスロス取得部分
itu-r-1411-nlos-over-rooftop-propagation-loss-model.cc
   101 double
   102 ItuR1411NlosOverRooftopPropagationLossModel::GetLoss (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const
   103 {
   104   NS_LOG_FUNCTION (this << a << b);
   105   double Lori = 0.0;
   106   double fmhz = m_frequency / 1e6;
   107 
   108   NS_ASSERT_MSG (((m_streetsOrientation >= 0) && (m_streetsOrientation <= 90)),
   109                  " Street Orientation must be in [0,90]");
   110   if (m_streetsOrientation < 35)
   111     {
   112       Lori = -10.0 + 0.354 * m_streetsOrientation; # ITU-R P.1411 p.16 Section 4.2.2.1 (26)
   113     }
   114   else if ((m_streetsOrientation >= 35)&&(m_streetsOrientation < 55))
   115     {
   116       Lori = 2.5 + 0.075 * (m_streetsOrientation - 35); # ITU-R P.1411 p.16 Section 4.2.2.1 (26)
   117     }
   118   else // m_streetsOrientation >= 55
   119     {
   120       Lori = 2.5 + 0.075 * (m_streetsOrientation - 55); # ITU-R P.1411 p.16 Section 4.2.2.1 (26)
   121     }
   122 
   123   double distance = a->GetDistanceFrom (b);
   124   double hb = (a->GetPosition ().z > b->GetPosition ().z ? a->GetPosition ().z : b->GetPosition ().z);
   125   double hm = (a->GetPosition ().z < b->GetPosition ().z ? a->GetPosition ().z : b->GetPosition ().z);
   126   NS_ASSERT_MSG (hm > 0 && hb > 0, "nodes' height must be greater then 0");
   127   double Dhb = hb - m_rooftopHeight;
   128   double ds = (m_lambda * distance * distance) / (Dhb * Dhb);
   129   double Lmsd = 0.0;
   130   NS_LOG_LOGIC (this << " build " << m_buildingsExtend << " ds " << ds << " roof " << m_rooftopHeight << " hb " << hb << " lambda " << m_lambda);
   131   if (ds < m_buildingsExtend)
   132     { # ITU-R P.1411 p.18 Section 4.2.2.1 (38),(39),(40),(41)
   133       double Lbsh = 0.0;
   134       double ka = 0.0;
   135       double kd = 0.0;
   136       double kf = 0.0;
   137       if (hb > m_rooftopHeight)
   138         {
   139           Lbsh = -18 * std::log10 (1 + Dhb);
   140           ka = (fmhz > 2000 ? 71.4 : 54.0);
   141           kd = 18.0;
   142         }
   143       else 
   144         {
   145           Lbsh = 0;
   146           kd = 18.0 - 15 * Dhb / a->GetPosition ().z;
   147           if (distance < 500)
   148             {
   149               ka = 54.0 - 1.6 * Dhb * distance / 1000;
   150             }
   151           else
   152             {
   153               ka = 54.0 - 0.8 * Dhb;
   154             }
   155         }
   156       if (fmhz > 2000)
   157         {
   158           kf = -8;
   159         }
   160       else if ((m_environment == UrbanEnvironment)&&(m_citySize == LargeCity))
   161         {
   162           kf = -4 + 0.7 * (fmhz / 925.0 - 1);
   163         }
   164       else
   165         {
   166           kf = -4 + 1.5 * (fmhz / 925.0 - 1);
   167         }
   168 
   169       Lmsd = Lbsh + ka + kd * std::log10 (distance / 1000.0) + kf * std::log10 (fmhz) - 9.0 * std::log10 (m_buildingSeparation); # ITU-R P.1411 p.17 Section 4.2.2.1 (37)
   170     }
   171   else
   172     { # ITU-R P.1411 p.18 Section 4.2.2.1 (42),(43)
   173       double theta = std::atan (Dhb / m_buildingSeparation);# ITU-R P.1411 p.18 Section 4.2.2.1 (44)
   174       double rho = std::sqrt (Dhb * Dhb + m_buildingSeparation * m_buildingSeparation);# ITU-R P.1411 p.18 Section 4.2.2.1 (45)
   175       double Qm = 0.0;
   176       if ((hb > m_rooftopHeight - 1.0) && (hb < m_rooftopHeight + 1.0))
   177         { 
   178           Qm = m_buildingSeparation / distance;
   179         }
   180       else if (hb > m_rooftopHeight)
   181         {
   182           Qm = 2.35 * pow (Dhb / distance * std::sqrt (m_buildingSeparation / m_lambda), 0.9);
   183         }
   184       else
   185         {
   186           Qm = m_buildingSeparation / (2 * M_PI * distance) * std::sqrt (m_lambda / rho) * (1 / theta - (1 / (2 * M_PI + theta)));
   187         }
   188       Lmsd = -10 * std::log10 (Qm * Qm);
   189     }
   190   double Lbf = 32.4 + 20 * std::log10 (distance / 1000) + 20 * std::log10 (fmhz); 
   191   double Dhm = m_rooftopHeight - hm;
   192   double Lrts = -8.2 - 10 * std::log10 (m_streetsWidth) + 10 * std::log10 (fmhz) + 20 * std::log10 (Dhm) + Lori; # ITU-R P.1411 p.16 Section 4.2.2.1 (25)
   193   NS_LOG_LOGIC (this << " Lbf " << Lbf << " Lrts " << Lrts << " Dhm" << Dhm << " Lmsd "  << Lmsd);
   194   double loss = 0.0;
   195   if (Lrts + Lmsd > 0)
   196     { # ITU-R P.1411 p.16 Section 4.2.2.1 (23)
   197       loss = Lbf + Lrts + Lmsd;
   198     }
   199   else
   200     {
   201       loss = Lbf;
   202     }
   203   return loss;
   204 }
   205 
   206 
   207 void
   208 ItuR1411NlosOverRooftopPropagationLossModel::SetFrequency (double freq)
   209 {
   210   m_frequency = freq;
   211   m_lambda = 299792458.0 / freq;
   212 }LOS (Line of Sight) probability
TR-38.900 Section 7.4.2 にシナリオごとにLOSの発生確率の数式が定義されている。(ここでは割愛)
O2I building penetration model
- TR-38.900 Section 7.4.3 にビルでの浸透モデルが定義されている。
- ns3 では BuildingPropagationLossModelに実装されている。
- LOS/NLOSのパスロスと組み合わせる場合は、HybridBuildingPropagationLossModel の中にITU-R 1411, Okumra-Hata, ITU-R P.1238 の減衰モデルが内蔵されているので、それを使えばよい。
- ただし、減衰の設定値がTR 38.900とNS3では異なっている。
TR 38.900 p.28 section 7.4.3 table 7.4.3-1 の減衰値
| Material | Penetration loss [dB] | 
|---|---|
| Standard multi-pane glass | L_{glass} = 2 + 0.2f | 
| IRR glass | L_{IRRglass} = 23 + 0.3f | 
| Concrete | L_{concrete} = 5 + 4f | 
| Wood | L_{wood} = 4.85 + 0.12f | 
| Note: f is in GHz | 
NS3 の減衰値
COST231をもとにしている)( 原文へのリンク)
| Material | Penetration loss [dB] | 
|---|---|
| Wood | 4 dB | 
| Concrete with windows (not metallized) | 7 dB | 
| Concrete without windows | 15 dB (spans between 10 and 20 in COST231) | 
| Stone blocks | 12 dB | 
Autocorrelation of shadow fading
- TR-38.900 Section 7.4.4に記載
- ITU-R Recommendation P.1816 に掲載されている、正規化 autocorrelation 関数 R(Δx) = e^{-|Δx|/d_{cor}}を使う。- Δx : 水平方向の距離d_c{cor} : correlation length
 
- ns3 の src/propagation/examples にJakes Propagation Modelの場合の autocorrelation のデータをプロットする R コマンドが載っている。
Fast fading
TR-38.900 Section 7.5 に Fast Fading を適用するプロシージャーとステップが記載されている。下図はプロシージャーを図示したもの(TR-38.900 Section 7.5, Fig.7.5.1 より)。

3GPP TR 38.900 Section 6.1 に記載されているチャネルモデル
| モデル名 | 特徴 | 
|---|---|
| METIS Channel Models | 5Gの要求事項(広周波数レンジ、高帯域、大規模MIMO、3-D、精密な偏光モデル)に沿ったモデル。2GHzから60GHzまでの帯域でチャネル測定ができる。異なるチャネルモデル手法(マップベース、確率論モデル、ハイブリッドモデル)を提供できる。確率論モデルを使う場合、METISチャネルモデルでは屋外の街区(outdoor square)、屋内のカフェテリア、屋内ショッピングモールシナリオにフォーカスしている。 | 
| MiWEBA Channel Models | シャドウイング(短区間変動)、スペクトルの一貫性、環境の変動、球波動関数(spherical wave modelling)、デュアルモビリティドップラーモデル( dual mobility Doppler model)、拡散反射(diffuse reflection)と鏡面反射(specular reflection)の間の比率、偏波(polarization)などにチャレンジしている。疑似決定性チャネルモデル(Quasi-deterministi channel model)として提案されている。60GHzでのチャネル測定が可能。大学キャンパス、高層ビル群の間の路(street canyon(wikipedia))ホテルのロビー、バックホール(backhaul)、D2Dシナリオにフォーカスしている。 | 
| ITU-R M Channel Models | ミリ波での拡散減衰と大気減衰を扱う。アンテナアレー技術とセミコンダクター技術を取り入れている。高いデータレートサービス用の密度の高い都市部の環境(dense urban environment for high data rate service)への導入シナリオにフォーカスしている:屋内ショッピングモール、屋内の企業、家、街区や街路(square and street) 、街でのモビリティ。 | 
| COST2100 and COST IC1004 Channel Models | 位置ベースの確率論的チャネルモデルで、MIMOチャネルの確率的なプロパティを時間、周波数、空間を超えて再生成する。一種のクラスタレベルモデルにあたり、そこでは、大規模なパラメータの統計値が各チャネルインスタンスのセットごとに常に保証されている。 | 
| NYU WIRELESS Channel Models | 28/38/60/73 GHzに関し屋外・屋内双方で計測した多数の都市部での伝搬計測結果をもとに作られており、計測は今でも続いている。現行の3GPPでの6Ghz以下のチャネルモデルから少しの変更や拡張で済む、次の3エリアでの5Gミリ波チャネルのモデルとして提案されている:1) LOS/NLOS/blockage モデル(a squared exponential term)、2)広帯域パワーディレイプロファイル(時間のクラスターとスペクトルローブから成り、現存する3GPP SSCM モデルの簡単な拡張に使う)、3) 物理学ベースのパスロスモデル(現存の3GPPパスロスモデルの方程式を使うが、”floating”の最適化パラメータを決定論的な 1 m “close-in” である自遊空間伝搬減衰の参照値?(free space reference term)に置き換え、異なるパーティー、シナリオ、周波数のどれでも使える標準的で安定したパスロスの代表値を提供する。) | 
| 802.11 ad/ay Channel Models | 会議室、小寝室、リビングルームを含む、60 GHz帯の屋内チャネルでレイトレース法(ray-tracing methodology)を使うチャネルモデル。クラスタ内パラメータは輻射伝搬遅延量?(ray excess delay)と輻射電力分布?(ray power distribution)の観点から提案されている。遮蔽確率と遮蔽による希薄化の観点から人体遮蔽モデルも提案されている。 |