Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

無線波形発生器

変調された波形の作成、損失の追加、可視化、およびエクスポート

説明

無線波形発生器アプリを使用することで、変調された波形の作成、損失の追加、可視化、およびエクスポートができます。

このアプリを使用して以下ができます。

  • カスタムの OFDM、QAM、および PSK 変調された波形の生成。

  • 正弦波テスト波形の生成。

  • 5G NR アップリンクとダウンリンクの搬送波形の生成。この機能には5G Toolboxが必要です。詳細については、5G 波形発生器 (5G Toolbox)アプリのリファレンス ページを参照してください。

  • LTE 変調された波形の生成。この機能にはLTE Toolboxが必要です。詳細については、LTE Waveform Generator (LTE Toolbox) アプリのリファレンス ページを参照してください。

  • WLAN (802.11™) 変調された波形の生成。この機能にはWLAN Toolboxが必要です。詳細については、WLAN 波形発生器 (WLAN Toolbox)アプリのリファレンス ページを参照してください。

  • Bluetooth 変調された波形の生成。この機能にはBluetooth Toolboxが必要です。

  • ワークスペース、.mat または .bb ファイルへの波形のエクスポート。

  • 実行可能な MATLAB® スクリプトまたは Simulink® ブロックへの波形生成パラメーターのエクスポート。

    • エクスポートしたスクリプトを使用して、アプリを使用せずにコマンド ラインから波形を生成する。

    • エクスポートしたブロックを Simulink モデルで波形ソースとして使用する。詳細については、Waveform From Wireless Waveform Generator App を参照してください。

  • コンスタレーション ダイアグラム、スペクトル アナライザー、OFDM グリッド、および時間スコープのプロットでの波形の可視化。

  • AWGN、位相オフセット、周波数オフセット、DC オフセット、I/Q 不均衡、および無記憶 3 次非線形性などの RF 損失の追加による波形の歪みの生成。

  • 接続されたソフトウェア無線 (SDR) 計器または Lab テスト計器を使用して送信できる波形の生成。

    • SDR を使用して波形を送信するには、サポートされている SDR (ADALM-Pluto 無線機、USRP™ 無線機、USRP Embedded Series 無線機、および Xilinx® Zynq ベース無線機) の 1 つがコンピューターに接続され、関連するアドオンがインストール済みでなければなりません。詳細については、SDR を使用した送信を参照してください。

    • Lab テスト計器を使用して波形を送信するには、関数 rfsiggen (Instrument Control Toolbox) でサポートされている計器の 1 つをコンピューターに接続しなければなりません。関数 rfsiggen を使用するには、Instrument Control Toolboxが必要です。

詳細は、無線波形発生器アプリの使用 を参照してください。

Wireless Waveform Generator app display of 16QAM waveform with IQ imbalance and RRC filtering.

無線波形発生器 アプリを開く

MATLAB ツールストリップ: [アプリ] タブの [信号処理と通信] でアプリのアイコンをクリックします。

MATLAB コマンド プロンプト: wirelessWaveformGenerator と入力します。

すべて展開する

無線波形発生器アプリを開き、[Generate] をクリックして既定の波形を生成します。表示される波形は、QPSK 変調されたシンボルをもつ OFDM 波形です。

Wireless Waveform Generator app display of OFDM waveform for default configuration.

[Insert DC null] をクリックして、[Guard band subcarriers][20;19] に増やします。[Generate] を再度クリックします。プロットされた波形が変化し、更新された構成が反映されます。

Wireless Waveform Generator app display of OFDM waveform with DC null and guard band subcarriers set to [20;19].

無線波形発生器アプリを開き、16-QAM 波形を構成します。11.25 度 (pi/16 ラジアン) の位相の不均衡と 1.5 dB の振幅の不均衡を指定します。[Generate] をクリックし、波形を生成します。

Wireless Waveform Generator app display of 16QAM waveform with IQ imbalance.

[Filtering] パラメーターを選択し、ルート レイズド コサイン フィルター処理を適用します。[Generate] を再度クリックし、現在の構成を使用して波形を生成します。プロットされた波形が変化し、更新された構成が反映されます。

