メインコンテンツ

Waveform From Wireless Waveform Generator App

Simulink にエクスポートされた無線波形ソース

R2021b 以降

  • Waveform From Wireless Waveform Generator App block

ライブラリ:
None

説明

Waveform From Wireless Waveform Generator App ブロックは、無線波形発生器アプリを使用して生成されます。生成されたブロックは、Simulink® モデルの無線波形ソースとして使用できます。

メモ

実際のブロック名と出力波形は、ブロックの生成前にアプリで構成した波形に基づきます。

5G Toolbox™ ソフトウェアを使用して Simulink にエクスポートできる波形タイプの概要については、5G 波形発生器アプリを参照してください。

ブロックを生成するには、次のようにします。

  1. アプリのツールストリップの [波形タイプ] セクションで、構成する波形をクリックし、Simulink にエクスポートします。

  2. 選択した波形のパラメーターを設定します。

  3. アプリのツールストリップの [エクスポート] セクションで [エクスポート] をクリックし、[Simulink にエクスポート] を選択します。

[マスク エディター] ウィンドウの [コード] タブには、構成された波形を出力するためにブロックが実行する MATLAB® コードが含まれています。読み取り専用のブロック パラメーターと波形構成パラメーターにアクセスするには、UserData 共通のブロック プロパティを使用します。このプロパティは次のフィールドからなる構造体です。

  • WaveformConfig — 波形構成パラメーター

  • WaveformLength — 波形長

  • Fs — 波形のサンプル レート

すべて展開する

この例は、無線波形発生器アプリで使用可能な "Simulink にエクスポート" 機能を使用して生成されたブロックを構成および使用する方法を示します。

はじめに

無線波形発生器アプリは、波形の作成、劣化要因の追加、可視化、およびエクスポートを行うための対話型のツールです。ワークスペース、.mat または .bb ファイルに波形をエクスポートできます。また、実行可能な MATLAB® スクリプトまたは Simulink® ブロックに波形生成パラメーターをエクスポートできます。エクスポートした Simulink ブロックを使用して、Simulink で波形を再現できます。この例では、アプリの "Simulink にエクスポート" 機能を使用する方法と、エクスポートしたブロックを構成して Simulink で波形を生成する方法を説明します。

この例では OFDM 波形のエクスポートを取り上げていますが、サポートされているすべての波形タイプに同じプロセスが適用されます。

Simulink へのワイヤレス波形構成のエクスポート

[アプリ] タブの [無線通信] で無線波形発生器アプリのアイコンをクリックし、このアプリを開きます。あるいは MATLAB コマンド プロンプトで wirelessWaveformGenerator と入力します。

[波形タイプ] セクションで [OFDM] をクリックして OFDM を選択します。アプリの左端のペインで、選択した波形の構成パラメーターを調整します。次にアプリ ツールストリップの [エクスポート] をクリックし、[Simulink にエクスポート] を選択して、構成をエクスポートします。

[Simulink にエクスポート] オプションにより Simulink ブロックが作成されます。このブロックは、Simulink モデルの実行時に選択された波形を出力します。開いているモデルがない場合、このブロックは新しいモデルにエクスポートされます。

"最終データ値の後の出力フォーム" ブロック パラメーターは、指定されたすべての信号サンプルの生成後の出力を指定します。このパラメーターの値は Cyclic repetition および Setting to zero です。Cyclic repetition オプションでは、信号の最後のサンプルに到達後、最初から信号が繰り返されます。Setting to zero オプションでは、ブロックは信号の最後のフレームを生成後、シミュレーションの間、ゼロ値の出力を生成します。"波形のサンプル レート (Fs)" および "波形長" ブロック パラメーターは、[マスク エディター] ダイアログ ボックスの [コード] タブで使用可能な波形構成から導出されます。ブロック パラメーターの詳細については、Waveform From Wireless Waveform Generator Appを参照してください。この図は、エクスポートしたブロックのパラメーターを示しています。

エクスポートしたブロックに Spectrum Analyzer ブロックを接続します。

モデルをシミュレーションし、現在の構成を使用して波形を可視化します。

Spectrum Analyzer ブロックは [波形のサンプル レート (Fs)] パラメーター (64 MHz) を継承します。

ワイヤレス波形の構成の変更

Simulink モデルを実行すると、エクスポートされたブロックによって、ブロックの [マスク エディター] ダイアログ ボックスの [コード] タブで生成された波形が出力されます。このタブで波形を初期化する MATLAB コードは、ブロックをエクスポートする前に無線波形発生器アプリで選択した構成に対応しています。波形の構成を変更するには、次のオプションのいずれかを選択します。

  • 無線波形発生器アプリを開き、構成を選択し、新しいブロックをエクスポートする。このオプションでは、MATLAB コードの代わりにアプリ インターフェイスを操作し、パラメーター化プロセスでパラメーター範囲を検証し、Simulink モデル実行前に波形を可視化できます。

  • エクスポートしたブロックの [マスク エディター] ダイアログ ボックスの [コード] タブで使用できる構成パラメーターを更新する。このオプションの場合、このタブで使用できる MATLAB コードを変更する必要があります。これにより、変更適用時にのみパラメーター範囲の検証が行われるようになります。このオプションでは、Simulink モデル実行前の波形の可視化は行われません。選択した波形を生成する MATLAB コードを熟知していない場合には、このオプションを使用して波形パラメーターを変更することは推奨されません。

[マスク エディター] の [コード] タブで構成を更新できます。[マスク エディター] を開くには、エクスポートしたブロックをクリックし、"Ctrl+M" を押します。

[コード] タブにある MATLAB コードを使用して、必要なパラメーターを更新します。たとえば、サブキャリア間隔 scs を 1,500,000 Hz に設定します。

