メインコンテンツ

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

3GPP の屋内リファレンス シナリオの評価

R2024a 以降

この例では、3GPP TR 38.913 で説明されている 3GPP enhanced mobile broadband (eMBB) 屋内ホットスポット (InH) のシナリオにおけるシステムレベルのパフォーマンスのモデル化、シミュレート、評価を行う方法を示します。

この例を使用すると、次のことができます。

  1. 建物の 1 つのフロアを表す eMBB InH のシナリオを作成する。

  2. 基地局 (gNB) とユーザー端末 (UE) を作成して構成する。

  3. UE を gNB に接続し、それらの間にアップリンク (UL) およびダウンリンク (DL) のフル バッファー アプリケーション トラフィックを追加する。

  4. スケジューラとチャネル モデルを構成して追加する。

  5. シミュレーションを実行し、セル スループット、スペクトル効率、ブロック エラー レート (BLER) などの重要性能評価指標 (KPI) を可視化する。

さらに、この例を使用して次のタスクを実行することもできます。

eMBB InH のリファレンス シナリオ

この例では、建物内の 1 つのフロアで構成される eMBB InH のシナリオをモデル化してシミュレートします。

UpdatedInH.png

このシナリオの仕様は次のとおりです。

  • フロアの寸法 — このシナリオは、長さ 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 の周囲の円形領域内にランダムに配置されます。

シナリオの構成とシミュレーション

Communications Toolbox™ Wireless Network Simulation Library サポート パッケージがインストールされているかどうかを確認します。サポート パッケージがインストールされていない場合、MATLAB® は、サポート パッケージをダウンロードしてインストールするためのリンクが記載されたエラーを返します。

wirelessnetworkSupportPackageCheck

乱数発生器のシード値をリセットします。シード値は乱数発生パターンを制御します。シミュレーションを実行した後、シミュレーション結果の精度を向上させるには、シード値を変更し、シミュレーションを再度実行して、複数のシミュレーションの結果を平均化します。

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, ...
     Visualization=false);
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);
laConfigUL = struct("StepUp",0.27,"StepDown",0.03,"InitialOffset",1);

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);

チャネル モデルの構成

シナリオのシステムレベルのチャネル モデルを作成します。

channel = h38901Channel(Scenario="InH");

チャネル タイプを "Open" または "Mixed" として指定します。

channel.OfficeType = "Mixed";
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

指定されたフレーム数 numFrameSimulation に基づいてシミュレーション時間を計算します。

simTime = numFrameSimulation*1e-2;

シミュレーションを実行します。

run(networkSimulator,simTime)

Figure ECDF of Block Error Rate (BLER) contains 2 axes objects and another object of type uigridlayout. Axes object 1 with title Average Cell DL BLER, xlabel BLER, ylabel ECDF contains 3 objects of type line, constantline. This object represents Average BLER. Axes object 2 with title Average Cell UL BLER, xlabel BLER, ylabel ECDF contains 3 objects of type line, constantline. This object represents Average BLER.

Figure ECDF of Cell Throughput contains 2 axes objects and another object of type uigridlayout. Axes object 1 with title Cell DL Throughput, xlabel Cell Throughput (Mbps), ylabel ECDF contains 3 objects of type line, constantline. This object represents Cell Throughput. Axes object 2 with title Cell UL Throughput, xlabel Cell Throughput (Mbps), ylabel ECDF contains 3 objects of type line, constantline. This object represents Cell Throughput.

シナリオのシステム 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: 13.03 Mbps
Achieved UL throughput for each UE: [3.48        9.55]
Peak UL spectral efficiency: 25.88 bits/s/Hz. Achieved UL spectral efficiency for cell: 1.30 bits/s/Hz 
Block error rate for each UE in the UL direction: [0.5       0.222]

Peak DL throughput: 258.80 Mbps. Achieved cell DL throughput: 5.61 Mbps
Achieved DL throughput for each UE: [0.13        5.48]
Peak DL spectral efficiency: 25.88 bits/s/Hz. Achieved DL spectral efficiency for cell: 0.56 bits/s/Hz
Block error rate for each UE in the DL direction: [0.842       0.632]

