1.引言 數字信號處理,是現今應用成效最顯著、應用領域最廣的新科學之一,國內外各高校均開設了數字信號處理課程。這門課程相應的特點是:公式特別多、性質的推導復雜繁瑣、概念性的東西比較多,還需要以信號與系統等諸多課程為基礎,被很多同學認為大學最難的課程之一,學生因跟不上老師的進度和本身對學習內容的理解不到位而對這門課程失去興趣。傳統的教學模式已經遠遠滿足不了新時代教學的需求,在計算機技術快速發展的今天,計算機輔助教學己經逐步成為教師授課的主要方式。MATLAB為數字信號處理課程的教學提供了很大的實驗幫助。很早之前,國外就開始把交互式軟件MATLAB用于數字信號處理的教學中,并采用功能強大的系統開發平臺。本文利用MATLAB的圖形界面設計工具(GUI),以數字信號處理理論知識為基礎,設計了與課堂教學、實驗內容相配套的輔助工具。該輔助工具可用于《數字信號處理》課程的實驗輔助教學、課堂教學演示,也可作為學生課后自學平臺,真正的將實驗內容融入教學過程中。 2.MATLAB GUI簡介 GUI是當今計算機軟件的發展趨勢。 MATLAB為表現其基本功能而設計的演示程序demo是使用GUI的最好范例。MATLAB全面支持GUI編程,可自行設計窗口、菜單、對話框、滑動條等。在MATLAB的命令窗口中運行guide,即進入交互式編程。 Guide可以根據用戶GUI的版面設計過程直接自動生成M文件框架,這樣就簡化了GUI應用程序的創建工作,用戶可以直接使用這個框架來編寫自己的函數代碼。 GUI設計可以采用兩種方法,一種是利用GUIDE工具進行設計。這種方法的優點是上手容易;缺點是對于有些復雜功能的實現比較困難。另一種方法是基本代碼法,即在M文件中用MATLAB代碼寫出所有的圖形對象控件所對應的代碼,通過各個參數的控制可以靈活地實現所需要的功能。這種方法的缺點是上手困難;優點是功能強大,可以實現許多復雜的功能,而且調試程序也比較容易。 3.基于MATLAB GUI的數字信號處理仿真平臺的構建方案 采用MATLAB開發平臺,利用圖形用戶界面GUI,設計出結構圖,如圖1所示,系統的主界面一共有七個主要子模塊,分別代表了七個教學內容。通過單擊主界面上子模塊相應的按鈕即可啟動相應的子窗口。 該仿真平臺具有如下一些特點: 首先,該平臺的結構設計層次分明,用戶界面是完全圖形化的,只需要點擊鼠標,輸入數據就能夠能完成所有的實驗。 其次,在內容的安排上,此平臺使學生對本課程的內容有一個整體統一的認識,用戶既可以在較短的時間內完成實驗內容,又可以做創新性實驗、設計性實驗,從而達到輔助教學的目的。 另外,傳統實驗是用示波器來觀察相應的圖形,與傳統實驗相比,此平臺的實驗結果更準確。 最后,只需要一臺計算機和MATLAB軟件即可,因此突破了傳統實驗模式中受時間地點限制的缺點。 4.基于MATLAB GUI的數字信號處理仿真平臺的實現 (1)軟件主界面 各界面的設計主要采用了靜態文本框、列表框、可編輯文本、面板和坐標軸等控件來實現一些功能。各個控件的功能通過編寫其相應的回調函數來實現。主界面是軟件開始運行的主要界面,如圖2所示。 (2)軟件子界面 數字信號處理在各子模塊的內容和分析過程雖有不同,但其設計思想基本類似,下面以快速傅立葉變換和FIR數字濾波器的設計為例。 1)快速傅立葉變換 在主界面中,點擊快速傅立葉變換及其應用,進入子模塊。只需要在界面輸入所需要的序列,點擊繪制,便能得到序列的FFT結果。 如圖3所示,當輸入x(n)={1;2;3;4;5;6;7;8}時。 2)FIR數字濾波器的設計 對該平臺完成控件布局之后,開始編制回調程序。該模塊的界面如圖4所示。 該模塊的主要功能有,可以采用窗函數和頻率采樣兩種方法來設計FIR濾波器,只要輸入濾波器的性能指標或是濾波器的傳遞函數,但可得到相應濾波器的幅頻響應和相頻響應。 輸入通帶截止頻率:0.2Hz,通帶內波動:1dB,阻帶截止頻率:0.4Hz,阻帶波動:30dB,即可得到濾波器的的幅頻響應及相頻響應圖。 在該系統中,每個模擬提供一個相對獨立的功能,可在交互界面中選擇不同的運行參數。 5.結論 此仿真平臺的制作是為了能夠更方便地進行數字信號處理的輔助教學,此平臺使得教學的內容更加直觀,理論知識更容易理解,所以能夠有效地提高教師授課的效率。通過此仿真平臺,不僅能夠激發學生對數字信號處理課程的學習興趣,還能夠加深對理論公式等知識的理解。此外,有了這樣一個可以在計算機上操作的仿真平臺,不僅使學生容易掌握那些比較抽象的數字信號處理知識的內容抽象,而且使教師的教學內容更形象化、生動化。本系統擁有友好的MATLAB GUI界面設計,用豐富的畫面、簡潔的文字將數字信號處理中抽象的實驗內容展現在學生面前,提高了學生的學習主動性和積極性。 |