アプリケーションノート

Moku:Lab と MATLAB

MATLAB での任意波形発生器の使用

このアプリケーション ノートでは、MATLAB で Moku:Lab の任意波形発生器を使用するチュートリアルを提供します。 2 つの単純な波形を MATLAB から Moku:Lab に直接展開するための詳細な手順がステップバイステップで説明されています。出力波形を確認するために、オシロスコープとスペクトラム アナライザー機器を実行する 2 台目の Moku:Lab を使用します。

次に、リサージュ曲線の例が、より複雑な 2 チャンネル波形とともに表示されます。

このノートに付属する MATLAB ファイルは、Liquid Instruments からダウンロードできます。

ユーザーマニュアルをダウンロード

任意波形発生器

Moku:Lab の任意波形発生器 (AWG) は、最大 65,536 GSa/s のサンプリング レートで最大 1 ポイントのカスタム波形を生成できます。波形はファイルからロードすることも、最大 32 セグメントの区分数学関数として入力することもできるため、真に任意の波形を生成できます。このノートでは、波形を生成し、完全に MATLAB 内で Moku:Lab に直接ダウンロードします。

前提条件とセットアップ

このアプリケーション ノートとチュートリアルは、MATLAB と関連する Moku:Lab MATLAB ツールボックスがインストールされていることを前提としています。

Moku:Lab は次の MATLAB バージョンをサポートしています。

  • Windows: MATLAB R2013a 以降
  • Linux: MATLAB R2013a 以降
  • MacOS: MATLAB 2014a 以降

ツールボックスの場合:

MATLAB 2015+

  1. ここから Moku:Lab ツールボックスをダウンロードします。 http://updates.liquidinstruments.com/static/moku-MATLAB-2.8.1.mltbx
  2. MATLAB で、ダウンロードした .tblx ファイルを開きます
  3. 「インストール」を選択します
  4. 次のコマンドでインストールを確認します 助けてモク MATLAB ターミナルで

MATLAB 2013-2014

  1. ここから Moku:Lab ツールボックスの zip をダウンロードします。 https://updates.liquidinstruments.com/static/moku-MATLAB-2.8.1.zip
  2. zip を解凍します。通常は、 ../MATLAB/Add-Ons/Toolboxes
  3. MATALB を開き、ホーム ツール ペインで「パスの設定」をクリックします。
  4. 「サブフォルダーとともに追加」をクリックし、解凍したZIPのフォルダーを選択します
  5. [保存] をクリックしてツールボックス フォルダーを MATLAB パスに追加します。

このノートでは、MacOS 上で MATLAB R2019b を使用します。

MATLAB 上の Moku:Lab

MATLAB が Moku:Lab を制御するには、MATLAB を実行しているコンピューターが Moku:Lab と同じサブネット/LAN 上にある必要があります。 MATLAB には Moku:Lab の IP アドレスが必要です。これは、次の 2 つの方法のいずれかで判断できます。

  • Bonjour/zeroconf サービス検出ユーティリティ
  • Moku:Lab の iPad アプリの起動画面上; Moku:Lab のアイコンを押し続けて IP アドレスを表示します

MATLAB 内では、コマンドを使用して Moku:Lab ドキュメントにアクセスできます。 助けてモク

MATLAB ツールボックスには多数のサンプル スクリプトが含まれており、これらは通常、ツールボックス フォルダーにあります。 MacOS では、これは次の場所にあります。

~/Library/ApplicationSupport/MathWorks/MATLAB Add-Ons/Toolboxes/moku-MaTLAB-2.8.1/examples

Windowsの場合:

\Users\...\AppData\Roaming\MathWorks\MATLAB Add-Ons\Toolboxes\moku-MATLAB-2.8.1\examples

ダウンロード

これらの各例の MATLAB スクリプトは、ここからダウンロードできます。

https://download.liquidinstruments.com/documentation/app-note/reference-files/20-0331_AppNote-MatLab-UsingAWG_ScriptsForMokuLabAWG.zip


例 #1 : 高調波を含む方形波と正弦波

最初の例では、ツールボックスの例をデプロイします。

arbitrarywavegen_basic.m

このスクリプトを参照すると、配列が square_wave は、+100 または -1 の値で構成される長さ 1 の配列として定義されます。

  not_square_wave は、いくつかの奇数次の高調波が追加された正弦波を表す長さ 100 の値の配列として定義されます。

MATLAB スクリプトを実行した後、ユーザーは IP アドレスを入力し、スクリプト内に次の行を入力します。

m = MokuArbitraryWaveGen(ip)

Moku:Lab で任意波形発生器計測器のインスタンスをセットアップしてデプロイします。次に、各チャネルに対して 1 回の呼び出しを行います。

m.write_lut

&

m.gen_waveformfunction

Moku:Lab ハードウェア上で波形を設定します。

MATLAB のプロットおよびグラフ作成コマンドを使用して、これらの波形を表示および確認できます。図 1 は、方形波を青、正弦波と高調波を赤で示しています。

図 1: 波形例の MatLab プロット

