胡新艷 霍文曉 車曉巖 張愛英 曹紅波


摘要:本文針對數字信號處理課程理論豐富、應用性強的特點,利用MATLAB自帶的圖形用戶界面開發工具設計了數字信號處理實驗仿真平臺,實現了交互式實時動態仿真。
[關鍵詞]數字信號處理MATLAB仿真平臺圖形用戶界面
《數字信號處理》是高校為電子通信類專業開設的核心專業基礎課,對于學生整個課程體系的建立起著重要作用。課程主要包含序列傅里葉變換、Z變換、離散傅立葉變換、快速傅立葉變換及數字濾波器的設計等內容,具有理論豐富、公式繁瑣及物理概念抽象的特點,需要學生具備較好的復變函數和信號與系統的理論基礎,因此,造成了目前學生普遍認為該課程內容難以理解學習的現狀。
實驗教學作為理論教學的一個輔助手段,引用得當可以幫助學生更深入地理解和掌握本門課程理論知識。為了提高教學效果,結合多年的教學經驗,本文基于Matlab強大的圖形用戶界面(GraphicalUserInterface,GUI)和豐富的數字信號處理工具箱,設計開發了一個數字信號處理實驗仿真平臺。借助該平臺,教師可以在課堂上以交互的方式進行實時仿真,將抽象的理論清晰、感性地再現,有效地提高了學生的學習興趣和課堂教學效果;學生可以通過自主編程的方式進行濾波器的設計及應用實驗,更能促進他們不斷深入學習和研究,提高其設計應用能力。
1實驗仿真平臺結構
數字信號處理實驗仿真平臺旨在為教師和學生提供一個交互式的用戶界面,能夠將數字信號處理課程的基礎理論和方法通過動態演示的方法展現在學生面前,亦可以通過學生操作及自主編程來驗證多個實驗現象。因此,實驗平臺內容可分為演示和實驗兩大類,其中實驗類按學生的認知規律可進一步細分為驗證性實驗和設計性實驗。即該平臺從結構上包括基礎知識演示、驗證性實驗和設計性實驗三大模塊,涵蓋數字信號處理課程的主要教學內容。其中,基礎知識演示模塊主要用于課堂演示,將抽象內容通過仿真演示形象化,激發學生學習興趣;驗證性實驗模塊主要用于驗證數字信號處理的基本理論知識,加深學生理解;設計性實驗主要用于學生自行選擇參數進行濾波器的設計,從而提高其解決問題能力。
2實驗仿真平臺實現
MATLAB是美國MathWorks公司出品的商業數學軟件,用于算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和以及交互式的集成環境,其編程簡單且功能強大,在各工程領域得到了廣泛應用,同時具有圖形用戶界面功能,向用戶提供一系列創建用戶圖形界面的工具,設計簡便靈活,便于進行人機交互。因此本課題基于MATLABGUI設計數字信號處理實驗仿真平臺。
2.1主界面設計
數字信號處理虛擬實驗平臺是由多個實驗GUI界面構成,其中實驗平臺主界面設計分為登陸界面和演示實驗主界面兩部分。登陸界面如圖1(a)所示,界面設有兩個按鈕,點擊“進入系統”按鈕,輸入學號,進入演示實驗主界面,如圖1(b)所示;點擊“退出系統”按鈕,則關閉整個系統。
演示與實驗主界面中具體的實驗內容設計成菜單項。當進入演示與實驗主界面后,選擇相應的實驗內容菜單項,進入對應實驗模塊的子界面;點擊“退出實驗”菜單,則關閉演示實驗主界面返回到登陸界面。
2.2實驗平臺模塊設計與實現
(1)基礎知識演示模塊。利用GUI設計的基礎知識演示菜單包含序列產生和序列傅里葉變換及基本性質兩個菜單項。選擇序列產生菜單,進入到典型序列產生及基本運算的子界面,主要實現典型序列(正弦、指數、矩形、沖激及階躍等)的產生以及基本運算的演示;選擇序列傅里葉變換及基本性質菜單,進入到如圖2所示子界面。
界面圖形窗口整體分為左右兩部分,左側為離散傅里葉變換及性質參數選擇區,右側為對應波形顯示區域。其中參數選擇區域包含4部分,分別為:①序列及其頻譜,按下相應的按鈕可依次在右側波形區顯示長度為8的斜坡序列x(n)時域波形、序列連續頻譜DTFT的幅度譜、序列4點DFT及8點DFT的幅度譜,如圖3所示,演示了序列連續譜DTFT和離散譜DFT的關系,體現了DFT的物理意義;②尺度變換性質;③循環移位性質,通過動畫的形式演示DFT的循環移位過程,加深對循環的認識;④循環卷積性質,通過按下按鈕和選擇單選框的組合操作,可在右側波形顯示區域上方顯示參與卷積的兩個序列及其各自的DFT,下方顯示相應的循環卷積序列及其DFT,幫助學生從本質上理解循環卷積性質,同時增加教學的趣味性。
(2)驗證型實驗模塊。驗證型實驗主菜單包含系統穩定性分析、時域抽樣和頻域抽樣3個實驗,每個實驗都下設“實驗要求”和“實驗運行”子菜單。單擊“實驗指導”,可以通過WORD服務器打開該實驗的實驗指導書文檔,學生可預先瀏覽,為實驗做預習準備;單擊“實驗運行”菜單項,打開相應的實驗運行界面,指導學生進行實驗。
①系統穩定性分析,主要用于系統響應的確定及穩定性的分析。系統響應確定可采用卷積法和濾波器法兩種方法實現,每一種方法對應一個面板區,面板中有相應的按鈕和文字描述。其中卷積法確定系統響應,首先按下“單位樣值響應”、“輸入信號”按鈕,在右側區域顯示相應的時域波形,接著按下“系統響應”按鈕,則采用卷積法計算系統的零狀態響應,并將波形顯示在右側區域,運行結果如圖3所示;系統穩定性分析區域,同一系統給定兩個不同輸入,通過對照觀察時域波形結果,判斷系統是否穩定,將穩定這一抽象的概念直觀表示,便于學生理解。
②時域抽樣,運行界面如圖4所示,通過下拉列表框選擇不同的抽樣頻率,觀察抽樣信號及其頻譜與原連續信號及其頻譜之間的關系,掌握時域與頻域的對應關系。
③頻域抽樣,與②對偶,不作詳細介紹。
(3)設計型實驗模塊。該模塊包括IIR濾波器和FIR濾波器設計2個實驗。點擊“IIR濾波器設計”,打開如圖5所示的運行界面。點擊“FIR濾波器設計”,打開FIR濾波器設計運行界面。以IIR濾波器設計為例進行說明,IIR濾波器設計窗口按其功能可分為兩個區域,左側為濾波器設計選擇區域,分別包含濾波器類型、模擬濾波器設計方法選擇及參數設置區域,右側為波形顯示區域,主要用于顯示按參數要求設計的濾波器損耗特性曲線,測試信號及其頻譜,以及濾波輸出信號。具體操作過程:首先產生具有加性噪聲的信號,顯示信號及其頻譜,然后根據頻譜及目標信號頻譜特點,確定設計濾波器的類型,并在IIRFilterType按鈕組中做出相應選擇,最后選擇模擬濾波器設計方法,同時在參數選擇區文本框中輸入計算得到的截止頻率及衰減指標后,按下“IIRFiterDesign”按鈕,會在右側波形顯示區域顯示設計的濾波器幅度損耗特性曲線,同時顯示出測試信號經濾波器的輸出曲線,從圖中可看出,設計的低通橢圓濾波器能夠很好地滿足文本框中設置的參數要求,有效地將有用信號從含噪信號中提取出來。按下“Close”按鈕,關閉當前圖形窗口,返回到主界面。該實驗巧妙地將設計與應用合二為一,鍛煉了學生的濾波器設計能力以及綜合應用能力。
3結語
數字信號處理實驗教學仿真平臺作為數字信號處理課程理論教學的有效輔助手段,涵蓋了該課程的主要教學內容。教學實踐表明,該實驗平臺通過演示和實驗,既可以幫助學生更深入地理解本門課程抽象理論和概念,又能提高學生利用MATLAB編程解決問題的能力,取得了較好的教學效果。
參考文獻
[1]高西全,丁玉美,數字信號處理教程[M].西安:西安電子科技大學出版社,2015.
[2]基于MatlabGUI的信號與系統實驗平臺設計[J].實驗技術與管理,2016,33(01):100-103.
[3]曹建玲,劉煥淋,雷宏江。基于Mat1ab的“數字信號處理”仿真實驗[J].中國電力教育,2012(32):88-89.
[4]易婷,基于Matlab的“數字信號處理”課程實驗設計[J].電氣電子教學學報,2017,39(02):111-113.