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