摘要:由于信號(hào)處理具有內(nèi)容繁多、概念抽象、設(shè)計(jì)復(fù)雜等特點(diǎn),學(xué)生在學(xué)習(xí)時(shí)常常會(huì)感到枯燥,難以理解和掌握。為了提高學(xué)生學(xué)習(xí)的興趣,更好地理解和掌握知識(shí),開(kāi)發(fā)了一個(gè)信號(hào)處理實(shí)驗(yàn)軟件。MATLAB具有編程簡(jiǎn)潔高效,編譯、鏈接和運(yùn)行速度快等優(yōu)點(diǎn),采用MATLAB的圖形用戶界面設(shè)計(jì)功能,開(kāi)發(fā)出了各個(gè)實(shí)驗(yàn)界面。在該實(shí)驗(yàn)軟件中,集成了信號(hào)處理中的多個(gè)實(shí)驗(yàn),應(yīng)用效果良好。
關(guān)鍵詞:信號(hào)處理;MATLAB;圖形用戶界面;實(shí)驗(yàn)軟件
引言
信號(hào)處理類(lèi)課程是高等院校電氣信息學(xué)科學(xué)生的必修課程,它不僅是電類(lèi)專(zhuān)業(yè)和信息類(lèi)專(zhuān)業(yè)的一門(mén)專(zhuān)業(yè)基礎(chǔ)課程,而且也是工科學(xué)生受益較多的一門(mén)課程。但是這類(lèi)課程的許多理論都基于繁瑣的數(shù)學(xué)理論和數(shù)學(xué)推導(dǎo),因此容易使學(xué)生感到乏味。為了提高學(xué)生學(xué)習(xí)的效率,需要借助實(shí)驗(yàn)手段來(lái)幫助學(xué)生理解課堂所學(xué)理論。
MATLAB是有美國(guó)MathWorks公司推出的一個(gè)為工程計(jì)算和數(shù)據(jù)分析而專(zhuān)門(mén)設(shè)計(jì)的高級(jí)交互式軟件包,利用它能容易地解決在系統(tǒng)仿真領(lǐng)域教學(xué)與研究中遇到的問(wèn)題;不僅如此,它還提供了用戶可編程設(shè)計(jì)的圖形用戶界面(Graphical UserInterface,簡(jiǎn)寫(xiě)為GUI)設(shè)計(jì)工具,為課堂實(shí)驗(yàn)教學(xué)和實(shí)驗(yàn)仿真提供了十分有效的手段?;诖耍疚睦肕ATLAB的可視化圖形用戶界面(GuI)工具,設(shè)計(jì)實(shí)驗(yàn)系統(tǒng)的圖形用戶界面的總體結(jié)構(gòu)。本系統(tǒng)能夠用于完成相關(guān)的信號(hào)處理實(shí)驗(yàn)。
1 設(shè)計(jì)的基本內(nèi)容
本設(shè)計(jì)有以下特點(diǎn):
(1)具有序列的基本計(jì)算、基本信號(hào)的產(chǎn)生、數(shù)據(jù)采集、卷積、傅里葉變換、z變換以及FIR和IIR濾波器等功能。
(2)界面可視性強(qiáng),操作簡(jiǎn)單方便。
(3)具有數(shù)據(jù)輸入輸出、圖形輸出、數(shù)據(jù)修改和文件保存、打印等功能,系統(tǒng)內(nèi)容豐富,實(shí)驗(yàn)效率高,結(jié)果直觀易懂、便于分析。
(4)系統(tǒng)易于擴(kuò)展新的實(shí)驗(yàn)項(xiàng)目。
2 系統(tǒng)總體設(shè)計(jì)步驟
在本系統(tǒng)的設(shè)計(jì)中,界面布局設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法,即先設(shè)計(jì)引導(dǎo)界面和主界面,再設(shè)計(jì)各個(gè)實(shí)驗(yàn)子界面。界面設(shè)計(jì)完成后,只是一些靜態(tài)的畫(huà)面而已,沒(méi)有什么內(nèi)涵,還不能用于實(shí)驗(yàn)操作,要想達(dá)到實(shí)驗(yàn)?zāi)康?,必須借助于函?shù)調(diào)用。在設(shè)計(jì)中,各個(gè)回調(diào)函數(shù)的編寫(xiě)順序則是采用自底向上的設(shè)計(jì)方法,即先編制各個(gè)實(shí)驗(yàn)子界面的回調(diào)函數(shù),再編寫(xiě)主界面和引導(dǎo)界面的回調(diào)函數(shù)。
其設(shè)計(jì)的具體步驟如下:
(1)運(yùn)用MATLAB的圖形用戶界面(GuI)設(shè)計(jì)方法,設(shè)計(jì)整個(gè)實(shí)驗(yàn)系統(tǒng)的開(kāi)始引導(dǎo)界面、實(shí)驗(yàn)主界面及其實(shí)現(xiàn)信號(hào)處理課程中具體實(shí)驗(yàn)的各個(gè)子界面;
(2)運(yùn)用MATLAB的圖形用戶界面(GUD設(shè)計(jì)方法,設(shè)計(jì)系統(tǒng)的說(shuō)明界面及其各個(gè)實(shí)驗(yàn)的說(shuō)明界面;
(3)分別編寫(xiě)各個(gè)子界面的各個(gè)控件對(duì)象的回調(diào)函數(shù),來(lái)實(shí)現(xiàn)控件相應(yīng)控制功能,達(dá)到直接通過(guò)界面上各個(gè)控件就可以控制數(shù)據(jù)的輸入輸出,并可以方便地對(duì)實(shí)驗(yàn)結(jié)果的數(shù)據(jù)及其圖形進(jìn)行讀取和分析的目的;
(4)編寫(xiě)主界面的回調(diào)函數(shù),將各個(gè)實(shí)驗(yàn)子界面整合在信號(hào)處理系統(tǒng)實(shí)驗(yàn)主界面中,即通過(guò)主界面就可以進(jìn)入任何一個(gè)實(shí)驗(yàn)子界面進(jìn)行實(shí)驗(yàn);
(5)編寫(xiě)開(kāi)始引導(dǎo)界面的回調(diào)函數(shù),實(shí)現(xiàn)從引導(dǎo)界面直接進(jìn)入主界面。
3 實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)
3.1 實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)
本實(shí)驗(yàn)系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)由兩部分組成:界面模塊設(shè)計(jì)和菜單模塊設(shè)計(jì)。其中,界面模塊總共包括十個(gè)模塊:開(kāi)始引導(dǎo)模塊、主模塊、說(shuō)明模塊、序列基本計(jì)算模塊、基本信號(hào)的產(chǎn)生模塊、數(shù)據(jù)采集模塊、卷積模塊、傅里葉變換模塊、z變換模塊、濾波器設(shè)計(jì)模塊。一些實(shí)驗(yàn)界面模塊下面又有下一級(jí)實(shí)驗(yàn)界面模塊,如濾波器設(shè)計(jì)模塊下面還有FIR濾波器設(shè)計(jì)模塊和IIR濾波器設(shè)計(jì)模塊,其中FIR濾波器模塊又包含F(xiàn)IR濾波器線性的判斷實(shí)驗(yàn)界面、窗函數(shù)的頻率響應(yīng)實(shí)驗(yàn)界面和FIR濾波器的設(shè)計(jì)實(shí)驗(yàn)界面;IIR濾波器模塊又包含完全I(xiàn)IR濾波器的設(shè)計(jì)實(shí)驗(yàn)界面和典型ILR濾波器實(shí)驗(yàn)界面;主界面中還包含了說(shuō)明模塊。在菜單設(shè)計(jì)時(shí),在實(shí)驗(yàn)子界面中除使用系統(tǒng)約定的菜單條外,還增加了幾個(gè)控制背景和退出實(shí)驗(yàn)的菜單;引導(dǎo)界面中不使用菜單;主界面中將所有實(shí)驗(yàn)項(xiàng)目做成菜單的形式,只要通過(guò)選擇相應(yīng)的菜單選項(xiàng),就可以進(jìn)入實(shí)驗(yàn)。
系統(tǒng)的整體結(jié)構(gòu)如圖1所示。
3.2 實(shí)驗(yàn)系統(tǒng)的實(shí)現(xiàn)
沒(méi)計(jì)出的主界面是用于進(jìn)入信號(hào)處理各個(gè)實(shí)驗(yàn)子界面的。它使用菜單及其一些按鈕控件來(lái)實(shí)現(xiàn),將各個(gè)實(shí)驗(yàn)子界面有機(jī)地聯(lián)系到一起,使界面美觀,易于操作。實(shí)驗(yàn)系統(tǒng)主界面如圖2所示。
在圖2界面中,用戶可以通過(guò)選擇菜單中相應(yīng)的項(xiàng),進(jìn)入相應(yīng)的實(shí)驗(yàn)界面來(lái)進(jìn)行實(shí)驗(yàn)??梢赃M(jìn)行的實(shí)驗(yàn)包括以下幾種:序列的基本計(jì)算、基本信號(hào)的產(chǎn)生、數(shù)據(jù)采集、卷積、傅里葉變換、z變換、FIR及IIR濾波器的設(shè)計(jì)等。此外,界面上還設(shè)計(jì)有各個(gè)實(shí)驗(yàn)的簡(jiǎn)要說(shuō)明控件,用戶在進(jìn)行實(shí)驗(yàn)之前,可以先單擊相應(yīng)的說(shuō)明控件,來(lái)閱讀相關(guān)實(shí)驗(yàn)的簡(jiǎn)要信息。
4 結(jié)束語(yǔ)
使用本實(shí)驗(yàn)軟件,學(xué)生基本上可以完成信號(hào)處理中主要的實(shí)驗(yàn)內(nèi)容。學(xué)生只需在相應(yīng)的編輯框中輸入相應(yīng)的實(shí)驗(yàn)控制參數(shù),就可以在輸出框及圖形框中獲得相應(yīng)的實(shí)驗(yàn)結(jié)果,從而可以方便地對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析;還可以對(duì)輸入數(shù)據(jù)進(jìn)行修改,可在一個(gè)界面中輸入不同控制參數(shù)來(lái)進(jìn)行反復(fù)實(shí)驗(yàn)。此外,各實(shí)驗(yàn)界面中還設(shè)計(jì)有菜單選項(xiàng),學(xué)生可以通過(guò)菜單對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行打印和保存等。設(shè)計(jì)出的實(shí)驗(yàn)系統(tǒng),成功地應(yīng)用到信號(hào)處理的實(shí)驗(yàn)教學(xué)中,激發(fā)了學(xué)生學(xué)習(xí)的興趣,提高了教學(xué)效果。