3GPP の屋内リファレンス シナリオの評価
この例では、3GPP TR 38.913 で説明されている 3GPP enhanced mobile broadband (eMBB) 屋内ホットスポット (InH) のシナリオにおけるシステムレベルのパフォーマンスのモデル化、シミュレート、評価を行う方法を示します。
この例を使用すると、次のことができます。
建物の 1 つのフロアを表す eMBB InH のシナリオを作成する。
基地局 (gNB) とユーザー端末 (UE) を作成して構成する。
UE を gNB に接続し、それらの間にアップリンク (UL) およびダウンリンク (DL) のフル バッファー アプリケーション トラフィックを追加する。
スケジューラとチャネル モデルを構成して追加する。
シミュレーションを実行し、セル スループット、スペクトル効率、ブロック エラー レート (BLER) などの重要性能評価指標 (KPI) を可視化する。
さらに、この例を使用して次のタスクを実行することもできます。
eMBB InH のリファレンス シナリオ
この例では、建物内の 1 つのフロアで構成される eMBB InH のシナリオをモデル化してシミュレートします。

このシナリオの仕様は次のとおりです。
フロアの寸法 — このシナリオは、長さ 120 メートル、幅 50 メートルの四角形の床で構成されます。天井の高さは、フロア全体で一律 3 メートルに設定されています。
gNB の分布 — 12 個の gNB (サイトとも呼ばれる) が、方策に基づいてフロア内のエリア全体に配置されます。gNB は、それぞれ 20 メートル間隔でグリッド レイアウトに配置され、屋内のシナリオにおける完全なカバレッジを確保します。
UE の分布 — このシナリオでは、屋内のシナリオ内で各 gNB に 10 個の UE を割り当てます。UE の分布はランダムになることが意図されており、その位置は各 gNB の位置によって区切られたエリア内に限定されます。
屋内のシナリオは、オフィス空間やショッピング センターなど、一般的な各種屋内環境をカバーするようにモデル化されています。このシナリオは、パーティションで仕切られた空間、壁で囲まれた個室、広々としたオープン エリア、廊下などの特徴を組み込んだ、一般的なオフィス レイアウトを正確にシミュレートします。シミュレーションの要件に応じて、チャネル モデルを "Open" または "Mixed" として構成できます。
"Open" — オープンなオフィス環境は、仕切りのないオフィス エリアのように、障害物が最小限に抑えられた広いオープン スペースで構成されます。信号の伝播は比較的均一であり、一般にユーザーは均等に分布しています。このシナリオは、多くのユーザーが同時にネットワークにアクセスすることが予想される、収容能力が高いエリアをモデル化するために使用されます。
"Mixed" — 混合オフィス環境はより複雑で、オープンなエリアと、壁やパーティションで区切られた密閉されたオフィスの組み合わせで構成されます。ユーザーの分布はより多様になり、信号はより多くのマルチパス フェージングとシャドウイングの影響を受けます。このシナリオを使用して、オープン スペースと密閉された部屋が混在する一般的なオフィス環境をモデル化します。
シミュレーションの前提条件
この例では、次の前提条件が適用されます。
gNB と UE の関連付けは、UE と gNB の近さに基づいて行われます。
UE は最も近い gNB に接続します。
UE は、各 gNB の周囲の円形領域内にランダムに配置されます。
シナリオの構成とシミュレーション
乱数発生器のシード値をリセットします。シード値は乱数発生パターンを制御します。シミュレーションを実行した後、シミュレーション結果の精度を向上させるには、シード値を変更し、シミュレーションを再度実行して、複数のシミュレーションの結果を平均化します。
rng("default");シミュレーション時間を 10 ms のフレーム数で指定します。
numFrameSimulation =
2;ワイヤレス ネットワーク シミュレーターを初期化します。
networkSimulator = wirelessNetworkSimulator.init;
gNB と UE の構成
gNB によって提供されるキャリアが動作する周波数と帯域幅を指定します。搬送波周波数におけるサブキャリア間隔は 15 kHz です。
carrierFreq = 4e9; % In Hz channelBW = 10e6; % In Hz
垂直方向と水平方向の gNB の数を指定します。
numVerticalGNB = 2; numHorizontalGNB = 6;
gNB の送信アンテナと受信アンテナの数を指定します。
gNBNumTransmitAntennas = 32; gNBNumReceiveAntennas = 4;
gNB のノイズ指数と送信電力を指定します。
gNBNoiseFigure = 5; % In dB gNBTxPower = 21; % In dBm
各 gNB に接続される UE の数を指定します。3GPP TR 38.913 によれば、gNB には通常 10 個の UE が割り当てられます。ただし、シミュレーションの実行時間を抑えるために、この例では既定値 (1 個の gNB につき 2 個の UE) を使用します。
numUEsPerGNB =
2;UE の送信アンテナと受信アンテナの数を指定します。
ueNumTransmitAntennas = 4; ueNumReceiveAntennas = 4;
UE のノイズ指数と送信電力を指定します。
ueNoiseFigure = 7; % In dB ueTxPower = 23; % In dBm
InH のシナリオの各セルに gNB と UE を作成します。
scenario = h3GPPReferenceScenarios(Scenario="InH",NumUEs=numUEsPerGNB, ... NumGNBsHorizontal=numHorizontalGNB,NumGNBsVertical=numVerticalGNB, ... MaxUEsPerGNB=numUEsPerGNB); gNBCoordinates = scenario.GNBPositions; ueCoordinates = scenario.UEPositions;
gNB の作成とスケジューラの構成
指定された構成に基づいて gNB を作成します。各 gNB は 1 つの NR セルを操作します。
gNBs = nrGNB(Position=gNBCoordinates,NoiseFigure=gNBNoiseFigure, ... CarrierFrequency=carrierFreq,ChannelBandwidth=channelBW, ... NumReceiveAntennas=gNBNumReceiveAntennas, ... NumTransmitAntennas=gNBNumTransmitAntennas, ... TransmitPower=gNBTxPower,SRSPeriodicityUE=5);
gNB の総数を計算します。
numGNBs = size(gNBs,2);
リンク適応 (LA) パラメーターを構成します。このパラメーターは、UL および DL の構成に対して 10 パーセントの BLER 目標値を指定します。
laConfigDL = struct("StepUp",0.27,"StepDown",0.03,"InitialOffset",1,"ResetOffsetOnCSIReport",false); laConfigUL = struct("StepUp",0.27,"StepDown",0.03,"InitialOffset",1,"ResetOffsetOnCSIReport",false);
gNB、トランスミッション時間間隔 (TTI) あたりの最大ユーザー数、および LA 構成を指定して、スケジューラを構成します。
configureScheduler(gNBs,MaxNumUsersPerTTI=10,...
LinkAdaptationConfigDL=laConfigDL,LinkAdaptationConfigUL=laConfigUL)UL の電力制御パラメーターを構成します。
for gNBIndex = 1:numGNBs configureULPowerControl(gNBs(gNBIndex),Alpha=0.6) end
UE の作成とアプリケーション トラフィックの構成
指定された構成に基づいて UE を作成します。
UEs = nrUE(Position=ueCoordinates,TransmitPower=ueTxPower, ... NumTransmitAntennas=ueNumTransmitAntennas, ... NumReceiveAntennas=ueNumReceiveAntennas,NoiseFigure=ueNoiseFigure);
UE を gNB に接続します。各 gNB とそれに接続された UE との間の UL および DL のフル バッファー トラフィックを構成して追加します。
startUEIndex = 1; ueListInGNB = cell(1,numGNBs); for gNBIndex = 1:numGNBs connectUE(gNBs(gNBIndex),UEs(startUEIndex:startUEIndex+numUEsPerGNB-1), ... CSIReportPeriodicity=160,FullBufferTraffic="on") ueListInGNB{gNBIndex} = UEs(startUEIndex:startUEIndex+numUEsPerGNB-1); startUEIndex = startUEIndex + numUEsPerGNB; end
gNB と UE をワイヤレス ネットワーク シミュレーターに追加します。
addNodes(networkSimulator,gNBs); addNodes(networkSimulator,UEs);
チャネル モデルの構成
チャネル タイプを "Open" または "Mixed" として指定します。
officeType =
"Mixed";シナリオのシステムレベルのチャネル モデルを作成します。
channel = h38901Channel(Scenario="InH",OfficeType=officeType);
chcfg.Site = 1:numGNBs;送信アンテナ アレイの向きを指定します。
chcfg.TransmitArrayOrientation = [0 90 0]';
チャネル モデルをシミュレーターに追加します。
addChannelModel(networkSimulator,@channel.channelFunction);
% Connect the simulator and channel model
connectNodes(channel,networkSimulator,chcfg,InterfererHasSmallScale=true);シミュレーションの実行とメトリクスの可視化
メトリクス プロットの 1 秒あたりの更新回数を設定します。
numMetricPlotUpdates =1000; % Updates plots every millisecond
対応する可視化とメトリクスにアクセスするには、目的の gNB のセル ID を指定します。
cellOfInterest = 1;
PHY および MAC のメトリクスを可視化するには、helperNRMetricsVisualizer オブジェクトを作成して構成します。
metricsVisualizer = cell(numGNBs,1); for cellIdx = 1:numGNBs if cellIdx == cellOfInterest metricsVisualizer{cellIdx} = helperNRMetricsVisualizer(gNBs(cellIdx), ... ueListInGNB{cellIdx},RefreshRate=numMetricPlotUpdates, ... PlotSchedulerMetrics=false,PlotPhyMetrics=false,CellOfInterest=cellIdx, ... PlotCDFMetrics=true); else metricsVisualizer{cellIdx} = helperNRMetricsVisualizer(gNBs(cellIdx), ... ueListInGNB{cellIdx},RefreshRate=numMetricPlotUpdates, ... PlotSchedulerMetrics=false,PlotPhyMetrics=false, ... CellOfInterest=cellIdx,PlotCDFMetrics=false); end end
ネットワーク トポロジを表示します。
networkVisualizer = wirelessNetworkViewer(ShowNodeNames=false); showBoundary(networkVisualizer, Position=[60 25 0], BoundaryShape="rectangle",Bounds=[120 50], ... Name="RectangleBoundary") addNodes(networkVisualizer,gNBs) addNodes(networkVisualizer,UEs)
指定されたフレーム数 numFrameSimulation に基づいてシミュレーション時間を計算します。
simTime = numFrameSimulation*1e-2;
シミュレーションを実行します。
run(networkSimulator,simTime)



