本アプリケーションノートでは、Moku:Labの任意波形発生器をMATLABで使用するチュートリアルを提供します。MATLABからMoku:Labに直接2つのシンプルな波形をデプロイするための手順を詳細に説明します。出力波形を確認するために、オシロスコープとスペクトラムアナライザを搭載した別のMoku:Labを使用します。次に、リサジュー曲線の例と、より複雑な2チャンネル波形の例を示します。本ノートに付属するMATLABファイルは、Liquid Instrumentsのウェブサイトからダウンロードできます。
Mokuをデモモードで試す
Mokuアプリをダウンロード →
よくある質問への回答
知識ベースをご覧ください →
Mokuユーザーとつながる
ユーザーフォーラムに参加する →
任意波形発生器
Moku:Labの任意波形発生器(AWG)は、最大65,536ポイントのカスタム波形を、最大1GSa/sのサンプリングレートで生成できます。波形はファイルから読み込むことも、最大32セグメントの区分的数学関数として入力することもでき、真に任意の波形を生成できます。このノートでは、MATLAB内で波形を生成し、Moku:Labに直接ダウンロードする方法を説明します。前提条件とセットアップ
このアプリケーションノートとチュートリアルは、MATLABおよび関連するMoku:Lab MATLABツールボックスがインストールされていることを前提としています。Moku:Labは以下のMATLABバージョンをサポートしています。- Windows: MATLAB R2013a 以降
- Linux: MATLAB R2013a 以降
- MacOS: MATLAB 2014a 以降
- ここから Moku:Lab ツールボックスをダウンロードします。 http://updates.liquidinstruments.com/static/moku-MATLAB-2.8.1.mltbx
- MATLAB で、ダウンロードした .tblx ファイルを開きます
- 「インストール」を選択します
- 次のコマンドでインストールを確認します 助けてモク MATLAB ターミナルで
- ここから Moku:Lab ツールボックスの zip をダウンロードします。 https://updates.liquidinstruments.com/static/moku-MATLAB-2.8.1.zip
- zip を解凍します。通常は、
../MATLAB/Add-Ons/Toolboxes - MATALB を開き、ホーム ツール ペインで「パスの設定」をクリックします。
- 「サブフォルダーとともに追加」をクリックし、解凍したZIPのフォルダーを選択します
- [保存] をクリックしてツールボックス フォルダーを MATLAB パスに追加します。
MATLAB 上の Moku:Lab
MATLAB が Moku:Lab を制御するには、MATLAB を実行しているコンピューターが Moku:Lab と同じサブネット/LAN 上にある必要があります。 MATLAB には Moku:Lab の IP アドレスが必要です。これは、次の 2 つの方法のいずれかで判断できます。- Bonjour/zeroconf サービス検出ユーティリティ
- Moku:Lab の iPad アプリの起動画面上; Moku:Lab のアイコンを押し続けて IP アドレスを表示します
~/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 は、+1 または -1 の値からなる長さ 100 の配列として定義されます。 not_square_wave は、いくつかの奇数次高調波を加えた正弦波を表す値の長さ100の配列として定義されます。MATLABスクリプトを実行した後、ユーザーがIPアドレスを入力すると、スクリプト内で次の行が実行されます。
m = MokuArbitraryWaveGen(ip)
Moku:Lab で任意波形発生器計測器のインスタンスをセットアップしてデプロイします。次に、各チャネルに対して 1 回の呼び出しを行います。
m.write_lut
(NAIST) と
m.gen_waveformfunction
Moku:Labハードウェア上で波形を設定します。これらの波形は、MATLABのプロットおよびグラフ作成コマンドを使用して表示および確認できます。図1は、方形波を青色で、正弦波とその高調波を赤色で示しています。

フィギュア 1: サンプル波形の MATLAB プロット
しかし、これらの波形はMoku:Lab上で生成されたものとして表示する方がより実用的です。実験台の上段にある黒色のMoku:LabはMATLABに接続され、展開したAWGで2つの信号を生成しています。下段の青色のMoku:LabはiPadに接続され、iPad上でオシロスコープが動作しています。この構成を図2に示します。
フィギュア 2: モク:ラボのセットアップ
AWG出力チャンネルをオシロスコープ入力に接続し、iPadで波形を観測できます。カーソルは1MHzの予想周波数を示しています(画面上の実測値は999.4kHz)。Moku:LabはDropboxと連携しているため、スクリーンショットを簡単に共有できます。図3(実際のAWG出力を表示)をご覧ください。チャンネル2には方形波(青)、チャンネル1には正弦波と高調波(赤)が表示されています。
フィギュア 3: Moku:Lab オシロスコープのスクリーンショット、MATLAB から生成された MokuLab AWG を表示
Moku:Labの柔軟性のおかげで、青色のMoku:Labをオシロスコープからスペクトラムアナライザに素早く切り替えることができます。図4に示す方形波のスペクトルは、方形波に期待されるように、1MHzの基本波と、100MHzでプロットの端まで広がる一連の奇数次高調波を示しています。
フィギュア 4: Moku:Lab のスペクトラム アナライザーによる方形波スペクトラム
not_square_wave 用のMATLABスクリプトは、基本的に7つの奇数高調波を含む正弦波を加算します。not_square_wave のスペクトルは図5に示されており、1MHzの基本波と7MHzまで広がる15つの高調波のピークが示されています。これはiPadアプリのカーソルで画面上に表示されています。
フィギュア 5: Moku:Lab スペクトラム アナライザーで見られる「非方形波」
例 #2 : リサージュ図形
Moku:Lab の AWG の 2 番目の例では、古典的なリサージュ図形を生成します。リサージュ曲線は、x と y で次のように定義されます。x = 塩辛い( at + d )
y = ブシン( bt )
この曲線群は、1815年にナサニエル・ボウディッチによって研究され、その後1857年にジュール・アントワーヌ・リサジューによってより詳細に研究されました。[3]のMATLABスクリプトにMoku:Lab API関数呼び出しをいくつか組み込むことで、いくつかの波形を定義し、結果として得られるリサジュー曲線を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 リサージュ曲線

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




