陳敏歌
摘 要 本文以MATLAB作為開(kāi)發(fā)平臺(tái),設(shè)計(jì)了基于MATLAB的數(shù)字信號(hào)處理實(shí)驗(yàn)仿真平臺(tái),改變了傳統(tǒng)的授課方式,將數(shù)字信號(hào)處理的算法實(shí)驗(yàn)集中在一個(gè)平臺(tái)上,操作簡(jiǎn)單方便,結(jié)果直觀準(zhǔn)確。并采用友好的GUI界面設(shè)計(jì),用簡(jiǎn)潔的文字、豐富的畫(huà)面將抽象的內(nèi)容展現(xiàn)在學(xué)生面前,提高了學(xué)生的學(xué)習(xí)積極性和主動(dòng)性。
關(guān)鍵詞 數(shù)字信號(hào)處理 仿真實(shí)驗(yàn)平臺(tái) MATLAB GUI
中圖分類(lèi)號(hào):G434 文獻(xiàn)標(biāo)識(shí)碼:A
Using MATLAB to Enjoy Digital Signal Processing Classroom Teaching
CHEN Min'ge
(College of Science, Shaanxi University of Science & Technology, Xi'an, Shaanxi 710021)
Abstract This paper represents digital signal processing experiment simulation platform using MATLAB.It changes the traditional teaching methods and focuses the content on a platform. Operation is simple and convenient, and result is visual and accurate. MATLAB provides an open environment, highly functional graphical rendering. Toolbox and its features is easy to learn, which makes the system development simple and fast. The system uses a friendly GUI interface design, using simple language. Rich picture explaining the abstract content will be displayed in the front of the students to improve student's learning enthusiasm and initiative.
Key words digital signal processing; simulation experiment system; MATLAB; GUI
0 引言
《數(shù)字信號(hào)處理》是一門(mén)非常重要的課程,它闡述了離散信號(hào)的特性和時(shí)域離散系統(tǒng),通過(guò)對(duì)IIR和FIR濾波器的設(shè)計(jì),分析了數(shù)字信號(hào)處理的實(shí)現(xiàn)方法。但由于該課程概念多,公式、性質(zhì)的推導(dǎo)和證明繁瑣,還需其他相關(guān)課程的基礎(chǔ),被認(rèn)為大學(xué)課程中較難的課程之一。
現(xiàn)在很多教師在課堂上都采用了多媒體教學(xué),多媒體授課具有教學(xué)信息量大,信息傳遞便捷、交互性較強(qiáng)、感官刺激效果好等特點(diǎn)。但對(duì)于老師來(lái)說(shuō),要提高學(xué)生對(duì)這門(mén)課的認(rèn)識(shí),可從豐富教學(xué)手段入手,除了考慮制作具有動(dòng)態(tài)效果的幻燈片之外,還可采用MATLAB這樣的軟件設(shè)計(jì)多媒體課件,而利用MATLAB強(qiáng)大的數(shù)值計(jì)算和信號(hào)處理功能直觀地分析和比較系統(tǒng)的各項(xiàng)性能指標(biāo)以及各種設(shè)計(jì)方法的優(yōu)劣,方便學(xué)生理解算法和簡(jiǎn)化運(yùn)算。在此我們利用MATLAB的圖形用戶(hù)界面(GUI)為設(shè)計(jì)工具,設(shè)計(jì)了與實(shí)驗(yàn)內(nèi)容配套,與課堂教學(xué)相結(jié)合,將實(shí)驗(yàn)內(nèi)容融入教學(xué)過(guò)程中的教學(xué)實(shí)驗(yàn)輔助軟件。
1 基于MATLAB的教學(xué)平臺(tái)設(shè)計(jì)
對(duì)于該課程中所牽扯到的一些算法和實(shí)驗(yàn)繁多、復(fù)雜,許多實(shí)驗(yàn)還需要輸入?yún)?shù),如果將系統(tǒng)設(shè)計(jì)成一個(gè)界面,使得系統(tǒng)繁重、擁擠,不能夠?qū)崿F(xiàn)友好、美化的界面設(shè)計(jì)要求。因此,在設(shè)計(jì)界面的時(shí)候,采用一個(gè)主界面和若干子界面,每個(gè)子界面是一個(gè)模塊,實(shí)現(xiàn)一個(gè)實(shí)驗(yàn)或功能。設(shè)計(jì)界面總共包括八個(gè)模塊:開(kāi)始引導(dǎo)模塊、主界面模塊、序列計(jì)算與變換、典型序列產(chǎn)生模塊、DTFT的計(jì)算及應(yīng)用模塊、Z變換的應(yīng)用模塊、DFT的變換與應(yīng)用模塊、FIR濾波器設(shè)計(jì)模塊、IIR濾波器設(shè)計(jì)模塊。
發(fā)揮MATLAB中GUI的強(qiáng)大功能,將工具與編程相結(jié)合創(chuàng)建軟件界面。圖形界面的操作可通過(guò)執(zhí)行函數(shù)代碼來(lái)完成。把函數(shù)代碼放在一個(gè)自定義的M文件中,而在“callback”中只寫(xiě)上其文件名。當(dāng)操作該控件時(shí),系統(tǒng)會(huì)自動(dòng)執(zhí)行“callback”中所要求執(zhí)行的內(nèi)容,將子菜單界面所保存的文件名與主界面的菜單名關(guān)聯(lián)起來(lái),實(shí)現(xiàn)整個(gè)軟件平臺(tái)設(shè)計(jì)。
圖 1 平臺(tái)歡迎界面
圖 2 平臺(tái)主界面
設(shè)計(jì)中,我們力求界面簡(jiǎn)單,易操作。根據(jù)每個(gè)對(duì)象的句柄,找到對(duì)象(即圖形組件)的各項(xiàng)屬性,修改屬性,可得到不同的圖形效果。首先建立了一個(gè)靜態(tài)文本框,通過(guò)屬性設(shè)置可得到一個(gè)簡(jiǎn)單清晰的界面。建立兩個(gè)按鈕,進(jìn)行實(shí)驗(yàn)按鈕的回調(diào)函數(shù)設(shè)為SY_zjm,這樣當(dāng)點(diǎn)擊按鈕時(shí)會(huì)進(jìn)入主界面。關(guān)閉按鈕的回調(diào)函數(shù)中寫(xiě)入close,點(diǎn)擊時(shí)關(guān)閉該界面。系統(tǒng)歡迎界面和平臺(tái)主界面如圖1、圖2所示:
2 FIR濾波器的設(shè)計(jì)實(shí)驗(yàn)
圖3 FIR濾波器設(shè)計(jì)的界面
以有限脈沖響應(yīng)濾波器(FIR)設(shè)計(jì)為例,介紹使用該實(shí)驗(yàn)平臺(tái)設(shè)計(jì)理想的濾波器。如:理想低通濾波器的頻率特性應(yīng)為,振幅特性在通帶內(nèi)為1,阻帶內(nèi)為0。在通帶內(nèi)的相位特性與 成線(xiàn)性關(guān)系。
為了構(gòu)造特性接近理想低通濾波器的實(shí)際濾波器,選擇不同的窗類(lèi)型和窗長(zhǎng)度,從圖3中可以清楚看到三種不同的窗函數(shù)的設(shè)計(jì)效果。實(shí)驗(yàn)運(yùn)行結(jié)果,如圖3所示。
3 結(jié)論
經(jīng)過(guò)一個(gè)學(xué)期的教學(xué)實(shí)踐,我們發(fā)現(xiàn):利用MATLAB的強(qiáng)大功能制作的仿真實(shí)驗(yàn)平臺(tái)在很大程度上方便了課堂教學(xué),使教學(xué)內(nèi)容更直觀,理論知識(shí)和數(shù)學(xué)公式更易于理解,從而有效地提高教師的授課效率。同時(shí)虛擬仿真實(shí)驗(yàn)與傳統(tǒng)模擬實(shí)驗(yàn)相結(jié)合,有助于改善教學(xué)的薄弱環(huán)節(jié),并可以作為實(shí)驗(yàn)內(nèi)容的補(bǔ)充,激發(fā)了學(xué)員學(xué)習(xí)興趣,加深了對(duì)理論知識(shí)的理解。同時(shí),MATLAB語(yǔ)言簡(jiǎn)單易學(xué)、上手快,通過(guò)課堂學(xué)習(xí)和實(shí)驗(yàn)操作,學(xué)生能夠很快掌握并且也能自己編寫(xiě)一些小程序。
參考文獻(xiàn)
[1] 陳懷琛等.MATLAB及在電子信息課程中的應(yīng)用[M].北京:電子工業(yè)出版社,2002.
[2] [美]Vinay K.Ingle,John G.Proakis.數(shù)字信號(hào)處理—應(yīng)用MATLAB(英文影印版)[M].科學(xué)出版社,2003.