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: {[1x1 nrSCSCarrierConfig]} BandwidthParts: {[1x1 nrWavegenBWPConfig]} SSBurst: [1x1 nrWavegenSSBurstConfig] CORESET: {[1x1 nrCORESETConfig]} SearchSpaces: {[1x1 nrSearchSpaceConfig]} PDCCH: {[1x1 nrWavegenPDCCHConfig]} PDSCH: {[1x1 nrWavegenPDSCHConfig]} CSIRS: {[1x1 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');