[OK] をクリックし、変更を適用して [マスク エディター] ダイアログ ボックスを閉じます。モデルをシミュレーションし、更新後の波形を可視化します。

Spectrum Analyzer ブロックにはサンプル レート 96 MHz が表示されます。これは予期されるとおり、前のサンプル レートの 1.5 倍です。

モデルのその他のブロックとのワイヤレス波形構成の共有

読み取り専用のブロック パラメーターと波形構成パラメーターにアクセスするには、UserData 共通のブロック プロパティを使用します。このプロパティは次のフィールドからなる構造体です。

  • WaveformConfig:波形の構成

  • WaveformLength:波形長

  • Fs:波形のサンプル レート

関数 get_param を使用することで、エクスポートしたブロックのユーザー データにアクセスできます。

ans = 

  struct with fields:

    WaveformConfig: [1×1 comm.OFDMModulator]
    WaveformLength: 8000
                Fs: 96000000

コールバックで InitFcn を使用して、ユーザー データで使用可能な構造体をベース ワークスペース変数に保管します。InitFcn コールバックは、モデルの更新およびシミュレーション中に実行されます。このコールバックを使用するには、[モデル化] タブをクリックし、[モデル設定] ドロップダウン、[モデル プロパティ] オプションの順にクリックします。[コールバック] ペインで、InitFcn コールバックを選択します。ユーザー データを新しいベース ワークスペース変数 (cfg など) に割り当てます。

エクスポートしたブロックのユーザー データで使用可能なパラメーターは、[コード] タブで構成変更を適用するたびに更新されます。

OFDM 波形を復調するには、OFDM Demodulator ブロックをモデルに追加します。OFDM Waveform Generator ブロックと OFDM Demodulator ブロックの間に AWGN Channel ブロックを接続して、入力信号にホワイト ガウス ノイズを付加します。また Constellation Diagram ブロックを追加して、復調されたシンボルをプロットします。

OFDM Demodulator ブロックの構成に必要なパラメーターは、エクスポートしたブロックを構成するために使用されるパラメーターと一致している必要があります (一致していない場合、復調が失敗します)。エクスポートしたブロックの構成パラメーターにアクセスするには、変数 cfg を使用します。この図は、OFDM Demodulator ブロックのパラメーターを示しています。

OFDM Demodulator ブロックには復調する OFDM 波形全体が必要であるため、エクスポートしたブロックの [フレームあたりのサンプル数] パラメーターを cfg.WaveformLength に設定します。モデルをシミュレートします。

OFDM Demodulator ブロックを使用して OFDM 波形を復調した後、Constellation Diagram ブロックによって、結果の QAM シンボルが表示されます。

マルチキャリア波形の生成

マルチキャリア生成では、すべての波形のサンプリング レートが同じでなければなりません。波形を搬送波オフセットにシフトして集約するには、Multiband Combiner ブロックを使用できます。

波形を周波数でシフトするには、サンプリング レートを上げる必要がある場合があります。Multiband Combiner ブロックは、入力波形をシフトして結合する前にその入力波形をオーバーサンプリングするオプションを提供します。この図は、Multiband Combiner ブロックのパラメーターを示しています。

モデルをシミュレーションし、-80、20、および 100 MHz を中心とする波形を可視化します。

制限

  • 5G NR 波形用に生成されたブロックを除き、ランダムなユーザー定義信号データを使用して波形用に生成されたブロックは、ラピッド アクセラレータ モードをサポートしません。アプリの [ビット ソース] パラメーターを [User-defined] に設定したときに、それらのブロックでラピッド アクセラレータ モードを有効にするには、データ ソースとして疑似ノイズ (PN) データを使用します。

  • モデル実行の高速リスタート モードを有効にする場合、このブロックに状態変数を含めてはなりません。詳細については、高速リスタートによる反復的なシミュレーションの改善 (Simulink)を参照してください。

端子

出力

すべて展開する

時間領域の無線波形。複素行列として返されます。行列の列の数は、送信アンテナの数に対応します。アプリで選択した波形タイプによって、出力波形タイプが決まります。波形構成パラメーターにアクセスするには、UserData 共通ブロック プロパティの WaveformConfig 構造体フィールドを使用します。

データ型: double
複素数のサポート: あり

パラメーター

すべて展開する

ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink ツールストリップの [シミュレーション] タブの [準備] ギャラリーで、[プロパティ インスペクター] を選択します。

読み取り専用の波形パラメーター

ブロックは、[コード] タブの波形構成に基づいてこれらのパラメーターを自動的に更新します。

このパラメーターは読み取り専用です。

このパラメーターにアクセスするには、UserData 共通ブロック プロパティの Fs 構造体フィールドを使用します。Fs 構造体フィールドの単位は Hz です。

このパラメーターは読み取り専用です。

このパラメーターにアクセスするには、UserData 共通ブロック プロパティの WaveformLength 構造体フィールドを使用します。WaveformLength 構造体フィールドの単位はサンプル数です。

シミュレーション パラメーター

次のパラメーターは、シミュレーション中にブロックが波形を出力する方法を制御します。

このパラメーターは、各出力フレームにバッファリングするサンプル数を指定します。

このパラメーターは、使用可能なすべての波形サンプルをブロックが出力した後の出力値を指定します。

  • [サイクリック繰り返し] を選択すると、ブロックは波形の最後のサンプルに到達した後、最初から波形を繰り返します。

  • [0 に設定] を選択すると、ブロックは波形の最後のフレームを生成した後、シミュレーションの間、ゼロ値の出力を生成します。

拡張機能

すべて展開する

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2021b で導入

参考

アプリ