本应用笔记提供了一个使用 MATLAB 和 Moku:Lab 任意波形发生器的教程。我们详细介绍了如何将两个简单的波形从 MATLAB 直接部署到 Moku:Lab。我们使用另一台运行示波器和频谱分析仪的 Moku:Lab 来验证输出波形。随后,我们展示了一个李萨如图形示例以及一个更复杂的双通道波形。本笔记配套的 MATLAB 文件可从 Liquid Instruments 下载。
在演示模式下试用 Moku
下载 Moku 应用 →
获取常见问题的答案
访问知识库 →
与全球的 Moku 用户建立联系
加入用户论坛 →
任意波形发生器
Moku:Lab 的任意波形发生器 (AWG) 可以生成高达 65,536 个点的自定义波形,采样率高达 1 GSa/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 工具箱压缩包: https://updates.liquidinstruments.com/static/moku-MATLAB-2.8.1.zip
- 提取 zip,通常为
../MATLAB/Add-Ons/Toolboxes - 打开 MATALB,然后在主页工具窗格中单击“设置路径”
- 单击“添加子文件夹”并选择解压缩的 ZIP 文件夹
- 点击“保存”将工具箱文件夹添加到MATLAB路径
Moku:MATLAB 实验室
为了让 MATLAB 控制 Moku:Lab,运行 MATLAB 的计算机必须与 Moku:Lab 在同一子网/LAN 上。 MATLAB需要Moku:Lab的IP地址; 您可以通过以下两种方式之一确定这一点:- 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 被定义为一个长度为 100 的数组,数组中的值均为 +1 或 -1。 not_square_wave 被定义为一个长度为 100 的数组,其中包含描述正弦波及其若干奇次谐波的值。运行 MATLAB 脚本后,用户输入 IP 地址,脚本中执行以下代码行:
m = MokuArbitraryWaveGen(ip)
在 Moku:Lab 上设置和部署任意波形发生器仪器实例。 然后为每个通道调用一个
m.write_lut
和
m.gen_waveformfunction
在 Moku:Lab 硬件上配置波形。我们可以使用 MATLAB 的绘图和图形命令查看和确认这些波形。图 1 显示了蓝色的方波和红色的正弦波及其谐波。

数字 1: 示例波形的 MATLAB 图
但是,查看 Moku:Lab 生成的这些波形会更有帮助。在我们的实验台上,上方的黑色 Moku:Lab 连接到 MATLAB,并使用部署的任意波形发生器 (AWG) 生成两个信号。下方的蓝色 Moku:Lab 连接到一台运行示波器软件的 iPad。此设置如图 2 所示。
数字 2: Moku:实验室设置
AWG 的输出通道连接到示波器输入,我们可以在 iPad 上观察波形。光标显示预期频率为 1 MHz(屏幕上的实际测量值为 999.4 kHz)。Moku:Lab 与 Dropbox 的集成使我们能够快速分享屏幕截图,参见图 3(显示实际的 AWG 输出),通道 2 上的方波(蓝色)以及通道 1 上的正弦波及其谐波(红色)。
数字 3: Moku:Lab 示波器屏幕截图,显示从 MATLAB 生成的 MokuLab AWG
由于 Moku:Lab 的灵活性,我们可以快速地将蓝色 Moku:Lab 从示波器切换到频谱分析仪。如图 4 所示,方波的频谱图显示,基频为 1 MHz,一系列奇次谐波延伸至图表边缘,频率为 100 MHz,这与预期相符。
数字 4: Moku:Lab 频谱分析仪上的方波频谱
我们为 not_square_wave 编写的 MATLAB 脚本本质上是对一个正弦波与 7 个奇次谐波求和。not_square_wave 的频谱如图 5 所示,其中显示了 1 MHz 基波和延伸至 7 MHz 的 15 个谐波峰值。iPad 应用程序的光标在屏幕上标记了这些峰值。
数字 5: 在 Moku:Lab 频谱分析仪上看到的“非方波”
示例 #2:利萨如图形
对于 Moku:Lab 的 AWG 的第二个示例,我们将生成一个经典的 Lissajous 图。 Lissajous 曲线在 x 和 y 中定义为:x = 莘( at + d )
y = 辛( bt )
纳撒尼尔·鲍迪奇 (Nathaniel Bowditch) 于 1815 年研究了这一系列曲线,朱尔斯·安托万·利萨茹 (Jules Antoine Lissajous) 于 1857 年对其进行了更详细的研究。通过将一些 Moku:Lab API 函数调用集成到 [3] 中的 MATLAB 脚本中,我们可以定义一些波形并在 MATLAB 中查看生成的利萨茹曲线。该 MATLAB 脚本如下:lissajous_moku.m
运行后,一个 GUI 窗口将在 MATLAB 中打开,并允许用户配置变量 A、a、d、B、b 和 t。 单击“开始”,MATLAB 将绘制图形,几秒钟后,将波形下载到连接的 Moku:Lab 的 AWG。 图 6 显示了 MATLAB 输出,图 7 显示了在第二台 Moku:Lab 示波器上以 XY 模式运行时捕获的 Moku:Lab 任意波形发生器的输出。

数字 6: MATLAB 利萨如曲线

数字 7: Moku:Lab 的 AWG 显示在 Moku:Lab 的示波器上




