0 引言
信號(hào)發(fā)生器是許多電子設(shè)備特別是測試設(shè)備必備的一部分,用以輸入基準(zhǔn)源信號(hào)給被測設(shè)備,,通過接收被測設(shè)備返回的信息,,分析研究被檢測設(shè)備的情況。衡量或評定一個(gè)信號(hào)發(fā)生器的精度時(shí),,主要是對其中最基本和最重要的部分即正弦信號(hào)進(jìn)行檢測,。檢測正弦信號(hào)性能的重要指標(biāo)是頻率準(zhǔn)確度和頻率穩(wěn)定度,、信噪比和諧波畸變。
編程對工程技術(shù)人員來說比較麻煩,,LabVIEW軟件用圖形編程語言,,直觀簡單、易于操作,。用戶使用LabVIEW可以隨意創(chuàng)建程序,,并把它當(dāng)作子程序調(diào)用,以創(chuàng)建更復(fù)雜的程序,,且調(diào)用的層次沒有限制LabVIEW這種創(chuàng)建和調(diào)用子程序的方法,,使創(chuàng)建的程序結(jié)構(gòu)模塊化,更易于調(diào)試,、理解和維護(hù),。同時(shí),LabVIEW能夠虛擬很多常規(guī)儀器,,通過計(jì)算機(jī)仿真完成不同的功能,,這樣既可節(jié)省設(shè)備投人的開支,又提高了效率,。因此,,基于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)的位置上,,擺放也有一定的講究,使前面板看起來比較協(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é)語
設(shè)計(jì)的信號(hào)發(fā)生器可以實(shí)現(xiàn)在兩個(gè)波形顯示窗口中分別顯示兩路信號(hào),,信號(hào)的相位和幅值可調(diào),,在第三個(gè)波形顯示窗口中顯示信號(hào)的功率頻譜。通過基于LabVIEW軟件所設(shè)計(jì)的信號(hào)發(fā)生器證明了虛擬儀器具有強(qiáng)大的儀器設(shè)計(jì)功能,。