5G NR 波形生成
この例では、5G NR 波形生成ワークフローの概要と、5G Toolbox™ 製品を使用して生成できる波形タイプを示します。
はじめに
5G Toolbox の機能を使用することで、以下の NR 波形を構成および生成できます。
NR テスト モデル (NR-TM)
NR アップリンクおよび NR ダウンリンクの fixed reference channel (FRC)
NR ダウンリンク波形
NR アップリンク波形
パラメーターの静的セットを使用して波形を構成および生成するには、以下のワークフローのいずれかを使用できます。これらのワークフローで生成された波形は、テストや測定の用途で使用できます。
5G 波形発生器アプリの使用。このアプリは、波形を構成するためのユーザー インターフェイス (UI) を提供します。5G 波形には多数のパラメーターがあるため、波形をパラメーター化するための推奨ワークフローは、このアプリを使用することです。このアプリでは、アプリ内で直接波形を生成することも、波形構成を MATLAB® にエクスポートしてコマンド プロンプトで波形を生成することもできます。このアプリでは、波形構成を Simulink™ にエクスポートすることもできます。
関数
nrWaveformGeneratorの使用。この関数は、構成オブジェクトを使用して波形を構成するためのプログラム インターフェイスを提供します。
動的に変化するパラメーターを使用して波形を構成および生成する方法 (たとえば 5G リンクをモデル化する場合) については、NR PDSCH スループットおよびNR PUSCH スループットの例を参照してください。
物理ランダム アクセス チャネル (PRACH) 波形を構成および生成する方法については、5G NR PRACH 構成および5G NR PRACH 波形の生成の例を参照してください。
アプリを使用した 5G 波形の構成および生成
"5G 波形発生器" アプリは、多数の構成パラメーターを管理するための UI を提供します。このアプリでは、波形タイプの選択、パラメーターの指定、および波形の生成とエクスポートを行うことができます。このアプリでは、テスト装置や測定装置と通信することもできます。以下の図は、このアプリで 5G 波形を生成してエクスポートするための一般的なワークフローを示しています。

5G 波形発生器アプリを開く
[アプリ] タブの [信号処理と通信] で "5G 波形発生器" アプリのアイコンをクリックし、このアプリを開きます。

波形タイプの選択
このアプリでは、さまざまな波形タイプを選択できます。ダウンリンクとアップリンクのオプションにより、波形のコンテンツを完全にカスタマイズできます。NR-TM、ダウンリンク FRC、およびアップリンク FRC も生成できます。

パラメーターの指定
このアプリでは、パラメーターを指定できます。パラメーターを設定すると、アプリはリソース グリッドの可視化コンテンツを即座に更新し、すべての物理チャネルの位置を波形内に表示します。リソース グリッド ビューには、全ポートにまたがるすべての物理チャネルの場所の結合が含まれます (つまり、可視化では各ポートの送信内容が区別されない)。リソース グリッドの最大解像度は 1 リソース ブロック (RB) であるため、可視化では単一のリソース エレメント (RE) を使用する信号が表示されません。
以下の図は、2 つの物理ダウンリンク共有チャネル (PDSCH) の構成を示しています。最初の PDSCH はすべてのスロットに広がり、物理リソース ブロック (PRB) 0 ~ 100 を使用します。2 番目の PDSCH は、スロット 0 ~ 2 とスロット 4 ~ 6 でアクティブであり、PRB 200 ~ 250 を使用します。

波形の生成
アプリで構成された波形を生成するには、[生成] をクリックします。アプリは、ベースバンドの同相成分と直交 (IQ) 成分のサンプルを発生器の内部で作成します。[Spectrum Analyzer] タブで、生成された信号のスペクトルを確認できます。
波形のエクスポート
波形をエクスポートするには、[エクスポート] をクリックして、利用可能なオプションのいずれかを選択します。波形は、ワークスペース、ファイル、MATLAB スクリプト、または Simulink モデルにエクスポートできます。

[ワークスペースにエクスポート] オプションは、MATLAB ワークスペースに構造体を作成します。構造体には、波形サンプル、サンプリング周波数、構成パラメーターに加え、波形タイプ (ダウンリンク、アップリンク、テスト モデル、ダウンリンク FRC、またはアップリンク FRC) を記述する文字列が含まれます。以下に例を示します。