シナリオのシステム KPI を表示します。
fprintf("\n\nMetrics for site %d:\n\n",cellOfInterest)Metrics for site 1:
displayPerformanceIndicators(metricsVisualizer{cellOfInterest})Peak UL throughput: 258.80 Mbps Achieved cell UL throughput: 35.26 Mbps Achieved UL throughput for each UE: [15.75 19.51] Peak UL spectral efficiency: 25.88 bits/s/Hz Achieved UL spectral efficiency for cell: 3.53 bits/s/Hz Block error rate for each UE in the UL direction: [0.333 0.556] Peak DL throughput: 258.80 Mbps Achieved cell DL throughput: 40.12 Mbps Achieved DL throughput for each UE: [0.13 39.99] Peak DL spectral efficiency: 25.88 bits/s/Hz Achieved DL spectral efficiency for cell: 4.01 bits/s/Hz Block error rate for each UE in the DL direction: [0.842 0.053]
これらの結果では、セル スループットやスペクトル効率などのシステム KPI とともに、瞬時セル スループットと平均 BLER の両方に関する経験累積分布関数 (ECDF) のプロットが表示されます。ECDF のプロットを使用して、スループットと BLER が x 軸に示された特定の値以下になるスロットの割合を判定します。
すべての gNB にわたる平均スペクトル効率と平均 BLER の ECDF プロットを表示します。
scenario.displayScenarioPlots(metricsVisualizer,numGNBs,numFrameSimulation)

