譚 勇
長江師范學院 重慶 408003
數(shù)字信號處理是電子信息類專業(yè)的重要專業(yè)理論課,具有很強的理論性,在教學實踐中為了減輕學生學習難度,通常要使用一些輔助手段對理論知識進行演示和說明,讓學生更易理解和掌握相關(guān)知識點。當前,我國高校中主要應用的是Matlab軟件,它采用較為直觀的數(shù)學語言進行問題的描述和求解,具有適應面廣、較容易學習和使用的特點。但在教學中,我們感到使用Matlab時尚存在如下問題:
(1)在提供圖形用戶界面(GUI)方面能力較弱。雖然伴隨著版本的提高,提供了GUI工具,但使用繁瑣,要完全掌握和應用仍然有一定難度。
(2)Matlab語言仍是文本式語言,抽象性較強。在求解較為復雜問題時,需要編寫邏輯關(guān)系程序段,要花費較多時間和精力,降低了教學效率。
(3)Matlab動態(tài)演示功能較差,缺乏對數(shù)值運算過程直觀形象的反映,表現(xiàn)力不夠強。
針對以上問題,我們在教學中用好Matlab的同時,嘗試將虛擬儀器領(lǐng)域廣泛應用的LabVIEW引入該課程輔助教學中,取得了較好的效果。
LabVIEW的程序設計與傳統(tǒng)文本程序設計語言如C,Pascal或Matlab顯著不同,它使用的是圖形化語言,通過使用功能節(jié)點結(jié)合圖形化的程序流程控制結(jié)構(gòu)來實現(xiàn)程序功能,程序設計過程形象直觀,并且最大程度簡化了如內(nèi)存分配、程序調(diào)試、多線程等程序設計細節(jié),使得用戶能在最大程度上將精力放到解決問題上。
在程序結(jié)構(gòu)上,LabVIEW將一個完整的程序分為前面板和程序框圖,通過向前面板拖入圖形控件就能簡單快速地實現(xiàn)美觀的程序界面。對于其中的顯示控件,進行簡單設置即可實現(xiàn)豐富的曲線、圖形與圖像的顯示。因而LabVIEW在GUI和程序設計過程中的形象化上較Matlab有很大優(yōu)勢。
LabVIEW為實現(xiàn)測量與自動化應用中的數(shù)據(jù)分析提供了功能強大的數(shù)字信號處理函數(shù)節(jié)點,并按信號生成、信號運算、窗、濾波器、譜分析、變換功能及提供,方便了查找和應用。這些功能對于教學是完善的,而且易于使用。
進入課程教學階段,為了說明信號在實際生活中是無處不在的,我們在LabVIEW中應用Acquire Sound.vi(如圖1所示),通過簡單設計,就可利用PC的聲卡和麥克風實現(xiàn)在教室現(xiàn)場的聲音采集,并立即在投影儀上顯示出來。由于采集的是實際信號并連續(xù)動態(tài)地實時顯示,學生能夠直觀看到信號的形態(tài)特征,認識到信號在生活中是無所不在的,激發(fā)起學生學習研究信號的興趣。
圖1 聲音信號的采集
在學習了典型的IIR濾波器之后,要對它們的性能如通帶波紋、阻帶波紋、過渡帶寬度、線性相位等進行比較,要實現(xiàn)這個目標,在Matlab中常常要編寫較長的程序,僅僅為了將各濾波器的幅頻響應寫在一個圖中顯示出來,就必須用到好多圖形控制選項。而在LabVIEW下,無需任何圖形控制命令,直接從函數(shù)選板中選出相應的濾波器函數(shù)節(jié)點,給予其沖擊激勵信號后再對輸出信號作傅立葉變換即可得到各濾波器的頻率傳輸特性曲線,然后在GRAPH控件中顯示即可(如圖2所示)。
圖2 幾類典型IIR濾波器的性能比較
我系2004和2005級電子信息科學與技術(shù)專業(yè)(A專業(yè))及應用電子技術(shù)專業(yè)(B專業(yè))學生在第五學期安排了數(shù)字信號處理基礎理論課程,在教學中采用的是Matlab,這樣初步培養(yǎng)了學生應用Matlab理解和解決數(shù)字信號處理理論問題的基本能力。接著在第七學期安排了LabVIEW基礎課程,并將應用LabVIEW分析采集到的數(shù)據(jù)即應用數(shù)字信號處理理論知識作為學習的重點,這樣學生就實現(xiàn)了對兩種語言的學習和對相同理論知識的應用。為了了解學生對Matlab和LabVIEW應用特點的認知,作了簡要的問卷調(diào)查,問卷內(nèi)容主要包含3個問題,問題及數(shù)據(jù)見表1。
表1 對Matlab與 LabVIEW偏好性
圖3 A專業(yè)學生在三種答案上的累計人次
圖4 B專業(yè)學生在三種答案上的累計人次
對表1中累計人次欄數(shù)據(jù)按專業(yè)、年級進行統(tǒng)計,分別得到兩專業(yè)下兩個年級選擇“Matlab”“LabVIEW”“差不多/都行”的柱狀圖(如圖3和圖4所示)。由圖可見,盡管專業(yè)、年級不同,在回答的傾向性上是相似的,即認為LabVIEW更容易學習且效率更高的學生人次大致是選擇Matlab的3~4倍,可見學生從總體上來講對LabVIEW的接受度較高,偏好性較強。同時,有較多學生選擇了Matlab,這些學生的理由基本為Matlab已是事實上的標準平臺,沒有必要再去使用LabVIEW, 何況Matlab在解決自己目前遇到的問題上使用起來還是比較方便的。回答“差不多/都行”的學生則認為使用何種工具并不是關(guān)鍵,最重要的是要理解所用的理論知識。對于后兩者的學生,雖然在調(diào)查時沒有傾向LabVIEW,但仍然認為LabVIEW的圖形界面設計與G語言編程給自己留下了深刻的印象。
LabVIEW提供的圖形化程序設計方式、大量的圖形控件和信號處理函數(shù)節(jié)點,為數(shù)字信號處理的教學過程提供了動態(tài)、形象直觀的闡述相關(guān)數(shù)字信號處理理論知識的能力,一定程度上克服了Matlab的GUI能力缺陷和程序設計過程較為抽象的不足。因此,在數(shù)字信號處理課程中引入LabVIEW作為輔助工具是有益的。
[1] 王川.基于LabView的遠程電子技術(shù)實驗系統(tǒng)應用研究[J].現(xiàn)代電子技術(shù),2007(12):14-16.
[2] National Instruments. LabVIEW User Manual[Z].Texas National Instruments, 2003.
[3] 程佩清.數(shù)字信號處理教程[M].北京:清華大學出版社,1995.
[4] 陳錫輝,張銀鴻.LabVIEW 8.20程序設計從入門到精通[M]. 北京:清華大學出版社,2007.
[5] 康潑,侯建民.虛擬儀器在高校實驗室建設中的應用探討[J].測控技術(shù),2001,20(3):64-66.