羅久飛 趙雙 韓冷 張毅(重慶郵電大學 先進制造工程學院,重慶 400065)
基于聲卡的虛擬儀器在工程信號處理教學中的應用
羅久飛趙雙韓冷張毅
(重慶郵電大學 先進制造工程學院,重慶 400065)
聲卡是計算機的基本配置之一,價格低廉,使用方便;Delphi編程具有較強的靈活性;Matlab具有強大的數據分析和數據處理能力。通過聲卡采集數據,利用Matlab分析處理信號,最后通過Delphi設計面板顯示信號和分析結果,結合三者的優(yōu)勢可開發(fā)出人機界面友好,操作簡便,功能強大,成本低廉的教學型虛擬儀器,輕松實現信號采集,信號處理等功能。利用虛擬儀器輔助教學能夠有效提高學生的動手實踐能力,對學生加深理解信號處理知識有很大幫助。
虛擬儀器;聲卡;信號處理;Matlab
近年來,隨著電路電子和數字信號處理器的飛速發(fā)展,信號處理技術已經在各領域中得到深入廣泛的應用。尤其是在機械、電氣、自動化、生物醫(yī)學等工程領域中都涉及到信號的提取與處理問題。工程信號處理是工程類專業(yè)的基礎技術課程,有著很強的理論性與實踐性;它以培養(yǎng)學生掌握科學測試與信號分析理論技術、提高學生實踐能力為主,因此很多專業(yè)都開設了工程信號處理課程[1]。
但是,目前工程信號處理教學中仍然存在諸多問題:(1)目前信號處理課程主要是以理論學習為主,學生對工程信號處理實驗涉及較少;(2)沒有清晰完整的實踐教學體系,同時由于實驗設備成本較高,特別是帶有頻譜分析和測量功能的儀器價格更為昂貴,使得工程信號處理課程的實驗無法有效實施;(3)實驗設備難以滿足教學要求,學生不能通過實驗去直觀的學習工程信號知識;(4)學生不僅要學習傳統(tǒng)的工程信號處理知識,還要不斷地吸收理解最新的信號處理技術與知識。因此,目前的教學問題導致學生的學習內容抽象難懂。
虛擬儀器是指以計算機為核心,結合應用軟件進行各種測試、測量,虛擬儀器可以代替?zhèn)鹘y(tǒng)的測量儀器[2]。將虛擬儀器應用到教學中有相當多的優(yōu)點:(1)利用虛擬儀器進行工程信號處理的輔助教學為我們節(jié)省數據記錄,形象展示處理過程和結果。(2)虛擬儀器使用方便,只需利用電腦便可以完成輔助教學,能可以很好地達到教學目的。(3)不必像傳統(tǒng)實驗儀器那樣耗費大量時間接線組合儀器,教學效率高。(4)虛擬儀器成本低,靈活性強,可以根據操作者的需求設置功能。
目前的教學虛擬儀器主要有兩種,一種是結合聲卡利用Lab VIEW編程設計的,它提供了圖形化編程的開發(fā)環(huán)境以實現虛擬儀器的設計開發(fā)[3]。但LabVIEW需要購買使用,而且還要使用NI公司提供的專用數據采集硬件,雖然功能強大,但價格也比較昂貴。另一種是基于Visual C++、Delphi、VisualBasic等通用編程軟件,結合聲卡設計實現虛擬儀器,雖然其適用面廣、開發(fā)靈活,但是編程設計人員要有足夠的編程經驗和很強的調試能力,而且這些通用編程軟件的數據分析與處理能力相對較弱[4]。
Matlab是常用的數學工具之一,擁有強大的數據分析和數值計算功能,而且它的信號處理工具箱,為其動態(tài)數據分析提供了豐富的函數[5]。但是,Matlab開發(fā)出的人機界面不夠友好,靈活性不夠。Delphi是可視化軟件開發(fā)工具,它具有簡單、高效、功能強大等特點[6]。因此,在實際開發(fā)應用中可利用聲卡實現數據采集,利用 Delphi編寫程序實現人機界面,利用Matlab做數據分析處理運算,將虛擬儀器技術引入工程信號處理的輔助教學中,有助于課程的理解,提高課程的教學質量。
(一)硬件實現
聲卡是多媒體技術中最重要的組成部分,它價格低廉,使用方便。其最高采樣頻率可以達到44.1kHZ,對于音頻信號能夠實現雙聲道16位、高保真的數據采集,同時它還可以實現對信號的濾波、放大、采樣保持、A/D和D/A轉換等功能,因此,其功能與數據采集卡相當,甚至在某些功能上優(yōu)于數據采集卡。所以,在進行教學性實驗研究時可以利用聲卡代替數據采集卡[7]。
作者簡介:羅久飛(1987,02-),男,漢族,四川綿陽人,重慶郵電大學機械工程系講師,博士,主要從事信號處理研究。
圖1虛擬儀器原理框圖
(二)軟件實現
采用Delphi編程軟件編寫虛擬儀器的應用軟件,設計人機交互界面,利用多線程技術實現數據采集、存儲,波形顯示等功能。由于Delphi在復雜數據分析處理時效率低于Matlab,因此,我們利用Delphi編寫程序調用Matlab進行數據分析處理。利用Matlab中的快速傅立葉變換信號處理工具箱中的函數以實現頻譜分析等功能。此外,我們還可以根據自身需要編寫相應的處理函數和圖形顯示界面,使軟件更加符合教學的需求,而且擁有更強的靈活性。
鑒于所設計的虛擬儀器主要用于輔助教學,因此主要有如下組成功能:
(一)聲卡初始化和數據采集
虛擬儀器利用聲卡進行信號采集。通過Delphi編寫程序調用windows提供的API函數,設置聲卡的基本參數初始化聲卡,然后實現數據的采集。
(二)信號波形顯示與分析功能
利用Delphi程序編程實現波形顯示以及時域常用的處理算法等,使程序設計簡潔方便,功能富豐,而且界面統(tǒng)一美觀[4]。同時,界面還可以實現多個窗口顯示,為輔助教學提供方便[10]。
(三)頻譜分析功能等常用分析功能
Matlab中擁有強大的頻譜分析的功能,可以利用Delphi編寫程序,直接調用Matlab中的快速傅立葉變換(FFT)進行頻譜分析。點擊頻譜分析按鈕,啟動頻譜分析功能,利用FFT分析完成后在窗口顯示出信號的幅值譜和相位譜等常用功能[10]。
(四)信號發(fā)生器
聲卡包含D/A功能,因此設置可調節(jié)聲卡輸出的頻率、幅值和相位實現信號發(fā)生器。同時,還可設置調節(jié)不同類型的信號,主要有以下幾種常見的信號:正弦信號、方波信號、三角波信號、矩形波信號、鋸齒波信號和普通噪聲信號[11]。
(五)記錄、保存
聲卡采樣的數據信號波形保存成wav文件[10],頻譜分析等處理后的結果也可以保存為圖片或者自動生成Word文檔,以便于實驗記錄和生成實驗報告,充分體現虛擬儀器的教學性。
(一)可操作性、演示性強
虛擬儀器輔助教學具有很強的可操作性,利用Delphi制作的顯示界面簡單直觀,操作方便;學生可以根據自己的興趣產生所需信號,觀察信號特點,與理論知識相結合,不僅提高了學生的動手實踐能力,增加了學生學習課程的興趣,還有助于學生學習工程信號處理課程。
(二)成本低
開發(fā)傳統(tǒng)儀器,需要專門的技術和高成本的硬件設施,這使得傳統(tǒng)儀器價格昂貴并且更新緩慢。例如傳統(tǒng)的波形發(fā)生器,功能非常強大,但是價格也異常昂貴。而虛擬儀器主要依靠編程設計的軟件來實現傳統(tǒng)儀器的功能,不需要大量資金購買儀器設備和硬件設施[12]。而且虛擬儀器可以同時測量多個參數,測量數據及時高效,教學中可以隨時按照自身需求對虛擬儀器的功能進行設置,從而實現一機多用。因此,虛擬儀器使用方便,效果好,成本低[13]。
(三)高效性以及兼容性好
在傳統(tǒng)信號處理試驗中,通常需要集成多個測量設備完成測試,但是連接這些設備要花費大量人力和時間[14]。文章所設計的虛擬儀器對計算機硬件要求較低,學生只需將虛擬儀器軟件下載至自己電腦,安裝后即可使用。而且聲卡是計算機的基本配置之一,因此無需其他的軟件、硬件,虛擬儀器操作使用方便。
(四)教學性突出
將虛擬儀器應用到學生教學實驗中,可以使傳統(tǒng)儀器功能,包括數據采集、數據分析和數據顯示等,都通過計算機軟件來實現。有利于激發(fā)學員的學習興趣,提高動手實踐能力,貼近教學培養(yǎng)目標,并且可以全面提高學學生的綜合素質[15]。同時,利用虛擬儀器設備,老師可以將講過的信號處理知識布置成實驗作業(yè),加強學練結合,更加直觀的理解理論知識,鞏固所學知識點。
(五)擴展性好
由于軟件的靈活性強大,虛擬儀器利用有限的硬件資源可以開發(fā)出多種多樣的功能。傳統(tǒng)儀器的功能已經被生產廠家限定,操作者只能完成相對固定的工作。與傳統(tǒng)儀器相比,虛擬儀器可以根據用戶本身需求量身定義功能。也就是說,設計虛擬儀器時,可以教學功能需求,不斷完善軟件系統(tǒng),根據教學需要進行擴展和升級,從而能夠滿足各種不同的教學需
求[16]。
基于聲卡的虛擬儀器,使用計算機聲卡代替數據采集卡進行數據采集,教學性好,成本低廉;軟件開發(fā)設計通過 Delphi和Matlab混合編程的方法實現,一方面應用了Delphi強大的軟件開發(fā)能力,另一方面利用了Matlab在數值計算方面的強大優(yōu)勢,縮短了軟件開發(fā)周期,降低了軟件成本。
伴隨著計算機技術的發(fā)展,虛擬儀器功能也越加強大,其成本也會越來越低。因此,將虛擬儀器應用到教學中不僅可以充分滿足教學實驗要求,節(jié)約教學成本,而且能夠充分提高學生的學習能力。不可否認,將虛擬儀器應用到教學中將成為未來的重要發(fā)展趨勢。
[1]隋秀華,王芳,戴向云,等.“工程測試與信號處理”課程教學改革研究[J].中國電力教育,2014(21):58-59.
[2]郝麗,趙偉.基于聲卡的虛擬儀器教學[J].實驗室研究與探索,2014,33(2):79-81.
[3]張鋒,吳先球.一款基于聲卡的虛擬雙蹤示波器的研制[J].汕頭大學學報:自然科學版,2012,27(2):68-74.
[4]宋志強,周獻中.基于C++Builder與Matlab的虛擬儀器設計與實現[J].實驗室研究與探索,2012,31(12):228-230.
[5]張桂林,張烈平.基于聲卡和Matlab的虛擬信號發(fā)生器[J].現代電子技術,2005,28(8):75-76.
[6]孫波.基于Delphi的多層分布式數據庫的設計及其在遠程抄表系統(tǒng)中的應用[D].山東科技大學,2007.
[7]梅秀莊,宋京偉,劉舉平.基于聲卡的信號采集系統(tǒng)設計[J].華東交通大學學報,2004,21(2):88-92.
[8]吳小麗,丁維明,程力.Delphi動態(tài)調用Matlab COM組件實現二者混合編程[J].工業(yè)控制計算機,2011,24(3):1-3.
[9]周媛,張穎超,葉小嶺.Delphi與Matlab混合編程方法研究[J].電腦知識與技術:學術交流,2007,2(9):779-780.
[10]蘭岸,倪江華.基于聲卡的虛擬儀器在物理演示實驗中的應用[J].中學物理教學參考,2007(12):31-32.
[11]王新新,王帆.基于聲卡的虛擬儀器在通信專業(yè)教學中的應用[J].洛陽理工學院學報:自然科學版,2011,21(3):80-83.
[12]梁紅,薛寧,孫玉曉.虛擬儀器的發(fā)展以及在化學工程領域中的應用[J].廣州化工,2010,38(11):70-72.
[13]王臘節(jié).基于虛擬儀器技術的動態(tài)應變測試儀研究[D].南昌大學,2011.
[14]吳俊.基于LabVIEW的虛擬實驗室的研究[D].南昌大學,2012.
[15]王成剛,應朝龍,李建海,等.基于聲卡的虛擬儀器開發(fā)及其在教學中的應用[J].測控技術,2009,28(9):77-79.
[16]劉鳳,李志勇.論虛擬儀器在教學中的優(yōu)點[J].煤炭技術,2012,31(7):208-209.
As one of the basic components of computer,sound card is advantageous for its lower cost and easy usage.Delphi programming is of stronger flexibility and Matlab has strong capacity for data analysis and data processing.By combining the advantages of the three parts after collecting data via sound card,analyzing and processing signal by Matlab,and displaying signal and analysis results through Delphi design panel,it can develop a teaching-type virtual instrument which is low-cost,and simple to control with a user-friendly human-computer interface and powerful functions.It is easy to perform functions such as signal collection and signal processing.The teaching-type virtual instrument can be used to effectively improve students'practical abilities and enhance their understanding on signal processing.
virtual instrument;sound card;signal processing;Matlab
2096-000X(2016)15-0121-03
G642
A