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