張 林, 王艷芬, 張曉光, 蘆楠楠
(中國礦業(yè)大學(xué) 信息與電氣工程學(xué)院, 江蘇 徐州 221116)
基于Matlab GUI的數(shù)字信號(hào)處理演示平臺(tái)設(shè)計(jì)
張 林, 王艷芬, 張曉光, 蘆楠楠
(中國礦業(yè)大學(xué) 信息與電氣工程學(xué)院, 江蘇 徐州 221116)
利用Matlab GUI設(shè)計(jì)并發(fā)布了可獨(dú)立運(yùn)行的數(shù)字信號(hào)處理課程的實(shí)驗(yàn)演示平臺(tái)。該平臺(tái)涵蓋離散時(shí)間信號(hào)與系統(tǒng)的時(shí)域分析和頻域分析、數(shù)字濾波器系統(tǒng)設(shè)計(jì)兩大模塊,實(shí)現(xiàn)了數(shù)字信號(hào)處理課程中核心教學(xué)內(nèi)容的交互式實(shí)時(shí)動(dòng)態(tài)仿真。課堂使用結(jié)果表明,該平臺(tái)具有界面友好、便于使用、參數(shù)可變、驗(yàn)證結(jié)果正確等特點(diǎn),各章節(jié)模塊間邏輯結(jié)構(gòu)清晰、更利于提高課堂授課的效果及學(xué)生對(duì)核心知識(shí)的理解。
數(shù)字信號(hào)處理; 演示平臺(tái); Matlab GUI
“數(shù)字信號(hào)處理”課程是高校信息類專業(yè)非常重要的專業(yè)基礎(chǔ)課。該課程知識(shí)體系嚴(yán)謹(jǐn)、概念抽象、理論推導(dǎo)繁瑣復(fù)雜、理論與實(shí)際聯(lián)系緊密。目前,大多數(shù)的高校在進(jìn)行數(shù)字信號(hào)處理課程教學(xué)中都采用理論講解與Matlab多媒體演示相結(jié)合的方式,盡力使抽象的理論知識(shí)具體化、形象化,以加深學(xué)生對(duì)課程內(nèi)容的掌握[1-6]。因此,在數(shù)字信號(hào)處理課程的教學(xué)中,如何規(guī)劃和設(shè)計(jì)交互性強(qiáng)、執(zhí)行方便的多媒體演示平臺(tái),一直是有待解決的問題。本文結(jié)合中國礦業(yè)大學(xué)目前正在進(jìn)行的“數(shù)字信號(hào)處理”課程雙語教學(xué)改革,利用Matlab的圖形用戶接口(graphic user interface,GUI),以數(shù)字信號(hào)處理理論知識(shí)為基礎(chǔ),基于英語和Matlab GUI開發(fā)了數(shù)字信號(hào)處理演示平臺(tái)。該平臺(tái)既可用于數(shù)字信號(hào)處理課程的課堂教學(xué)演示和實(shí)驗(yàn)輔助教學(xué),也可作為學(xué)生課后自學(xué)平臺(tái),使課堂教學(xué)和實(shí)驗(yàn)教學(xué)相輔相成。
1.1 演示平臺(tái)結(jié)構(gòu)
數(shù)字信號(hào)處理演示平臺(tái)涵蓋離散時(shí)間信號(hào)與系統(tǒng)的時(shí)域分析和頻域分析、數(shù)字濾波器系統(tǒng)設(shè)計(jì)兩大模塊,其中數(shù)字濾波器系統(tǒng)設(shè)計(jì)包括無限長(zhǎng)數(shù)字響應(yīng)濾波器(IIR)和有限長(zhǎng)數(shù)字響應(yīng)濾波器(FIR)的設(shè)計(jì)[7-9]。
在數(shù)字信號(hào)處理演示平臺(tái)的設(shè)計(jì)中,每個(gè)知識(shí)模塊的界面設(shè)計(jì)都包含兩部分內(nèi)容:GUI界面和回調(diào)函數(shù)。GUI界面框架設(shè)計(jì)是利用Matlab用戶界面提供的不同控件對(duì)界面進(jìn)行設(shè)計(jì);回調(diào)函數(shù)則根據(jù)界面設(shè)計(jì)實(shí)現(xiàn)相應(yīng)的功能,數(shù)字信號(hào)處理的功能均需在控件的回調(diào)函數(shù)中實(shí)現(xiàn)。
1.2 主界面設(shè)計(jì)
該演示平臺(tái)的設(shè)計(jì)分為引導(dǎo)界面和演示主界面兩個(gè)部分。其中,引導(dǎo)界面分為課程引導(dǎo)界面(見圖1)和章節(jié)引導(dǎo)界面。點(diǎn)擊課程引導(dǎo)界面上的“Enter”按鈕,將進(jìn)入章節(jié)引導(dǎo)界面;點(diǎn)擊 “Exit” 按鈕,則關(guān)閉整個(gè)演示系統(tǒng)。在章節(jié)引導(dǎo)界面中,選擇相應(yīng)的章節(jié)實(shí)驗(yàn)內(nèi)容,則進(jìn)入對(duì)應(yīng)的實(shí)驗(yàn)演示子界面。
圖1 演示平臺(tái)課程引導(dǎo)界面
1.3 子界面設(shè)計(jì)
根據(jù)實(shí)驗(yàn)內(nèi)容的不同設(shè)計(jì)了不同的子界面。以離散傅里葉變換和序列傅里葉變換的關(guān)系實(shí)驗(yàn)為例,離散傅里葉變換實(shí)際上是序列傅里葉變換在(0,2π]上的等間隔采樣值。按照設(shè)計(jì)思路,在GUI設(shè)計(jì)界面中添加相應(yīng)的控件,包括3個(gè)靜態(tài)文本框、3個(gè)可編輯文本框、2個(gè)按鈕和4個(gè)軸對(duì)象控件,分別用于輸入信號(hào)參數(shù)、顯示序列傅里葉變換和離散傅里葉變換之后的幅度譜和相位譜,如圖2所示。為使用方便,可編輯的文本框均可以賦予初值,供使用者參考;使用者也可根據(jù)需要,自行輸入數(shù)值。點(diǎn)擊“plot x(n)”按鈕時(shí),軸對(duì)象axesPlot5顯示待分析信號(hào)的波形;點(diǎn)擊“DTFT”按鈕時(shí),軸對(duì)象axesPlot1和axesPlot2分別顯示待分析信號(hào)的序列傅里葉變換的幅度譜和相位譜;點(diǎn)擊“DFT”按鈕時(shí),軸對(duì)象axesPlot3和axesPlot4分別顯示待分析信號(hào)的離散傅里葉變換的幅度譜和相位譜[10-11]。
圖2 離散傅里葉變換和序列傅里葉變換的關(guān)系實(shí)驗(yàn)界面
界面設(shè)計(jì)完成后,需要對(duì)演示平臺(tái)進(jìn)行測(cè)試和驗(yàn)證,以保證該平臺(tái)能夠?qū)崿F(xiàn)預(yù)期的功能[12]。
2.1 離散時(shí)間和系統(tǒng)的時(shí)域分析
離散時(shí)間和系統(tǒng)的時(shí)域分析實(shí)驗(yàn)中包含序列傅里葉分析實(shí)驗(yàn)、序列的卷積運(yùn)算實(shí)驗(yàn)以及單位脈沖響應(yīng)實(shí)驗(yàn)。以下為序列的卷積運(yùn)算實(shí)驗(yàn)驗(yàn)證示例。
序列x(n)={3,2,1},h(n)={2,1,1},則:
y(n)=x(n)*h(n)={6,7,7,3,1},如圖3所示。
圖3 序列的卷積運(yùn)算實(shí)驗(yàn)頁面
2.2 離散時(shí)間和系統(tǒng)的頻域分析
離散時(shí)間和系統(tǒng)的頻域分析實(shí)驗(yàn)包含系統(tǒng)的零極點(diǎn)分析實(shí)驗(yàn)和2個(gè)序列傅里葉分析案例。以其中的一個(gè)序列傅里葉分析實(shí)驗(yàn)為例。
描述線性時(shí)不變系統(tǒng)的差分方程為
a0y(n)+a1y(n-1)+a2y(n-2)=
b0x(n)+b1x(n-1)+b2x(n-2)
假設(shè)a={1,-0.5,0.25},b={1,2,1},則系統(tǒng)的單位脈沖響應(yīng)、幅頻和相頻特性如圖4(a)所示。若在此系統(tǒng)中輸入:
x1(n)=[5+3cos(0.2πn)+4sin(0.3πn)]u(n)
系統(tǒng)的輸出如圖4(b)所示。改變輸入信號(hào)的頻率f1、f2和幅度A0、A1、A2,則可以得到不同的輸出信號(hào)。
圖4 離散時(shí)間傅里葉變換實(shí)例驗(yàn)證實(shí)驗(yàn)
2.3 離散傅里葉變換
離散傅里葉變換章節(jié)的實(shí)驗(yàn)包括DTFT和DFT關(guān)系實(shí)驗(yàn)及DFT案例實(shí)驗(yàn)。以DTFT和DFT關(guān)系實(shí)驗(yàn)為例,其界面設(shè)計(jì)如1.3節(jié)中描述。假設(shè)4點(diǎn)的序列為x(n),其DTFT和4點(diǎn)DFT分析的結(jié)果如圖5所示??梢钥闯?DFT可以看作是DTFT在區(qū)間[0,2π)上的等間隔采樣。
圖5 DTFT和DFT關(guān)系實(shí)驗(yàn)驗(yàn)證
2.4 IIR數(shù)字濾波器的設(shè)計(jì)
IIR數(shù)字濾波器設(shè)計(jì)章節(jié)的實(shí)驗(yàn)主要包括脈沖響應(yīng)不變法、雙線性變換法以及頻率轉(zhuǎn)換法設(shè)計(jì)濾波器3個(gè)實(shí)驗(yàn)案例。以脈沖響應(yīng)不變法設(shè)計(jì)濾波器實(shí)驗(yàn)為例。假設(shè)巴特沃斯數(shù)字低通濾波器的通帶截止頻率fp=0.1 kHz,通帶最大衰減Rp=1 dB,阻帶截止頻率fs=0.3 kHz,阻帶最小衰減Rs=10 dB。設(shè)置好參數(shù)之后,點(diǎn)擊“AF”按鈕,則首先設(shè)計(jì)出符合參數(shù)要求的模擬濾波器;點(diǎn)擊“DF”按鈕,則對(duì)模擬濾波器在時(shí)域進(jìn)行周期延拓,得到符合參數(shù)要求的數(shù)字濾波器??梢钥闯?由于脈沖響應(yīng)不變法對(duì)模擬濾波器的單位脈沖響應(yīng)進(jìn)行了時(shí)域的周期延拓,導(dǎo)致其頻譜出現(xiàn)了周期混疊現(xiàn)象,在圖6所示的演示結(jié)果中,設(shè)計(jì)的數(shù)字濾波器出現(xiàn)了混疊失真。
圖6 脈沖響應(yīng)不變法設(shè)計(jì)數(shù)字濾波器實(shí)驗(yàn)頁面
2.5 FIR數(shù)字濾波器的設(shè)計(jì)
FIR數(shù)字濾波器的設(shè)計(jì)章節(jié)的實(shí)驗(yàn)主要包括窗函數(shù)設(shè)計(jì)法和頻率采樣法設(shè)計(jì)數(shù)字濾波器兩個(gè)實(shí)驗(yàn)案例。以窗函數(shù)設(shè)計(jì)法實(shí)驗(yàn)為例。假設(shè)低通FIR數(shù)字濾波器的截止頻率ωc=0.2π,函數(shù)窗長(zhǎng)度N=11。本演示平臺(tái)中,可選擇rectangle window、Hanning window和Blackman window等3種窗函數(shù)完成設(shè)計(jì)。選擇相應(yīng)的函數(shù)窗之后,即可得到使用相應(yīng)窗函數(shù)設(shè)計(jì)的濾波器的幅頻特性,如圖7所示。
圖7 窗函數(shù)法設(shè)計(jì)數(shù)字濾波器實(shí)驗(yàn)頁面
目前,在數(shù)字信號(hào)處理課程的課堂教學(xué)中,多媒體的使用已非常普及。但是教師要進(jìn)行隨堂演示,通常要求教室的教學(xué)設(shè)備預(yù)先安裝Matlab,或者隨堂攜帶筆記本電腦,使用不夠方便。學(xué)生想要通過演示程序加深理解,若是直接面對(duì)源碼,勢(shì)必?fù)p失一些獨(dú)立思考的機(jī)會(huì)。因此,若能將演示平臺(tái)打包成獨(dú)立運(yùn)行的可執(zhí)行文件發(fā)布,將對(duì)課堂教學(xué)及學(xué)生課后復(fù)習(xí)有更好的效果。
Matlab編譯器可將m文件直接編譯為可獨(dú)立使用的.exe可執(zhí)行文件發(fā)布,程序的運(yùn)行不再依賴于
Matlab仿真環(huán)境,且執(zhí)行速度優(yōu)于原m文件[13-14]。因此,本文將上述文件打包發(fā)布,目前維護(hù)的是v1.2版本。
基于Matlab GUI的數(shù)字信號(hào)處理演示平臺(tái)涵蓋了數(shù)字信號(hào)處理課程的核心知識(shí),便于使用,是相關(guān)課程及實(shí)驗(yàn)的輔助教學(xué)系統(tǒng)。一方面,教師在課堂講授時(shí)可通過交互的方式對(duì)課程中的概念和原理進(jìn)行實(shí)時(shí)仿真,形象、具體地展示課程中抽象的理論知識(shí),充分激發(fā)學(xué)生的學(xué)習(xí)興趣;另一方面,學(xué)生可在該平臺(tái)改變輸入?yún)?shù),理解并掌握各種信號(hào)及系統(tǒng)的分析方法,輔助理論知識(shí)的學(xué)習(xí)。
References)
[1] 王艷芬,張曉光,李劍.加強(qiáng)Matlab實(shí)驗(yàn)環(huán)節(jié),促進(jìn)研究性課程教學(xué)改革[J].實(shí)驗(yàn)技術(shù)與管理,2010,27(11):111-113.
[2] 王艷芬,張曉光.Matlab實(shí)踐在《數(shù)字信號(hào)處理》教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)科學(xué)與技術(shù),2012,10(5):108-110.
[3] 劉艷.基于MATLAB GUI的數(shù)字信號(hào)處理仿真平臺(tái)的設(shè)計(jì)[J].電子世界,2013(17):133-134.
[4] 李強(qiáng),明艷,陳前斌,等.基于Matlab的數(shù)字信號(hào)處理實(shí)驗(yàn)仿真系統(tǒng)的實(shí)現(xiàn)[J].實(shí)驗(yàn)技術(shù)與管理,2006,23(5):81-83.
[5] 王艷芬,史良.基于MATLAB軟件環(huán)境的《數(shù)字信號(hào)處理》課程新實(shí)驗(yàn)開發(fā)[J].實(shí)驗(yàn)技術(shù)與管理,2002,19(3):61-63.
[6] 劉文斐.基于Matlab的“數(shù)字信號(hào)處理”探究式教學(xué)[J].電氣電子教學(xué)學(xué)報(bào),2014,36(5):108-110.
[7] Oppenheim A V, Schafer R W, Buck J R. Discrete-time signal processing[M].New Jersey:Prentice hall Englewood Cliffs,1989.
[8] McClellan J H, Shafer R W,Yoder M A. DSP first: A multimedia approach[M].New Jersey:Prentice Hall PTR,1997.
[9] 王艷芬,王剛,張曉光,等.數(shù)字信號(hào)處理原理及實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2008.
[10] 李文磊,劉士榮,陳征,等.MATLAB在自動(dòng)控制理論實(shí)驗(yàn)中的應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2006,23(2):68-71.
[11] 張鳴,閆紅梅.基于Matlab GUI的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2016,33(1):100-103.
[12] 陳懷琛.數(shù)字信號(hào)處理教程:MATLAB釋義與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2008.
[13] 張衛(wèi)山,尚劍鋒,劉雪林,等.基于MATLAB GUI的波動(dòng)光學(xué)仿真平臺(tái)[J].大學(xué)物理實(shí)驗(yàn),2013,26(3):85-87.
[14] 張力.MATLAB在語音信號(hào)處理輔助教學(xué)中的應(yīng)用[J].電氣電子教學(xué)學(xué)報(bào),2005,27(2):96-99.
Design of presentation platform of digital signal processing based on matlab GUI
Zhang Lin, Wang Yanfen, Zhang Xiaoguang, Lu Nannan
(School of Information and Electrical Engineering, China University of Mining and Technology, Xuzhou 221116, China)
The presentation platform of digital signal processing is developed based on Matlab GUI, which can operate independently. It covers both the time domain and frequency domain analysis of discrete time signals and systems, as well as the design of digital filter systems. It provides the dynamic interactive simulation for the key contents for the course. The practice shows that this platform is friendly interface developed and easy to use. It also allows users to change parameters in each experiment, and gets reasonable validation results. It shows clear logical relations between one chapter and another chapter, which helps to improve the performance of class.
digital signal processing; presentation platform; Matlab GUI
10.16791/j.cnki.sjg.2016.12.038
2016-06-19
江蘇省高等教育教改研究立項(xiàng)課題(2015JSJG275)資助;教育部第六批國家特色專業(yè)建設(shè)項(xiàng)目(TS1Z293)資助;中國礦業(yè)大學(xué)教育教學(xué)改革與建設(shè)項(xiàng)目(2014YB14)資助
張林(1981—),女,江蘇海安,博士,副教授,主要研究方向?yàn)閿?shù)字信號(hào)處理、生物信息處理.
E-mail:lin.zhang@cumt.edu.cn
TN911.72
: A
: 1002-4956(2016)12-0154-04