その他の調査
この例を使用して、さらに次の機能を調べることができます。
eMBB InH のシナリオと 3GPP リファレンス シナリオにおける広帯域 SINR の比較
シミュレーション シナリオの詳細については、CompareInHScenarioWith3GPPReferenceScenario.m スクリプトを参照してください。
これらのシミュレーションの前提条件と制限は次のとおりです。
RSRP に基づく UE の接続: TR 38.901 に準拠した RSRP 測定 (パス損失 + シャドウ フェージング + アンテナ ゲイン) を使用して接続される UE について、均一ドロッピングおよび 20 倍のオーバーサンプリングを行い、接続候補の中から gNB ごとにちょうど 10 台の UE をランダムに選択します。
チャネルおよび干渉のモデル化:
InterfererHasSmallScale=trueを設定した h38901Channel は、各 UE に対して干渉源となる 11 個すべての gNB に対する小規模フェージングを有効にします。確定的なシード設定により、シナリオ ビルダーとチャネル モデル間で RNG を整合させ、確実に再現性のある結果となるようにします。パフォーマンス メトリクス: PDSCH SINR は、
PacketReceptionEndedリスナーで測定され、スロット間で時間平均化されます (5 ms の安定化期間は除く)。CDF は 3GPP RP-180524 リファレンスと比較されます。ハンドオーバーがサポートされないため、SINR < -5 dB のサンプルはフィルター処理されます。このシミュレーションでは、フル バッファー トラフィック モデルを実行し、リソース割り当てタイプ 1 (RAT-1) を採用して、ラウンドロビン スケジューリング アルゴリズムを使用します。
結果には、RP-180524 の前提条件と仕様に基づいた、InH のシナリオと 3GPP リファレンス モデルの広帯域 SINR の比較も含まれています。

