趙業(yè)佳,文曉剛,應宇佳,李燕玲,葛西洋
(嘉興南湖學院,浙江嘉興,314001)
示波器在教育教學、科研軍事、電子設備生產(chǎn)等電子電工領域是最基礎,最不可或缺的測量儀器。傳統(tǒng)的數(shù)字模擬示波器失真比較大,且采樣率種類有限,對復雜信號的處理能力較差,在使用過程中容易出現(xiàn)測量誤差[1,2],因此出現(xiàn)了虛擬示波器。虛擬示波器主要是利用現(xiàn)有的標準硬件,并且與高效、通用的軟件相結(jié)合,從而進行各種各樣的測試、測量和自動化應用,進而實現(xiàn)對數(shù)據(jù)的采集,并對采集到的數(shù)據(jù)進行一系列的分析和處理。與此同時,如果將計算機軟件、標準化的I/O硬件以及用于集成的計算機軟件和硬件平臺這三個部分有效結(jié)合,那么虛擬儀器技術就能將高性能、可拓展性、低開發(fā)期限以及出色的集成等優(yōu)點發(fā)揮的淋漓盡致[3]。
虛擬儀器技術指的是利用先進的模塊化軟硬件,并結(jié)合高效靈活的應用軟件來實現(xiàn)各種測試、測量和自動化的應用。通過軟件可以實現(xiàn)相關界面的建立,利用硬件能夠完成系統(tǒng)的集成,標準的軟硬件平臺能滿足不同的需求[4]。
相較于傳統(tǒng)儀器,虛擬儀器具有較大的優(yōu)勢。
表1 虛擬儀器與傳統(tǒng)儀器區(qū)別
對硬件需求較高 軟件為核心開發(fā)維護費用高周期長 開發(fā)維護便利系統(tǒng)封閉,可擴展性差 多種多樣的模塊構(gòu)成儀器,多元化
LabVIEW是由NI公司自主開發(fā)的一個程序開發(fā)軟件,與C和BASIC開發(fā)環(huán)境相似。但LabVIEW和不同的計算機語言之間的區(qū)別是,不同的計算機語言使用基于文本的語言來獲得代碼,而LabVIEW則是利用G語言進行編寫,最終產(chǎn)生的程序是以圖形的方式呈現(xiàn)[5,6]。
LabVIEW 程序也稱之為 VI(Virtual Instrument,即虛擬儀器),它可以根據(jù)開發(fā)者的需要進行界面設計,最終得到和傳統(tǒng)實際儀器功能類似的產(chǎn)品。一般來說,VI由兩部分組成:前面板和程序圖[7]。前面板,即一個具象化的界面,用來設置輸入量和觀察輸出量,模擬真正的儀表面板[8]。前面板主要包括各種手動輸入控制控件,如旋鈕、按鈕、數(shù)值和顯示控制。程序框圖用G語言進行編寫,這相當于傳統(tǒng)程序中的源代碼文本文件,每一個前面板都與程序圖相匹配[9]。
本文設計的虛擬示波器主要是由硬件和軟件兩部分組成[10]。其中硬件是以計算機中的聲卡為基礎,軟件是由LabVIEW來實現(xiàn)設計。本文設計的虛擬示波器的程序結(jié)構(gòu)示意圖如圖1所示。
圖1 程序結(jié)構(gòu)示意圖
首先利用聲卡進行信號采集,然后通過軟件進行濾波操作,接下來可以對濾波后的信號進行頻譜分析、波形顯示、信號測量、數(shù)據(jù)保存以及界面打印等。
程序的前面板包括參數(shù)設置、信號測量、數(shù)據(jù)保存三部分區(qū)域。參數(shù)設置主要包括聲音采集參數(shù)設置、濾波參數(shù)設置以及控制按鈕的設置。聲音采集參數(shù)包括采樣率、通道數(shù)、每通道采樣數(shù)等設置;濾波參數(shù)主要設置濾波方式以及濾波截止頻率;控制按鈕包括暫停按鈕以及停止按鈕。暫停按鈕,用于暫停波形顯示。但此時數(shù)據(jù)仍在正常采集,再次點擊該按鈕即可恢復實時顯示。停止按鈕,用于終止整個程序。信號測量分為坐標軸調(diào)節(jié)、測量方式選擇、游標、倍率調(diào)節(jié)、以及結(jié)果顯示。坐標軸調(diào)節(jié)包括X、Y軸上下限三個旋鈕,用于設置波形圖的坐標軸范圍;測量方式有手動測量和自動測量兩種;游標調(diào)節(jié)包括游標選擇以及位置調(diào)整,主要是用于手動測量模式中調(diào)整游標的位置,同時可以觀察當前游標的位置,從而實現(xiàn)信號周期、頻率、幅值等參數(shù)的測量;倍率調(diào)節(jié)主要是用于調(diào)整游標的移動范圍,從而實現(xiàn)粗調(diào)和微調(diào)不同模式的切換;結(jié)果顯示包括數(shù)值以及波形兩種顯示方式。其中波形顯示分為原始波形圖以及濾波后波形圖,波形圖的橫坐標代表時間,縱坐標代表幅值。數(shù)值顯示主要包括游標的位置以及信號周期、頻率和幅值。數(shù)據(jù)保存用于設置保存的文件名和打印界面。具體框圖如圖2所示。
圖2 前面板
2.3.1 聲音采集
LabVIEW軟件提供了一系列有關聲音采樣的函數(shù),因此在聲音采集過程中,直接通過配置相應的函數(shù)進行聲音采集[11]。首先配置聲音輸入,然后讀取聲音,讀取結(jié)束之后進行聲音清零。具體程序設計如圖3所示。
圖3 聲音采集模塊
2.3.2 信號濾波
計算機采集到的信號包括三大類:目標信號、無用信號以及噪音。因此若想要得到目標信號,首先需要進行濾波處理。通過使用LabVIEW中自帶的濾波器模塊,可以將信號按用戶需求進行濾波。濾波方式包括低通濾波、高通濾波、帶通濾波以及帶阻濾波四種,同時也可以選擇不進行濾波。需要注意的是,在參數(shù)設置過程中低截止頻率必須要小于高截止頻率[12]。濾波后的波形通過“自功率譜”VI[13]可以顯示出信號頻譜,只需要輸入指定的時域信號和時域信號的采樣周期,便能返回單邊功率譜和功率譜的頻率間隔。具體模塊設計如圖4所示。
圖4 濾波及頻譜顯示模塊
2.3.3 信號測量
信號測量分為自動測量和手動測量兩種模式。自動測量最主要是通過系統(tǒng)自主分析,找到當前顯示波形的最大值及最小值并實現(xiàn)信號測量及標定。手動測量主要是通過手動調(diào)節(jié)旋鈕來控制游標的移動,從而實現(xiàn)信號測量及標定。
傳統(tǒng)示波器會有一個旋鈕來專門控制旋鈕靈敏度,而本設計的虛擬示波器也是設置了一個旋鈕來對應傳統(tǒng)示波器的功能?!罢{(diào)整倍率”旋鈕只有五個檔,即1至5檔,對應著0.005、0.002、0.001、0.0005、0.0001五個旋鈕精度。判斷“調(diào)節(jié)倍率”旋鈕的值,將對應的數(shù)值輸入給旋鈕“Pos.X”和“Pos.Y”的屬性中的增量參數(shù)。
對于自動測量只需利用前面板X軸和Y軸上下限設置調(diào)整波形圖表的顯示范圍,然后選擇自動測量即可實現(xiàn)。對于手動測量則需要選擇手動測量模式,通過倍率調(diào)整旋鈕設置游標的移動間隔,然后選擇需要調(diào)整的游標并利用對應的調(diào)整旋鈕進行調(diào)整,從而實現(xiàn)信號幅值以及頻率等參數(shù)的測量。具體程序框圖如圖5和圖6所示。
圖5 自動測量程序框圖
圖6 手動測量程序框圖
2.3.4 數(shù)據(jù)保存及界面打印
虛擬示波器作為以計算機為平臺的虛擬儀器,也同樣具備數(shù)據(jù)保存和界面打印的功能[14]。用戶只需在開始程序前在前面板中輸入想要保存的文件名稱,就能自動保存在當前VI的文件目錄下,程序如圖8。而在前面板上按下“保存圖像”按鈕,便能在當前VI的文件目錄下找到當前波形的PNG格式的圖片。
圖7 測量結(jié)果前面板
圖8 數(shù)據(jù)保存程序框圖
本設計的虛擬示波器濾波模塊包括低通濾波、高通濾波、帶通濾波以及帶阻濾波四種。通過疊加不同頻率的信號和噪聲,來驗證濾波是否成功,頻率如表2所示。
表2 不同頻率的信號和噪聲(單位:Hz)
使用MATLAB軟件編寫程序,使聲卡播放疊加特定頻率的信號和噪音后,啟動虛擬示波器VI進行測試。程序代碼如圖9,圖左為輸出信號頻率4000Hz和噪聲頻率2000Hz的混合信號,圖右輸出信號頻率2000Hz和噪聲頻率4000Hz的混合信號。
圖9 MATLAB代碼
低通濾波,低截止頻率為3000Hz,結(jié)果如圖10所示。
圖10 低通濾波后信號頻譜
高通濾波,高截止頻率為3000Hz,結(jié)果如圖11所示。
圖11 高通濾波后信號頻譜
帶通濾波,低截止頻率為3000Hz,高截止頻率為5000Hz,結(jié)果如圖12所示。
圖12 帶通濾波后信號頻譜
帶阻濾波,低截止頻率為1000Hz,高截止頻率為3000Hz,結(jié)果如圖13所示。
圖13 帶阻濾波后信號頻譜
最后不濾波情況如圖14所示。
圖14 不濾波后信號頻譜
由于環(huán)境中存在不同頻率的噪聲信號,因此在信號驗證過程中利用MATLAB軟件生成具有高斯白噪聲的信號,信號頻率依舊設為4000Hz。采用帶通濾波的方式對采集到的信號進行處理,其中低截止頻率設置為3500Hz,高截止頻率設置為4500Hz。測量濾波之后的信號頻率及幅度。MATLAB程序如圖15所示。
圖15 加入高斯白噪聲的代碼
虛擬示波器采集到的原始信號如圖16所示。
圖16 具有高斯白噪聲的原始信號
帶通濾波后信號如圖17所示。
圖17 濾波后信號
信號參數(shù)測量結(jié)果如圖19所示。
圖18 信號測量過程
圖19 測量結(jié)果
信號頻率理論值為4000Hz,測得值為4000Hz,表明該示波器能夠?qū)崿F(xiàn)信號參數(shù)的測量。
本文完成了基于聲卡的虛擬示波器設計,該示波器具有信號采集、數(shù)據(jù)濾波、頻譜分析、波形顯示、信號測量、數(shù)據(jù)保存以及界面打印等多種功能。該虛擬示波器面板清晰,易于上手,實用性強,且通過實驗驗證得出系統(tǒng)功能齊全,數(shù)據(jù)采集正常,測量準確,在實驗中可以替代傳統(tǒng)示波器。此外,該系統(tǒng)的數(shù)據(jù)采集部分也可以通過數(shù)據(jù)采集卡完成,這樣可以使虛擬示波器的應用更加廣泛。