フィギュア 1: サンプル波形の MATLAB プロット

 

ただし、これらの波形を Moku:Lab で生成されたものとして表示する方が便利です。私たちのラボベンチでは、上部の黒い Moku:Lab が MATLAB に接続されており、展開された AWG を使用して 2 つの信号を生成しています。

下の青い Moku:Lab は、オシロスコープ機器を実行している iPad と接続されています。このセットアップを図 2 に示します。

図 2: Moku:Lab ベンチのセットアップ

フィギュア 2: モク:ラボのセットアップ

AWG 出力チャンネルはオシロスコープの入力に接続されており、iPad で波形を観察できます。カーソルは 1 MHz の予想周波数を示します (画面上の実際の測定値は 999.4 kHz)。 Moku:Lab と Dropbox の統合により、スクリーンショットをすぐに共有できます。図 3 (実際の AWG 出力を示す) を参照してください。チャンネル 2 の方形波 (青)、およびチャンネル 1 の正弦波と高調波 (赤) が表示されます。

図 3: Moku:Lab オシロスコープのスクリーンショット、MATLAB から生成された MokuLab AWG を表示

フィギュア 3: Moku:Lab オシロスコープのスクリーンショット、MATLAB から生成された MokuLab AWG を表示 

Moku:Lab の柔軟性により、青色の Moku:Lab をオシロスコープからスペクトラム アナライザーに素早く切り替えることができます。

図 4 に示す方形波のスペクトルは、方形波で予想されるように、1 MHz で基本波と、100 MHz でプロットの限界まで広がる一連の奇数高調波を示しています。

図 4 : Moku:Lab のスペクトラム アナライザーによる方形波スペクトル

フィギュア 4: Moku:Lab のスペクトラム アナライザーによる方形波スペクトラム

not_square_wave の MATLAB スクリプトは、基本的に 7 つの奇数高調波を含む正弦波を合計します。 not_square_wave のスペクトルを図 5 に示します。これは、1 MHz の基本波ピークと 7 MHz まで広がる 15 つの高調波ピークを示しています。これは、iPad アプリのカーソルを使用して画面上でラベル付けされます。

図 5 : Moku:Lab スペクトラム アナライザーで見られる「非方形波」

フィギュア 5: Moku:Lab スペクトラム アナライザーで見られる「非方形波」


例 #2 : リサージュ図形

Moku:Lab の AWG の 2 番目の例では、古典的なリサージュ図形を生成します。リサージュ曲線は、x と y で次のように定義されます。

x = 塩辛い( at + d )

y = ブシン( bt )

この曲線群は 1815 年に Nathaniel Bowditch によって調査され、その後 1857 年に Jules Antoine Lissajous によってさらに詳細に調査されました。

いくつかの Moku:Lab API 関数呼び出しを [3] の MATLAB スクリプトに統合することにより、いくつかの波形を定義し、結果のリサージュ曲線を MATLAB で確認できます。この MATLAB スクリプトは

lissajous_moku.m

実行すると、MATLAB で GUI ウィンドウが開き、ユーザーは変数 A、a、d、B、b、t を構成できるようになります。 「開始」をクリックすると、MATLAB が数値をプロットし、数秒後に接続された Moku:Lab の AWG に波形をダウンロードします。図 6 は MATLAB 出力を示し、図 7 は XY モードで動作する XNUMX 台目の Moku:Lab オシロスコープでキャプチャされた Moku:Lab の AWG の出力を示します。

図 6 : MATLAB リサージュ曲線

フィギュア 6: MATLAB リサージュ曲線

図 7 : Moku:Lab のオシロスコープに表示された Moku:Lab の AWG

フィギュア 7: Moku:Lab のオシロスコープで表示される Moku:Lab の AWG


詳細情報: デュアルチャネルパターン生成

アプリケーションノート「Moku:Lab の任意波形発生器」 2D 任意ビームステアリングのためのデュアルチャネル同期パターン生成」[4]。では、複雑な 2 チャネル スキャン スパイラル波形を定義するための、MATLAB を使用した AWG の具体的な使用例について説明します。


まとめ

このアプリケーション ノートでは、MATLAB で数式を使用して波形を定義できる柔軟性と速度を示しました。同じ MATLAB スクリプトにより、ネットワークに接続された Moku:Lab AWG に波形がシームレスにダウンロードされ、記述された信号が即座に生成されます。


参考文献

[1] Moku:Lab の AWG ユーザーマニュアル

[2] Moku:Lab のオシロスコープ ユーザー マニュアル

[3] MATLAB のリサージュ曲線: https://www.mathworks.com/matlabcentral/fileexchange/28987-lissajous-curve

[4] Moku:Lab の任意波形発生器。 2D任意ビームステアリングのためのデュアルチャネル同期パターン生成 http://download.liquidinstruments.com/documentation/app-note/App%20Note%20-%20MokuLab%20AWG%20Dual%20Channel%20Sync%20Pattern%20Generation.pdf


ご質問等ございますか?印刷可能なバージョンが必要ですか?

当社までご連絡ください: support@liquidinstruments.com