摘 要:傳統的信號發生器其功能完全靠硬件實現,功能單一而且用戶的購置、維護費用高。更重要的是,對于傳統的信號發生器,其功能一旦確定便不能更改,用戶要想使用新的功能則必須重新購買新的儀器,傳統信號發生器的不足顯而易見。這里研究的虛擬信號發生器可以接收輸入信號并產生多種輸出信號,信號輸出頻率、幅度等參數實時可調。 主要具有如下優點:用戶可自由定義其功能;系統功能升級擴充方便快捷。
關鍵詞:虛擬儀器; 信號發生器; LabVIEW; FFT
中圖分類號:TP391 文獻標識碼:A
文章編號:1004-373X(2010)11-0106-02
Design of Signal Generator Based on LabVIEW
QU Er-qing
(Tangshan Steel Co. Ltd., Tangshan 063009, China)
Abstract: The functions of the traditional signal generators are carried out solely on hardware. Only one of its functions can be set at the same time and can not be altered once they are fixed. The cost of the generator for purchasing and maintaining is high. Therefore, the virtual signal generator was developed. It can achieve the input and output of multi signals, and its parameters such as signal output frequency and amplitude can be adjusted timely. The advantages of this virtual signal generator are that the users confine the functions of the generator and the upgrading and enlargement of the systematic functions are convenient.
Keywords: virtual instrument; signal generator; LabVIEW; FFT
0 引 言
信號發生器是許多電子設備特別是測試設備必備的一部分,用以輸入基準源信號給被測設備,通過接收被測設備返回的信息,分析研究被檢測設備的情況。衡量或評定一個信號發生器的精度時,主要是對其中最基本和最重要的部分即正弦信號進行檢測。檢測正弦信號性能的重要指標是頻率準確度和頻率穩定度、信噪比和諧波畸變。
編程對工程技術人員來說比較麻煩,LabVIEW軟件用圖形編程語言,直觀簡單、易于操作。用戶使用LabVIEW可以隨意創建程序,并把它當作子程序調用,以創建更復雜的程序,且調用的層次沒有限制LabVIEW這種創建和調用子程序的方法,使創建的程序結構模塊化,更易于調試、理解和維護。同時,LabVIEW能夠虛擬很多常規儀器,通過計算機仿真完成不同的功能,這樣既可節省設備投人的開支,又提高了效率。因此,基于LabVIEW實現多功能信號發生器具有重大意義。
1 信號發生器的軟件設計思路
設計一個虛擬信號發生器首先要進行前面板的設計,前面板的設計主要需要考慮到所設計的信號發生器實現什么功能,再根據這些功能,在控件選板中選擇相應的控件,放在前面板相應的位置上,擺放也有一定的講究,使前面板看起來比較協調。再者是后面板的設計。后面板的設計要用到函數模板,根據本程序需要實現的功能,在函數選板中選擇相應的函數,由于程序不是只執行一次,所以要涉及到循環結構,本文的程序用到的循環結構有while循環結構、條件結構。程序調試成功后就產生一個虛擬信號發生器。
2 信號發生器的前面板設計
首先應該添加三個波形顯示窗口,前面兩個窗口用于顯示兩路基本信號的顯示,并為前兩個窗口分別配置兩個旋鈕,用于控制信號的幅值和頻率,再分別為這兩個窗口配置一個下拉菜單選擇控件,用于選擇信號的類型,可供選擇的信號類型有正弦波、三角波、方波和鋸齒波。第三個窗口用于顯示信號的功率頻譜,并且為第三個窗口添置兩個下拉選擇框,用于選擇窗和濾波器,可以進行加窗和濾波。最后,為了可以方便觀察信號,必須設置一個停止按鈕,可以方便地控制和觀察靜態的信號波形。為了方便記錄數據,可以在信號波形顯示的上方添加一個空白的框,在框中記錄實驗的數據。信號發生器的前面板設計如圖1所示。
圖1 信號發生器的前面板
3 信號發生器的后面板設計
由于本文設計的信號發生器可以顯示信號的功率頻譜,所以需在程序框圖中添加一個快速傅里葉變換控件。由于需要加窗和濾波器,因此必須在程序框圖中添加兩個循環結構,這兩個循環結構分別用于加窗的控制和濾波器的選擇控制。由于有兩路信號,所以在while循環中,添加兩個窗和兩個濾波器,可供選擇的窗有uniform,Hanning窗,Hamming窗,Blackman-Harris,Exact-Blackman,Blackman,Flattop和4 Term Black-Harris??晒┻x擇的濾波器有Butterworth和Chebyshev。兩個循環結構的輸出分別接至FFT功率譜模塊,FFT功率譜模塊的主要作用是計算時間信號的平均自功率譜。連接至時間信號輸入端的數據類型決定使用哪個多態實例。FFT功率譜模塊的輸出,用數組模塊連接至波形顯示窗口中,這樣,就可以在第三個窗口中顯示信號的功率頻譜。為了方便記錄數據,可以在程序框中添加一個字符串函數,可以在前面板中,顯示一個空白的框,用于記錄實驗時需要記錄的數據。
4 信號發生器的程序框圖
信號發生器的程序框圖如圖2所示。
圖2 信號發生器的程序設計
5 結 語
設計的信號發生器可以實現在兩個波形顯示窗口中分別顯示兩路信號,信號的相位和幅值可調,在第三個波形顯示窗口中顯示信號的功率頻譜。通過基于LabVIEW軟件所設計的信號發生器證明了虛擬儀器具有強大的儀器設計功能。
參考文獻
[1]劉君華,賈惠芹,丁暉,等.虛擬儀器圖形化編程語言LabVIEW教程[M].西安:西安電子科技大學出版社,2007.
[2]McQuiston.Virtual instruments for use in test systems development[C]// Proceedings of the IEEE Systems Readiness Technology Conference\\: IEEE, 2003.
[3]賴欣.虛擬現實技術在教學中的應用[J].四川工業學院學報,2003(2):50-52.
[4]楊平樂,李海濤,趙勇,等.LabVIEW高級程序設計\\.北京:清華大學出版社,2003.
[5]張凱,郭棟.LabVIEW虛擬儀器工程設計與開發[M].北京:國防工業出版社,2006.
[6]師黎.虛擬儀器技術在實驗室建設中的應用研究[J].鄭州工業大學學報,1999(2):30-32.
[7]侯國屏,葉齊鑫.LabVIEW編程與虛擬儀器設計\\.北京:清華大學出版社,2005.
[8]蔡國英,張宏群.基于LabVIEW的信號產生與分析系統[J].國外電子測量技術,2007(6):12-14.
[9]袁淵,古軍.虛擬儀器基礎教程[M].成都:電子科技大學出版社,2002.
[10]鄧焱,王磊.LabVIEW 7.1測試技術與儀器應用[M].北京:機械工業出版社,2004.