リンク適応、チャネル、アンテナ構成が KPI に与える影響の解析
さまざまなアンテナ構成、LA パラメーター、送信電力を指定し、スループット、スペクトル効率、BLER などのシステム KPI に与える影響を解析することができます。
チャネルの構成で "
OfficeType" や "InterfererHasSmallScale" などのパラメーターを調整して、システム KPI への影響を観察することもできます。"InterfererHasSmallScale" パラメーターを有効にすると、シミュレーションで小規模なフェージングが考慮されるようになり、干渉をより正確に表現できるようになります。ただし、シミュレーションの計算効率を優先する場合は、この機能を無効にすると、シミュレーション速度が大幅に向上する可能性があります。
サポート関数
この例では、次の補助オブジェクトと補助関数を使用します。
helperNRMetricsVisualizer— メトリクス可視化機能の実装h3GPPReferenceScenarios— InH のシナリオの生成h38901Channel— 3GPP TR 38.901 のチャネル モデルの実装h38901Scenario— 3GPP TR 38.901 のシステムレベル シナリオ ビルダーの実装hNRKPIManager: 重要性能評価指標を計算する機能の実装
参照
[1] 3GPP TR 38.913. “Study on Scenarios and Requirements for Next Generation Access Technologies.” Release 17. 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
[2] Huawei, Summary of Calibration Results for IMT-2020 Self Evaluation, 3GPP TSG RAN Meeting 79, RP-180524, 2018.
参考
オブジェクト
wirelessNetworkSimulator(Wireless Network Toolbox) |nrGNB|nrUE
