MathWorks的MATLAB被其制造商吹捧為“技術計算的語言”,是工程師、科學家甚至是從事技術工作的任何人的名副其實的瑞士軍刀。MATLAB適用于編程、數據分析、應用程序開發(fā)、建模和仿真等多種應用。
借助MATLAB,可以使力科示波器實現更多的分析功能,可以在所有基于Windows的示波器上運行Matlab,將獲取的數據實時傳到MATLAB中進行處理分析,然后將處理后的數據直接傳回示波器以進行進一步處理和顯示??梢杂糜趧?chuàng)建自定義運算函數和測量算法,以進行非標準的測量和運算。
讓我們看一個使用Matlab實現信號濾波的例子。通常,您會發(fā)現需要在分析之前對信號進行濾波,可能是出于均衡頻率響應或降低噪聲的原因。無論出于何種原因,MATLAB都提供了一種非常方便的方法來將用戶自定義的濾波器嵌入到示波器的處理路徑中。
MATLAB附帶了多種過濾器類型, MathWorks提供了許多在線資源,可以幫助您開始設計和實施濾波器。下圖是使用示波器的MATLAB運算函數將2極、1 MHz巴特沃思低通濾波器應用于采集到的波形的示例。
力科示波器的MATLAB運算函數允許用戶調用MATLAB程序并直接在示波器的處理路徑中執(zhí)行腳本文件。MATLAB的輸出返回到下一個處理階段,隨后示波器將正常運行。在下圖顯示了HDO6000示波器上MATLAB函數功能的基本設置,該函數接受一個或兩個輸入信號并返回一個輸出。在示波器的“Math”對話框中選擇“ MATLAB”選項,用戶可以加載已有的MATLAB(.m)文件或在內置編輯器中創(chuàng)建一個新文件(下圖)。
此示例中使用的.m文件如下圖所示,該代碼實現了應用于采集到的信號的2極、1 MHz Butterworth低通濾波器。這里使用的濾波器是一個比較緩慢截止的二階濾波器,創(chuàng)建濾波器系數的命令在代碼的倒數第二行,其中b代表數字濾波器的分子系數,a代表數字濾波器的分母系數。
Butterworth濾波器的參數是階數(在此實例中為2)和截止頻率,必須將其歸一化為Nyquist, 這就是為什么我們將采樣頻率Fs除以一半的原因。
濾波器是在代碼的最后一行中使用濾波器命令實現的,該命令將濾波器系數應用于所選數據。在此實例中,就是輸入波形WformIn1。前五行代碼中的命令通過Microsoft Automation查詢示波器以獲取采樣頻率。
在此示例中,我們使用Matlab實現了一個簡單的低通濾波器。但是,可以將此概念擴展為任何可用的MATLAB函數或腳本。根據需要,定義需要的功能,對示波器采集的數據進行實時處理。