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