Wireless Waveform Generator app display of 16QAM waveform with IQ imbalance and RRC filtering.

この例は 5G NR 波形の生成方法を示します。詳細については、5G 波形発生器 (5G Toolbox)アプリのリファレンス ページを参照してください。

5G 波形発生器アプリを開く

MATLAB ツールストリップの [アプリ] タブにある [信号処理と通信]5G 波形発生器アプリのアイコンをクリックします。5G 波形の生成用に構成された無線波形発生器アプリが開きます。この機能には5G Toolboxが必要です。

5G NR 波形の生成

次の図は、既定のパラメーターを使用した 5G ダウンリンク波形生成の可視化結果を示しています。

5G Wireless Waveform Generator app default configuration.

この例は LTE 波形の生成方法を示します。詳細については、LTE Waveform Generator (LTE Toolbox) アプリのリファレンス ページを参照してください。

LTE Waveform Generator アプリを開く

MATLAB ツールストリップの [アプリ] タブにある [信号処理と通信]LTE Waveform Generator アプリのアイコンをクリックします。LTE 波形生成用に構成された無線波形発生器アプリが開きます。この機能にはLTE Toolboxが必要です。

LTE 波形の生成

次の図は、既定のパラメーターを使用した LTE ダウンリンク波形生成の可視化結果を示しています。

LTE Wireless Waveform Generator app default configuration.

この例は Bluetooth® 波形の生成方法を示します。Bluetooth 波形の生成用に構成された無線波形発生器アプリが開きます。この機能にはBluetooth Toolboxが必要です。

MATLAB ツールストリップの [アプリ] タブにある [信号処理と通信]無線波形発生器アプリのアイコンをクリックします。無線波形発生器アプリが開きます。[Waveform Type] セクションで、[Bluetooth Low Energy] をクリックします。[Generate] をクリックし、Bluetooth Low Energy (LE) 波形を生成します。

次の図は、既定のパラメーターを使用した Bluetooth LE ダウンリンク波形生成の可視化結果を示しています。

Bluetooth LE Wireless Waveform Generator app default configuration.

この例は WLAN 波形の生成方法を示します。詳細については、WLAN 波形発生器 (WLAN Toolbox)アプリのリファレンス ページを参照してください。

WLAN 波形発生器アプリを開く

MATLAB ツールストリップの [アプリ] タブにある [信号処理と通信]WLAN 波形発生器アプリのアイコンをクリックします。WLAN 波形生成用に構成された無線波形発生器アプリが開きます。この機能にはWLAN Toolboxが必要です。

WLAN 波形の生成

次の図は、既定のパラメーターを使用した WLAN ダウンリンク波形生成の可視化結果を示しています。

WLAN Wireless Waveform Generator app default configuration.

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

はじめに

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

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

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

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

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

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

modelName = 'WWGExport2SimulinkBlock';
open_system(modelName);

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

close_system(modelName);

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

modelName = 'WWGExport2SimulinkModel';
open_system(modelName);

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

sim(modelName);

Spectrum Analyzer ブロックは [Waveform sample rate (Fs)] パラメーター (64 MHz) を継承します。

close_system(modelName);

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

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

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

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

[初期化] タブを使用して構成を変更する場合は、エクスポートしたブロックをクリックし、"Ctrl+M" を押して [マスク エディター] ダイアログを開き、[初期化] タブをクリックしてこのタブを開きます。

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

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

modelName = 'WWGExport2SimulinkModelSCSModified';
sim(modelName);

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

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

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

  • WaveformConfig:波形の構成

  • WaveformLength:波形の長さ

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

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

get_param([gcs '/OFDM Waveform Generator'],'UserData')
ans = 

  struct with fields:

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

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

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

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

modelName = 'WWGExport2SimulinkModelWithDemod';
open_system(modelName);

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

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

sim(modelName);

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

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

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

modelName = 'WWGExport2SimulinkMulticarrier';
open_system(modelName);

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

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

sim(modelName);

バージョン履歴

R2018b で導入