MathWorks的MATLAB被其制造商吹捧为“技术计算的语言”,是工程师、科学家甚至是从事技术工作的任何人的名副其实的瑞士军刀。MATLAB适用于编程、数据分析、应用程序开发、建模和仿真等多种应用。
借助MATLAB,可以使力科示波器实现更多的分析功能,可以在所有基于Windows的示波器上运行Matlab,将获取的数据实时传到MATLAB中进行处理分析,然后将处理后的数据直接传回示波器以进行进一步处理和显示。可以用于创建自定义运算函数和测量算法,以进行非标准的测量和运算。
让我们看一个使用Matlab实现信号滤波的例子。通常,您会发现需要在分析之前对信号进行滤波,可能是出于均衡频率响应或降低噪声的原因。无论出于何种原因,MATLAB都提供了一种非常方便的方法来将用户自定义的滤波器嵌入到示波器的处理路径中。
MATLAB附带了多种过滤器类型, MathWorks提供了许多在线资源,可以帮助您开始设计和实施滤波器。下图是使用示波器的MATLAB运算函数将2极、1 MHz巴特沃思低通滤波器应用于采集到的波形的示例。
力科示波器的MATLAB运算函数允许用户调用MATLAB程序并直接在示波器的处理路径中执行脚本文件。MATLAB的输出返回到下一个处理阶段,随后示波器将正常运行。在下图显示了HDO6000示波器上MATLAB函数功能的基本设置,该函数接受一个或两个输入信号并返回一个输出。在示波器的“Math”对话框中选择“ MATLAB”选项,用户可以加载已有的MATLAB(.m)文件或在内置编辑器中创建一个新文件(下图)。
此示例中使用的.m文件如下图所示,该代码实现了应用于采集到的信号的2极、1 MHz Butterworth低通滤波器。这里使用的滤波器是一个比较缓慢截止的二阶滤波器,创建滤波器系数的命令在代码的倒数第二行,其中b代表数字滤波器的分子系数,a代表数字滤波器的分母系数。
Butterworth滤波器的参数是阶数(在此实例中为2)和截止频率,必须将其归一化为Nyquist, 这就是为什么我们将采样频率Fs除以一半的原因。
滤波器是在代码的最后一行中使用滤波器命令实现的,该命令将滤波器系数应用于所选数据。在此实例中,就是输入波形WformIn1。前五行代码中的命令通过Microsoft Automation查询示波器以获取采样频率。
在此示例中,我们使用Matlab实现了一个简单的低通滤波器。但是,可以将此概念扩展为任何可用的MATLAB函数或脚本。根据需要,定义需要的功能,对示波器采集的数据进行实时处理。