[ファイルへエクスポート] オプションは、波形を
.matまたは.bbのベースバンド ファイルとして保存します。[MATLAB スクリプトのエクスポート] オプションは、MATLAB スクリプトを作成します。スクリプトを実行して、構成された波形を MATLAB コマンド ウィンドウで生成します。
[Simulink にエクスポート] オプションは、Waveform From Wireless Waveform Generator Appブロックを生成します。このブロックを Simulink モデルで波形ソースとして使用します。
MATLAB コードを使用した 5G 波形の構成と生成
関数nrWaveformGeneratorは、構成オブジェクトを使用して波形を構成するためのプログラム インターフェイスを提供します。時間をかけてすべてのパラメーターを手動で指定する代わりに、5G 波形発生器アプリで波形を構成し、その構成を MATLAB スクリプトにエクスポートできます。この MATLAB スクリプトを変更して実行し、構成された 5G 波形を生成できます。
このアプリを使用することには、以下の利点があります。
アプリには、値を選択するためのドロップダウン リストなどの UI コントロールが含まれている。
一部の UI コントロールには、カスタム値を設定する際の検証が含まれている。
グリッド可視化機能により、指定するパラメーターに応じて信号がどのように見えるかを確認できる。
たとえば、このセクションのコード例では、nrDLCarrierConfig 構成オブジェクトを使用して 5G ダウンリンク波形を生成します。アプリの [MATLAB スクリプトのエクスポート] オプションを使用してダウンリンク波形用に生成するコードも、nrDLCarrierConfig 構成オブジェクトを使用します。
既定のダウンリンク波形構成オブジェクトを作成します。waveconfig オブジェクトは波形の仕様をすべて網羅しており、すべてが構成可能です。
waveconfig = nrDLCarrierConfig
waveconfig =
nrDLCarrierConfig with properties:
Label: 'Downlink carrier 1'
FrequencyRange: 'FR1'
ChannelBandwidth: 50
NCellID: 1
NumSubframes: 10
InitialNSubframe: 0
WindowingPercent: 0
SampleRate: []
CarrierFrequency: 0
SCSCarriers: {[1×1 nrSCSCarrierConfig]}
BandwidthParts: {[1×1 nrWavegenBWPConfig]}
SSBurst: [1×1 nrWavegenSSBurstConfig]
CORESET: {[1×1 nrCORESETConfig]}
SearchSpaces: {[1×1 nrSearchSpaceConfig]}
PDCCH: {[1×1 nrWavegenPDCCHConfig]}
PDSCH: {[1×1 nrWavegenPDSCHConfig]}
CSIRS: {[1×1 nrWavegenCSIRSConfig]}
構成パラメーターを設定したら、プログラムの波形発生器を呼び出します。
[waveform,waveformInfo] = nrWaveformGenerator(waveconfig);
スペクトログラムをプロットして、周波数領域で信号を可視化します。この波形には、フル割り当て PDSCH、物理ダウンリンク制御チャネル (PDCCH)、および信号同期 (SS) バーストが含まれます。
% Plot spectrogram of waveform for first antenna port samplerate = waveformInfo.ResourceGrids(1).Info.SampleRate; nfft = waveformInfo.ResourceGrids(1).Info.Nfft; figure; spectrogram(waveform(:,1),ones(nfft,1),0,nfft,'centered',samplerate,'yaxis','MinThreshold',-130); title('Spectrogram of 5G Downlink Baseband Waveform');

PRB 0 ~ 10 の範囲になるように PDSCH 割り当てを変更します。波形を生成し、スペクトログラムをプロットします。
waveconfig.PDSCH{1}.PRBSet = 0:10;
[waveform,waveformInfo] = nrWaveformGenerator(waveconfig);
% Plot spectrogram of waveform for first antenna port
samplerate = waveformInfo.ResourceGrids(1).Info.SampleRate;
nfft = waveformInfo.ResourceGrids(1).Info.Nfft;
figure;
spectrogram(waveform(:,1),ones(nfft,1),0,nfft,'centered',samplerate,'yaxis','MinThreshold',-130);
title('Spectrogram of 5G Downlink Baseband Waveform');
物理チャネルと信号は複数のインスタンスを定義できます。PDSCH 構成オブジェクトの 2 番目のインスタンスを作成し、割り当てを PRB 40 ~ 50 および OFDM シンボル 2 ~ 10 の範囲に設定します。
mySecondPDSCH = nrWavegenPDSCHConfig; mySecondPDSCH.PRBSet = 40:50; mySecondPDSCH.SymbolAllocation = [2 10];
2 番目の PDSCH 構成を波形構成に割り当てます。波形を生成します。
waveconfig.PDSCH{2} = mySecondPDSCH;
[waveform,waveformInfo] = nrWaveformGenerator(waveconfig);
% Plot spectrogram of waveform for first antenna port
samplerate = waveformInfo.ResourceGrids(1).Info.SampleRate;
nfft = waveformInfo.ResourceGrids(1).Info.Nfft;
figure;
spectrogram(waveform(:,1),ones(nfft,1),0,nfft,'centered',samplerate,'yaxis','MinThreshold',-130);
title('Spectrogram of 5G Downlink Baseband Waveform');