劉 梅 陳善榮 廖柏林
(1.吉首大學物理與機電工程學院,湖南 吉首416000;2.吉首大學信息科學與工程學院,湖南 吉首416000)
隨著信息、通信、計算機科學與技術等學科的飛速發展,數字信號處理相關理論得到了顯著的完善,其應用領域也日益廣泛,已滲透到人們的日常工作和生活中[1-2]。從20世紀六七十年代開始,“數字信號處理”已成為各大專院校相關專業的一門重要專業基礎必修課程,其課程的學科內容也在不斷充實與完善。在此背景下,“數字信號處理”課程教學的教學改革引起了相關教育工作者的廣泛關注和積極參與。因傳統“數字信號處理”的教學注重算法和理論的推導,教師把理論課教學理解為講解定義、概念和原理,學生則把理論學習理解為習誦、模仿和做題,從而造成了學生思維模式的固化,弱化了學生的創造性思維能力。不少學生,特別是西部民族地區本科院校的學生對此課程有怕學、厭學以及學不懂、理不清的現象[3]。結合該課程的特點以及吉首大學的實際情況,我們對課程的內容和結構進行了深入研究,對授課方式和方法做出了一定的調整和改革。因MATLAB是數字信號處理技術實現的重要手段[4],將MATLAB函數與“數字信號處理”中的理論知識相結合,能夠用易于理解的可視化圖形幫助學生理解“數字信號處理”中的抽象概念和數學理論。
“數字信號處理”作為一門理論性較強、涉及數學知識以及公式繁瑣難懂的課程,傳統的板書和課件講授方法易造成學生學習時枯燥,難于理解。引入信號處理中廣為應用的MATLAB函數,在授課中將MATLAB仿真演示與課件相結合,直觀性強且教學效率高。在理論教學中通過MATLAB實驗演示,以可視化展示形式幫助學生理解抽象的數學公式和技術理論,從而提升學生對該課程的學習效率與積極性。

圖1 使用MATLAB計算兩個序列的卷積
“數字信號處理”的基礎是離散信號以及離散系統,利用MATLAB工具能夠直觀快速進行離散信號的顯示與運算。例如對x1=[2,4,3,1]與x2=[2,1,3]倆離散序列求線性卷積和,其MATLAB程序如下:


圖1給出了卷積結果的圖形,求得的結果存放在序列y中為[4,10,16,17,10]。
此外,在課堂的實際教學中,可以引導學生更換相關x1與x2的值重復計算相關卷積,這樣可讓學生對卷積計算有直觀了解為更進一步更深入理解打下基礎。
“數字信號處理”的理論性較強,但是實踐亦是教學不可或缺的組成部分。以MATLAB作為實驗環境,將理論應用于“數字信號處理”實踐主要有無限長沖激響應(IIR)濾波器設計和有限長沖激響應(FIR)濾波器設計等。其中無限長沖激響應濾波器設計包括典型模擬濾波器設計、用沖激響應不變法設計IIR濾波器以及用雙線性變換法設計IIR濾波器;有限長沖激響應濾波器設計包括窗函數法設計FIR濾波器。以IIR數字濾波器的設計為例子,IIR數字濾波器的設計有間接法和直接法兩大類,一般主要討論間接法即由模擬濾波器來設計數字濾波器的方法,而且著重于沖激響應不變法及雙線性變換法。這也是因為模擬濾波器(AF)有成熟的設計方法、完整的設計公式及實用表格可資利用,使得數字濾波器(DF)的設計更為簡便迅速。在MATLAB中設計IIR數字濾波器的步驟總結如下:
(1)按一定規則將給出的數字濾波器的技術指標轉換成模擬低通濾波器的技術指標;
(2)根據轉換后的技術指標使用濾波器階數選擇函數,確定最小階數N和固定頻率Wn;
(3)運用最小階數N產生模擬濾波器原型;
(4)運用Wn把模擬低通濾波器原型轉換成模擬低通、高通、帶通、帶阻濾波器;
(5)運用沖激響應不變法或雙線性變換法把模擬濾波器轉換成數字濾波器。
例如設采樣周期T=250μs(采樣頻率fs=4kHz),用脈沖響應不變法和雙線性變換法設計一個三階巴特沃茲濾波器,其3dB邊界頻率為fc=1kHz。其MATLAB程序代碼如下:

程序中第一個butter的邊界頻率2π×1000,為脈沖響應不變法原型低通濾波器的邊界頻率;第二個butter的邊界頻率2/T=2/0.00025,為雙線性變換法原型低通濾波器的邊界頻率。圖2(給出了這兩種設計方法所得到的頻響,虛線為脈沖響應不變法的結果;實線為雙線性變換法的結果。脈沖響應不變法由于混疊效應,使得過渡帶和阻帶的衰減特性變差,并且不存在傳輸零點。同時,也看到雙線性變換法,在z=-1即ω=π或f=2000Hz處有一個三階傳輸零點,這個三階零點正是模擬濾波器在Ω=∞處的三階傳輸零點通過映射形成的。

圖2 三階巴特沃茲濾波器的頻率響應
通過對MATLAB程序的編寫以及調試運行,可以加深學生對IIR數字濾波器設計的理解認識,達到改善教學效果的目的,同時也提高了學生的綜合應用能力。
本文針對“數字信號處理”課程教學現狀和存在的問題,利用MATLAB的強大運算功能,將其與“數字信號處理”相結合,并在我校進行了積極的實踐探索。實踐結果表明,新的教學方法能有效加強學生對理論知識的理解以及對MATLAB軟件的掌握,顯著提高學生的學習積極性,有效提高課程教學質量。
[1]程佩青.數字信號處理教程[M].北京:清華大學出版社,2001.
[2]韓得竹,王華.MATLAB電子仿真與應用[M].北京:國防工業出版社,2001.
[3]廖柏林,肖林,劉梅.地方高校“信號與系統”課程教學現狀與改革探討[J].科技視界,2015,(17):40-83.
[4]劉笑楠,顏華,楊理踐“.數字信號處理”教學改革與實踐[J].科技信息,2008,(33):466-467.