これらの結果では、セル スループットやスペクトル効率などのシステム KPI とともに、瞬時セル スループットと平均 BLER の両方に関する経験累積分布関数 (ECDF) のプロットが表示されます。ECDF のプロットを使用して、スループットと BLER が x 軸に示された特定の値以下になるスロットの割合を判定します。

すべての gNB にわたる平均スペクトル効率と平均 BLER の ECDF プロットを表示します。

scenario.displayScenarioPlots(metricsVisualizer,numGNBs,numFrameSimulation)

Figure ECDF of KPIs (UL/DL) contains 4 axes objects and another object of type uigridlayout. Axes object 1 with title Average DL Spectral Efficiency, xlabel DL SE (bit/Hz/s), ylabel ECDF contains 3 objects of type line, constantline. This object represents DL SE. Axes object 2 with title Average UL Spectral Efficiency, xlabel UL SE (bit/Hz/s), ylabel ECDF contains 3 objects of type line, constantline. This object represents UL SE. Axes object 3 with title Average DL BLER, xlabel BLER, ylabel ECDF contains 3 objects of type line, constantline. This object represents DL BLER. Axes object 4 with title Average UL BLER, xlabel BLER, ylabel ECDF contains 3 objects of type line, constantline. This object represents UL BLER.

その他の調査

この例を使用して、さらに次の機能を調べることができます。

eMBB InH のシナリオと 3GPP リファレンス シナリオにおける広帯域 SINR の比較

3GPP ドキュメント RP-180524 のシミュレーションのシナリオでは、UE を各 gNB の周囲の矩形領域にランダムに配置し、パス損失の計算結果に基づいて UE と gNB の関連付けを決定します。このシミュレーションでは、フル バッファー トラフィック モデルを実行し、リソース割り当てタイプ 1 (RAT-1) を採用して、ラウンドロビン スケジューリング アルゴリズムを使用します。このシミュレーションでは、UL と DL でそれぞれ 10 パーセントの BLER 目標値を達成するために、LA パラメーター LinkAdaptationConfigUL および LinkAdaptationConfigDL を構成します。この構成では、UL の電力制御アルファ パラメーターが 0.6 に設定されます。広帯域 SINR を正確に測定するため、TTI 値あたりの最大ユーザー数を 1 に設定します。シミュレーション シナリオの詳細については、CompareInHScenarioWith3GPPReferenceScenario.m のスクリプトを参照してください。

これらのシミュレーションの前提条件と制限は次のとおりです。

  1. パス損失の測定により UE の接続が決定されます。このシミュレーションでは、3GPP TR 38.901 の仕様で定義されている基準信号受信電力 (RSRP) に基づく接続はサポートされていません。

  2. ランク選択アルゴリズムは、完全なチャネル推定を前提とし、隣接セルからの干渉を無視します。その結果、このアルゴリズムによって、大多数の UE が最高ランク 4 を選択する状況が生まれ、スペクトル効率が影響を受けて、BLER が大幅に増加します。

  3. LA コンフィギュレーション パラメーターを調整することで、連続する 2 つの CSI レポート インスタンス内で BLER を安定させることができます。

  4. 後続のセッションには、PDSCH 測定の一部である信号対干渉比 (SINR) のプロットが含まれます。

  5. このシミュレーションでは、単一のコードワードがサポートされ、UL および DL の最大ランクは 4 になります。

結果には、3GPP ドキュメント RP-180524 のセクション 4.1 の前提条件と仕様に基づいた、InH のシナリオと 3GPP リファレンス モデルの広帯域 SINR の比較も含まれています。

リンク適応、チャネル、アンテナ構成が KPI に与える影響の解析

  • さまざまなアンテナ構成、LA パラメーター、送信電力を指定し、スループット、スペクトル効率、BLER などのシステム KPI に与える影響を解析することができます。

  • チャネルの構成で "OfficeType" や "InterfererHasSmallScale" などのパラメーターを調整して、システム KPI への影響を観察することもできます。"InterfererHasSmallScale" パラメーターを有効にすると、シミュレーションで小規模なフェージングが考慮されるようになり、干渉をより正確に表現できるようになります。ただし、シミュレーションの計算効率を優先する場合は、この機能を無効にすると、シミュレーション速度が大幅に向上する可能性があります。

サポート関数

この例では、次の補助オブジェクトと補助関数を使用します。

参照

[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.

参考

オブジェクト

トピック