0 引言
信號(hào)發(fā)生器是許多電子設(shè)備特別是測(cè)試設(shè)備必備的一部分,用以輸入基準(zhǔn)源信號(hào)給被測(cè)設(shè)備,通過(guò)接收被測(cè)設(shè)備返回的信息,分析研究被檢測(cè)設(shè)備的情況。衡量或評(píng)定一個(gè)信號(hào)發(fā)生器的精度時(shí),主要是對(duì)其中最基本和最重要的部分即正弦信號(hào)進(jìn)行檢測(cè)。檢測(cè)正弦信號(hào)性能的重要指標(biāo)是頻率準(zhǔn)確度和頻率穩(wěn)定度、信噪比和諧波畸變。
編程對(duì)工程技術(shù)人員來(lái)說(shuō)比較麻煩,LabVIEW軟件用圖形編程語(yǔ)言,直觀簡(jiǎn)單、易于操作。用戶使用LabVIEW可以隨意創(chuàng)建程序,并把它當(dāng)作子程序調(diào)用,以創(chuàng)建更復(fù)雜的程序,且調(diào)用的層次沒(méi)有限制LabVIEW這種創(chuàng)建和調(diào)用子程序的方法,使創(chuàng)建的程序結(jié)構(gòu)模塊化,更易于調(diào)試、理解和維護(hù)。同時(shí),LabVIEW能夠虛擬很多常規(guī)儀器,通過(guò)計(jì)算機(jī)仿真完成不同的功能,這樣既可節(jié)省設(shè)備投人的開(kāi)支,又提高了效率。因此,基于LabVIEW實(shí)現(xiàn)多功能信號(hào)發(fā)生器具有重大意義。
1 信號(hào)發(fā)生器的軟件設(shè)計(jì)思路
設(shè)計(jì)一個(gè)虛擬信號(hào)發(fā)生器首先要進(jìn)行前面板的設(shè)計(jì),前面板的設(shè)計(jì)主要需要考慮到所設(shè)計(jì)的信號(hào)發(fā)生器實(shí)現(xiàn)什么功能,再根據(jù)這些功能,在控件選板中選擇相應(yīng)的控件,放在前面板相應(yīng)的位置上,擺放也有一定的講究,使前面板看起來(lái)比較協(xié)調(diào)。再者是后面板的設(shè)計(jì)。后面板的設(shè)計(jì)要用到函數(shù)模板,根據(jù)本程序需要實(shí)現(xiàn)的功能,在函數(shù)選板中選擇相應(yīng)的函數(shù),由于程序不是只執(zhí)行一次,所以要涉及到循環(huán)結(jié)構(gòu),本文的程序用到的循環(huán)結(jié)構(gòu)有while循環(huán)結(jié)構(gòu)、條件結(jié)構(gòu)。程序調(diào)試成功后就產(chǎn)生一個(gè)虛擬信號(hào)發(fā)生器。
2 信號(hào)發(fā)生器的前面板設(shè)計(jì)
首先應(yīng)該添加三個(gè)波形顯示窗口,前面兩個(gè)窗口用于顯示兩路基本信號(hào)的顯示,并為前兩個(gè)窗口分別配置兩個(gè)旋鈕,用于控制信號(hào)的幅值和頻率,再分別為這兩個(gè)窗口配置一個(gè)下拉菜單選擇控件,用于選擇信號(hào)的類型,可供選擇的信號(hào)類型有正弦波、三角波、方波和鋸齒波。第三個(gè)窗口用于顯示信號(hào)的功率頻譜,并且為第三個(gè)窗口添置兩個(gè)下拉選擇框,用于選擇窗和濾波器,可以進(jìn)行加窗和濾波。最后,為了可以方便觀察信號(hào),必須設(shè)置一個(gè)停止按鈕,可以方便地控制和觀察靜態(tài)的信號(hào)波形。為了方便記錄數(shù)據(jù),可以在信號(hào)波形顯示的上方添加一個(gè)空白的框,在框中記錄實(shí)驗(yàn)的數(shù)據(jù)。信號(hào)發(fā)生器的前面板設(shè)計(jì)如圖1所示。
3 信號(hào)發(fā)生器的后面板設(shè)計(jì)
由于本文設(shè)計(jì)的信號(hào)發(fā)生器可以顯示信號(hào)的功率頻譜,所以需在程序框圖中添加一個(gè)快速傅里葉變換控件。由于需要加窗和濾波器,因此必須在程序框圖中添加兩個(gè)循環(huán)結(jié)構(gòu),這兩個(gè)循環(huán)結(jié)構(gòu)分別用于加窗的控制和濾波器的選擇控制。由于有兩路信號(hào),所以在while循環(huán)中,添加兩個(gè)窗和兩個(gè)濾波器,可供選擇的窗有uniform,Hanning窗,Hamming窗,Blackman-Harris,Exact-Blackman,Blackman,F(xiàn)lattop和4 Term Black-Harris??晒┻x擇的濾波器有Butterworth和Chebyshev。兩個(gè)循環(huán)結(jié)構(gòu)的輸出分別接至FFT功率譜模塊,F(xiàn)FT功率譜模塊的主要作用是計(jì)算時(shí)間信號(hào)的平均自功率譜。連接至?xí)r間信號(hào)輸入端的數(shù)據(jù)類型決定使用哪個(gè)多態(tài)實(shí)例。FFT功率譜模塊的輸出,用數(shù)組模塊連接至波形顯示窗口中,這樣,就可以在第三個(gè)窗口中顯示信號(hào)的功率頻譜。為了方便記錄數(shù)據(jù),可以在程序框中添加一個(gè)字符串函數(shù),可以在前面板中,顯示一個(gè)空白的框,用于記錄實(shí)驗(yàn)時(shí)需要記錄的數(shù)據(jù)。
4 信號(hào)發(fā)生器的程序框圖
信號(hào)發(fā)生器的程序框圖如圖2所示。
5 結(jié)語(yǔ)
設(shè)計(jì)的信號(hào)發(fā)生器可以實(shí)現(xiàn)在兩個(gè)波形顯示窗口中分別顯示兩路信號(hào),信號(hào)的相位和幅值可調(diào),在第三個(gè)波形顯示窗口中顯示信號(hào)的功率頻譜。通過(guò)基于LabVIEW軟件所設(shè)計(jì)的信號(hào)發(fā)生器證明了虛擬儀器具有強(qiáng)大的儀器設(shè)計(jì)功能。