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