馬如坡
摘 ?要 數(shù)字信號處理課程是面向電子信息學科的專業(yè)基礎課,由于該課程理論性強、概念抽象、公式繁多,在教學過程中學生難以理解和掌握。結合MATLAB軟件的特點與優(yōu)勢,將其引入數(shù)字信號處理課程教學,能夠改變傳統(tǒng)教學形式,豐富教學內容,有效促進教學。介紹MATLAB軟件特點優(yōu)勢和數(shù)字信號處理課程教學思路,將MATLAB軟件融入數(shù)字信號處理課程教學全過程,可增強學生學習興趣,提升教學質量。
關鍵詞 MATLAB;數(shù)字信號處理;FDATool
中圖分類號:G642 ? ?文獻標識碼:B
文章編號:1671-489X(2019)18-0025-03
Application and Practice of MATLAB Software in Digital Signal Processing Teaching//MA Rupo
Abstract Digital signal processing course is a professional basic
course for electronic information subject. Due to its strong theoreti-cal nature, abstract concepts and various formulas, it is difficult for students to understand and master the teaching process. Combining the characteristics and advantages of MATLAB software, the intro-duction of digital signal processing course teaching can change the traditional teaching form, enrich the teaching content and effectively promote teaching. This paper introduces the characteristics and advantages of MATLAB software and teaching ideas of digital signal
processing course. Integrating MATLAB software into the whole teaching process of digital signal processing course can enhance stu-
dents interest in learning and improve the teaching effect.
Key words MATLAB; digital signal processing; FDATool
1 引言
數(shù)字信號處理是當前科學和工程領域最為熱門的技術之一,隨著信息技術的發(fā)展,數(shù)字信號處理技術已廣泛應用于通信、圖像處理、人工智能、物聯(lián)網(wǎng)、生物醫(yī)學等許多領域。很多高校的計算機、通信、自動化等學科都開設了數(shù)字信號處理課程,該課程重點研究利用計算機實現(xiàn)信號處理的基本理論和方法。教學內容主要包括時域離散信號與系統(tǒng)、時域離散信號與系統(tǒng)的頻域分析、數(shù)字濾波器的設計等[1-2]。由于這些課程內容的理論性強,概念比較抽象,學生學習過程中不容易理解和記憶。MATLAB軟件操作使用簡單,人機界面友好,仿真得到的圖像通俗易懂,便于理解,可以很好地彌補數(shù)字信號處理課程教學中的困難和不足。
2 MATLAB軟件及特點
MATLAB是美國MathWorks公司研發(fā)的一款商業(yè)數(shù)學軟件,主要應用于算法開發(fā)、數(shù)值計算、數(shù)據(jù)可視化、數(shù)字信號處理等方面。它將矩陣計算、數(shù)值分析、系統(tǒng)建模仿真等功能集成于可視化窗口中,為信號分析、圖像處理、控制設計、工程計算等眾多科學領域提供了一種交互式編程模式。其主要優(yōu)勢特點如下[3]。
高效的數(shù)值計算能力 ?MATLAB包含大量函數(shù)和算法,可以方便地實現(xiàn)各種計算功能。具體函數(shù)包括基本函數(shù)、矩陣、特征向量、快速傅里葉變換等,采用的算法都是經(jīng)過優(yōu)化和容錯處理的最新研究成果。利用其高效的數(shù)值計算和符號計算等功能,可以幫助用戶擺脫繁雜的數(shù)學運算和分析過程,大大減少編程的工作量。
完備的圖形處理功能 ?MATLAB軟件具有可視化的數(shù)據(jù)處理功能,可以方便地將所要計算的矩陣和向量用圖形直觀呈現(xiàn)出來。另外,其還能夠實現(xiàn)高層次的作圖,包括二維、三維、四維數(shù)據(jù)的可視化、圖像處理、動畫和表達式作圖,極大方便了科學計算和工程繪圖。
友好的人機交互界面 ?MATLAB軟件具有友好的圖形用戶界面,如命令窗口、編輯器、調試器、工作空間等功能模塊,操作起來易學易懂。MATLAB軟件編程采用近似數(shù)學表達式的自然化語言,用戶學習和掌握也很快捷。MATLAB軟件編程環(huán)境非常友好,編輯的程序可直接運行調試,出現(xiàn)編程錯誤能夠及時報告,并給出錯誤原因分析,大大提升了編程效率。
豐富的應用工具箱 ?MATLAB軟件擁有數(shù)百個內部函數(shù),對許多專門的領域(如信號處理工具箱、通信工具箱等)都開發(fā)了功能強大的模塊集和工具箱,用戶可以直接使用工具箱進行學習、應用和評估。此外,用戶還可以對這些工具箱進行修改或加入自己編寫的程序,以構造新的專用工具包。
3 數(shù)字信號處理教學思路
在數(shù)字信號處理課程教學過程中,通過與學生以及同行教師的溝通交流,感到該課程的教學主要存在兩個方面的困擾。
一是課程理論性強,知識點比較抽象。該課程的基本定義、原理比較抽象,難以用物理概念或具體模型予以展示,使得學生理解和掌握起來比較困難。
二是課程知識涉及面廣,對數(shù)學基礎要求較高。數(shù)字信號處理課程內容復雜,涉及很多學科知識,如傅里葉變換、Z變換等理論推導過程,要用到很多微積分、復變函數(shù)等高等數(shù)學知識,且計算過程復雜,學生學習有一定難度。
對此,根據(jù)數(shù)字信號處理課程的特點,教學實施過程中從以下幾個方面進行改進。
MATLAB輔助教學全過程 ?在數(shù)字信號處理課程講授過程中,穿插介紹MATLAB軟件的相關知識。根據(jù)課程進度,在講解每個章節(jié)知識點的同時,運用MATLAB軟件演示相應的程序和結果。如講解模擬信號離散化時,展示數(shù)字化后的圖形特點并與模擬信號進行對比分析,加深學生對該知識點的理解。在每個章節(jié)內容講完之后,綜合章節(jié)內容利用MATLAB軟件開發(fā)、設計相關實驗,帶領學生動手進行編程,增強學生直觀體驗和學習獲得感,提升學習興趣,鞏固學習效果。
合理設置教學內容 ?數(shù)字信號處理課程概念公式多、涉及知識面廣,有限的學時內,結合本科階段教學要求和專業(yè)特點,對課程內容的重難點進行刪減,側重基本概念、理論以及結論的講解,突出應用和課程思想,弱化公式推導過程。如課程中的快速傅里葉變換部分,雖然該知識點非常重要,但其原理和公式相對復雜,而MATLAB軟件中簡單調用fft命令就可以方便地進行快速傅里葉變換。因此,側重講清快速傅里葉變換的概念、特點以及如何調用fft命令解決問題即可,確保重要知識點學生聽會弄懂、消化吸收。
注重理論聯(lián)系實踐 ?以生活中數(shù)字信號處理實際應用案例展開教學。比如講解奈奎斯特采樣定理時,以隨機獲取的圖像和聲音為例,選取不同的采樣頻率進行離散化處理,讓學生直觀感受處理效果的差異,增強課堂吸引力。教學中摒棄純粹理論講解和公式推導,穿插動手實踐環(huán)節(jié),采取例題辨析、課堂練習等多種形式進行互動交流,如把基本的程序給學生,讓學生自己動手調試參數(shù),獲得不同的信號處理效果,充分調動學生學習的積極性。
4 MATLAB在教學中的具體應用
數(shù)字信號處理課程教學的目的是使學生不但掌握數(shù)字信號處理的基本理論和基本概念,更重要的是訓練和提高學生運用所學理論和方法分析問題、解決問題的能力。本文以線性時不變系統(tǒng)卷積、離散信號和系統(tǒng)的頻域分析、濾波器設計為例,說明如何有效利用MATLAB軟件進行教學。
線性時不變離散系統(tǒng) ?線性時不變離散系統(tǒng)是指具有線性和時不變特性的離散時間系統(tǒng)[1]。該部分的一個重要知識點就是系統(tǒng)輸入與輸出之間的卷積關系,即系統(tǒng)的輸出等于輸入序列與系統(tǒng)單位抽樣響應的卷積。卷積作為一種積分變換的數(shù)學方法,在很多方面得到廣泛應用。在數(shù)字信號處理中,卷積與傅里葉變換有著密切的關系,如兩個函數(shù)傅里葉變換后的乘積等于它們卷積后的傅里葉變換,通過這種變換可以簡化傅里葉分析中的許多問題。
講解該部分時為了對卷積這一抽象概念進行說明,先從卷積原理入手,簡要介紹卷積計算的圖解法和解析法,然后引入MATLAB信號處理工具箱中的卷積函數(shù)conv,重點講解其定義及調用格式,并以實際數(shù)據(jù)為例計算結果,利用繪圖命令subplot進行呈現(xiàn),使結果清晰明了,促進學生對該知識點的理解和掌握。
離散信號系統(tǒng)頻域分析 ?現(xiàn)實世界中的信號多以時域形態(tài)呈現(xiàn),以時間軸為坐標參數(shù)分析信號特征的方法稱為時域分析。其實,信號都具有一定的頻域特性,以頻率軸為參數(shù)分析信號特征的方法為頻域分析。傅立葉變換就是從時域分析轉換到頻域分析的一個有效橋梁。采用傅立葉變換將時域信號x(t)變換為頻域信號X(f),可以從另外一個角度了解信號的特征,從而更加全面地分析和理解信號。
為了對離散系統(tǒng)的頻域進行分析,首先利用MATLAB命令逐漸疊加從低頻到高頻的正弦波以形成方波,并繪圖顯示合成的波形,使學生能夠直觀感受通過疊加正弦波逼近方波的理論,從而促進對時域和頻域的認識和理解。然后對傅里葉變換和快速傅里葉變換的算法進行講解,重點突出兩種變換的MATLAB命令及其應用舉例,加深學生理解記憶。進行離散系統(tǒng)頻域特性分析時,重點講解采用MATLAB軟件的freqz命令繪制頻率響應曲線,zplane命令繪制系統(tǒng)函數(shù)的零極點分布,結合圖形加深學生對離散信號系統(tǒng)頻率響應特性知識的理解。
濾波器設計 ?濾波器設計是數(shù)字信號處理課程中非常重要的內容。數(shù)字濾波器按通帶特性可分為低通濾波器、高通濾波器、帶通濾波器和帶阻濾波器;按單位脈沖響應可分為無限長單位沖激響應濾波器(IIR數(shù)字濾波器)和有限長單位沖激響應濾波器(FIR數(shù)字濾波器)[4]。IIR數(shù)字濾波器可借助成熟的模擬濾波器理論及設計圖表進行設計,F(xiàn)IR數(shù)字濾波器通過選擇有限長的單位脈沖響應h(n)來滿足技術指標。由于濾波器概念比較抽象,其設計原理及過程比較復雜,學生理解起來比較吃力。因此,該部分內容重點結合MATLAB命令和FDATool(Filter Design and Analysis Tool)進行講解。
FDATool是具有強大功能的濾波器設計與分析工具,涵蓋了信號處理工具箱中所有濾波器的設計方法,利用其設計濾波器可大大簡化編程過程,使得濾波器設計簡捷易用[5-6]。以FIR帶阻濾波器設計為例,首先根據(jù)設計指標調用remezord和remez函數(shù)設計FIR帶阻濾波器,然后在MATLAB命令窗中運行FDATool,在界面中設定指標參數(shù),繪制濾波器圖形,并與上述結果進行對比,通過對比分析加深學生對濾波器設計的理解和認識。
5 結語
數(shù)字信號處理課程是面向電子信息學科的一門專業(yè)基礎課,它的基本概念和分析方法已經(jīng)滲透到信息與通信工程、動力工程、電氣工程等各個領域。隨著高速數(shù)字計算機、超大規(guī)模集成電路以及新算法的出現(xiàn),數(shù)字信號處理將成為人工智能、物聯(lián)網(wǎng)、自動駕駛等方向的研究熱點,因此,數(shù)字信號處理課程得到各類高校的高度重視。然而由于該課程理論比較抽象,公式推導繁多,在教學過程中導致學生對數(shù)字信號處理的相關知識難以理解和掌握。而MATLAB軟件在數(shù)字信號處理方面具有較好的特點和優(yōu)勢,在教學過程中充分利用MATLAB軟件資源,可將枯燥的原理公式變換為圖像形式,易于學生理解和接受。實踐證明,采用MATLAB軟件用于數(shù)字信號處理教學,豐富了課程教學形式,提高了學生學習興趣。同時,學生在學習專業(yè)知識之余,又掌握了一款應用廣泛的科學計算軟件,為今后發(fā)展奠定了一定的基礎。
參考文獻
[1]高西全,丁玉美.數(shù)字信號處理[M].西安:西安電子科技大學出版社,2016.
[2]江志紅.學以致用:深入淺出數(shù)字信號處理[M].北京:北京航空航天大學出版社,2012.
[3]徐明遠,劉增力.MATLAB仿真在信號處理中的應用[M].西安:西安電子科技大學出版社,2007.
[4]胡廣書.數(shù)字信號處理:理論、算法與實現(xiàn)[M].北京:清華大學出版社,2012:226-319.
[5]燕麗紅,張樂芳,馬小青.基于圖形可視化Wintool和
FDAtool的FIR濾波器設計[J].現(xiàn)代電子技術,2015,38(24):
4-6,11.
[6]劉暢,劉學良,等.數(shù)字信號處理課程中FIR濾波器設計的教學探討[J].現(xiàn)代電子技術,2015(24):4-6,11.