李亞文
(商洛學(xué)院 電子信息與電氣工程學(xué)院,陜西 商洛 726000)
?
基于GUI的“信號(hào)與系統(tǒng)”實(shí)驗(yàn)教學(xué)平臺(tái)設(shè)計(jì)
李亞文
(商洛學(xué)院 電子信息與電氣工程學(xué)院,陜西 商洛 726000)
應(yīng)用可視化編程能力的圖形用戶界面GUI,設(shè)計(jì)了信號(hào)與系統(tǒng)的實(shí)驗(yàn)教學(xué)仿真平臺(tái),將實(shí)驗(yàn)內(nèi)容加載在子界面中,實(shí)現(xiàn)主界面與子界面的回調(diào)執(zhí)行。該實(shí)驗(yàn)仿真平臺(tái)克服硬件實(shí)驗(yàn)系統(tǒng)的局限性,采用層次化的設(shè)計(jì)方法,加深和拓寬實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)層次,增強(qiáng)了實(shí)驗(yàn)的靈活性。實(shí)驗(yàn)測(cè)試結(jié)果表明,該實(shí)驗(yàn)平臺(tái)界面友好、操作簡(jiǎn)單、參數(shù)設(shè)置方便,使學(xué)生可以在理解原理基礎(chǔ)上方便的完成實(shí)驗(yàn)內(nèi)容,也為信號(hào)系統(tǒng)的實(shí)驗(yàn)教學(xué)提供了更好的教學(xué)平臺(tái)。
信號(hào)與系統(tǒng); GUI; 頻譜分析; 回調(diào)函數(shù)
隨著計(jì)算機(jī)軟件技術(shù)和通信技術(shù)的不斷發(fā)展,人們對(duì)各種信號(hào)進(jìn)行快捷的處理要求也越來越高?!缎盘?hào)與系統(tǒng)》課程作為信號(hào)處理方面最基礎(chǔ)的課程也備受電子信息領(lǐng)域的學(xué)習(xí)者的重視,其實(shí)驗(yàn)內(nèi)容的學(xué)習(xí)是掌握基本信號(hào)性質(zhì),理解信號(hào)處理常用方法等方面不可缺少的部分。以前信號(hào)與系統(tǒng)實(shí)驗(yàn)?zāi)M是用硬件[1-3],對(duì)儀器和實(shí)驗(yàn)室的要求較高,有時(shí)候受儀器或操作不當(dāng)?shù)纫蛩氐挠绊?直接影響信號(hào)處理的實(shí)驗(yàn)結(jié)果。近些年,部分高校和研究機(jī)構(gòu)已經(jīng)使用軟件先對(duì)信號(hào)進(jìn)行前期的仿真處理[4-5],再使用硬件進(jìn)行實(shí)驗(yàn)。為了提高學(xué)生學(xué)習(xí)的熱情和積極性,需要應(yīng)用操作簡(jiǎn)單,直觀易懂的實(shí)驗(yàn)內(nèi)容去理解深?yuàn)W的理論知識(shí)。因此,大部分高校為了提高學(xué)生學(xué)習(xí)的學(xué)習(xí)興趣,在《信號(hào)系統(tǒng)》實(shí)驗(yàn)中廣泛使用MATLAB軟件進(jìn)行仿真[6-7]。當(dāng)前,GUI界面已經(jīng)廣泛應(yīng)用在手機(jī)通訊移動(dòng)產(chǎn)品、電腦操作平臺(tái)、軟件產(chǎn)品、PDA產(chǎn)品、數(shù)碼產(chǎn)品、車載系統(tǒng)產(chǎn)品、智能家電產(chǎn)品、產(chǎn)品的在線推廣等多個(gè)領(lǐng)域[8-9]。
本文應(yīng)用GUI平臺(tái)設(shè)計(jì)了《信號(hào)與系統(tǒng)》可視化的實(shí)驗(yàn)仿真平臺(tái),通過主界面和子界面的設(shè)計(jì)與相互回調(diào),可以方面學(xué)生學(xué)習(xí)。
實(shí)驗(yàn)平臺(tái)的界面布局是先設(shè)計(jì)GUI總界面,然后設(shè)計(jì)子界面,再在子界面上設(shè)置按鈕、坐標(biāo)軸、文本框等一系列控件,最后借助于callback函數(shù)調(diào)用程序[10]。在函數(shù)調(diào)用程序的設(shè)計(jì)中先編寫各個(gè)子界面中的回調(diào)函數(shù)下的程序,再編寫GUI界面的回調(diào)函數(shù)下的程序。
設(shè)計(jì)實(shí)現(xiàn)步驟分為四步,具體實(shí)現(xiàn)流程如圖1所示。
圖1 實(shí)驗(yàn)平臺(tái)設(shè)計(jì)實(shí)現(xiàn)步驟Fig.1The steps of experimental platform design and implementation
(1) 用MATLAB的GUIDE提供的創(chuàng)建圖形界面工具設(shè)計(jì)整個(gè)實(shí)驗(yàn)仿真界面的主界面,在設(shè)計(jì)子界面;
(2) 在實(shí)驗(yàn)子界面中添加各個(gè)控件對(duì)象,編寫控件按鈕回調(diào)函數(shù),實(shí)現(xiàn)每個(gè)控件的控制功能,直接通過界面上的控件實(shí)現(xiàn)對(duì)結(jié)果的分析;
(3) 最后編寫GUI總界面的回調(diào)函數(shù)程序,把所有的子界面集合在總界面中,通過總界面可以進(jìn)入任意子界面中并可以進(jìn)行操作;
(4) 退出實(shí)驗(yàn)界面。
信號(hào)與系統(tǒng)實(shí)驗(yàn)內(nèi)容繁多,本次教學(xué)平臺(tái)的設(shè)計(jì)將采用一個(gè)實(shí)驗(yàn)總界面與若干個(gè)子界面相互回調(diào),每個(gè)子界面都可以實(shí)現(xiàn)一個(gè)具體的《信號(hào)與系統(tǒng)》的實(shí)驗(yàn)內(nèi)容,并且可以切換為主界面,可以進(jìn)行另外一個(gè)實(shí)驗(yàn)內(nèi)容。
3.1 總界面的設(shè)計(jì)
在新建窗口中拖入七個(gè)靜態(tài)文本框(Statec Text)和七個(gè)按鈕(Push Button),設(shè)置靜態(tài)文本的String為“基于GUI的信號(hào)與系統(tǒng)仿真實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)”,Background Color為淺紅色,FontSize為28.0,Foreground Color位黑色。依次設(shè)置另外六個(gè)靜態(tài)文本框String為“實(shí)驗(yàn)一基本信號(hào)的產(chǎn)生”、“實(shí)驗(yàn)二信號(hào)的基本運(yùn)算”、“實(shí)驗(yàn)三卷積”、“實(shí)驗(yàn)四傅里葉變換”、“實(shí)驗(yàn)五連續(xù)系統(tǒng)零狀態(tài)響應(yīng)”、“實(shí)驗(yàn)六低通濾波器”這幾個(gè)實(shí)驗(yàn)的Fonsize為22.0,另外的六個(gè)按鈕依次設(shè)計(jì)的Fonsize為16.0,點(diǎn)擊每個(gè)實(shí)驗(yàn)后的按鈕編寫回調(diào)函數(shù)進(jìn)入相應(yīng)的實(shí)驗(yàn)子界面。圖2所示為具體的實(shí)驗(yàn)仿真平臺(tái)的主界面設(shè)計(jì)思路,主界面設(shè)計(jì)完成后的內(nèi)容實(shí)現(xiàn)如圖3所示。為了美化實(shí)驗(yàn)平臺(tái)總界面中可插入一些背景圖片(如添加學(xué)校 LOGO、風(fēng)景圖片)和背景音樂等。
3.2 子界面的設(shè)計(jì)
在總界面其相應(yīng)的位置編寫總界面跳轉(zhuǎn)到子界面的實(shí)現(xiàn)函數(shù)[11],如圖4所示為實(shí)驗(yàn)四傅里葉變換的子界面,子界面中的內(nèi)容跳轉(zhuǎn)與切換:
function pushbutton4_Callback(hObject,eventdata,handles)
圖2 實(shí)驗(yàn)平臺(tái)總界面的設(shè)計(jì)思路Fig.2 The designing ideas of total experimental platform
圖3 主界面內(nèi)容Fig.3 The contents of main-interface
圖4 子界面內(nèi)容Fig.4 The contents of Sub-interface
set(0,'CurrentFigure',jbxhdcs)
每一個(gè)子界面的設(shè)計(jì)包括由相應(yīng)每個(gè)控件的屬性和相應(yīng)的回調(diào)函數(shù)callback程序?qū)崿F(xiàn)其相應(yīng)的功能。在View Callback選項(xiàng)中選擇buttondownfcn,編寫回調(diào)函數(shù),選擇Static text按鈕設(shè)置控件屬性[12]。
(1) 方波傅里葉模塊。傅里葉原理的表明:任何連續(xù)的時(shí)域信號(hào),都是可以表示為不同頻率正弦波信號(hào)的無線疊加。而根據(jù)該原理創(chuàng)立的傅里葉變換算法,利用直接測(cè)量到原始信號(hào),以累加方式來計(jì)算該信號(hào)中的不同正弦波信號(hào)的頻率、振幅和相位。其中,圖5顯示了方波信號(hào)的傅立葉變換實(shí)現(xiàn),需要先對(duì)“方波傅立葉”按鈕進(jìn)行函數(shù)編寫,實(shí)現(xiàn)對(duì)輸入的信號(hào)進(jìn)行頻譜計(jì)算,設(shè)置方波信號(hào)的幅度和周期,另外一個(gè)功能就是進(jìn)行快速傅里葉變換。
圖5 方波傅里葉變換實(shí)驗(yàn)?zāi)KFig.5 The test module of fourier transform square wave
(2) 快速傅里葉模塊。如圖6所示,對(duì)模擬信號(hào)進(jìn)行快速傅立葉變換,
(3) 離散傅里葉模塊。對(duì)于非周期的信號(hào),我們需要用許多不同頻率的正弦曲線來表示,這對(duì)于計(jì)算機(jī)來說是不可能實(shí)現(xiàn)的。所以對(duì)于離散信號(hào)的變換也只有離散傅里葉變換才能被試用,對(duì)于計(jì)算機(jī)來說只有離散的與有限長(zhǎng)度的數(shù)據(jù)才能被處理,對(duì)于其它的變換類型只有在數(shù)學(xué)演算中才能用到,使用計(jì)算機(jī)計(jì)算信號(hào)頻譜,即:DFT方法。圖7顯示了對(duì)離散信號(hào)進(jìn)行頻譜計(jì)算、進(jìn)行傅里葉反變換,并且計(jì)算了快速傅里葉變換信號(hào)的頻譜。
圖6 快速傅立葉變換實(shí)驗(yàn)?zāi)KFig.6 The test module of fast fourier transform
圖7 離散傅里葉變換的實(shí)驗(yàn)?zāi)KFig.7 The test module of Discrete Fourier Transform
(1)設(shè)置主界面和子界面的兼容問題,解決方法:
① Gainvar();彈出子界面,在子界面中設(shè)置參數(shù)XDisp(x)輸出參數(shù);
② Close(gcf) Set(0,’CurrentFigure’,block_1);
③ 在按鈕下面的FCN下面調(diào)用子界面的函數(shù)編寫。
(2) 總界面和子界面的美化
ha=axes('units','normalized','position',[0 0 1 1]);uistack(ha,'down');
II=imread('shangyuan01.bmp');
image(II);
colormap gray;
set(ha,'handlevisibility','off','visible','off');
本文應(yīng)用可視化編程能力的圖形用戶界面GUI,設(shè)計(jì)了信號(hào)與系統(tǒng)實(shí)驗(yàn)課程的教學(xué)仿真平臺(tái),該系統(tǒng)將部分信號(hào)系統(tǒng)實(shí)驗(yàn)的內(nèi)容加載在系統(tǒng)界面中,結(jié)合了理論教學(xué)中的內(nèi)容,將總界面與子界面通過編寫不同的回調(diào)函數(shù)進(jìn)行鏈接,實(shí)現(xiàn)了圖形用戶界面人機(jī)交互式用戶界面,加深和拓寬實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)層次,增強(qiáng)了實(shí)驗(yàn)的靈活性,其實(shí)驗(yàn)平臺(tái)界面友好、操作簡(jiǎn)單、參數(shù)設(shè)置方便,方便學(xué)生對(duì)信號(hào)與系統(tǒng)的學(xué)習(xí),也為信號(hào)系統(tǒng)的實(shí)驗(yàn)教學(xué)提供了較好的教學(xué)平臺(tái)。
[1] 張春慧,宗哲英,王蒙,等.基于MATLAB GUI的自動(dòng)控制原理虛擬實(shí)驗(yàn)平臺(tái)的開發(fā)與研究[J].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,36(3):101-105.
ZHANG Chunhui,ZONG Zheying,et al.Research of automatic control theory virtual Laboeatory Based on MATLAB GUI[J].Journal of Inner Mongolia Agricultural University(Natural Science Edition),,2015,36(3):101-105.
[2] 范朋.基于QT的嵌入式Linux系統(tǒng)GUI的研究與實(shí)現(xiàn)[D].北京郵電大學(xué),2011.
FAN Peng.Rrseach and Implemention of Emeded Linux GUI Based on QT[D].Beijing University of Posts and Telecommunications,2011.
[3] 劉峰,段紅,熊慶旭,等.信號(hào)與系統(tǒng)實(shí)驗(yàn)教學(xué)改革[J].實(shí)驗(yàn)技術(shù)與管理,2008,25(3):118-120.
LIU Feng,DUAN Hong,XIONG Qingxu,et al.Reform of experiment teaching for signals and systems course [J].Experimental Technology and Management,2008,25(3):118-120.
[4] 靳曉艷.基于先進(jìn)信號(hào)處理方法的通信信號(hào)調(diào)制識(shí)別技術(shù)研究[D].西安電子科技大學(xué),2014.
QI Xiaoyan.Research on Communication Signals Modulation Recognition Based on Advanced Signal Processing Methods[D].Xidian University,2014.
[5] 秦輝,席裕庚.基于Matlab GUI的預(yù)測(cè)控制仿真平臺(tái)設(shè)計(jì)[J].系統(tǒng)仿真學(xué)報(bào),2006,10(18):2778-2781.
QIN Hui,XI Yugeng.Matlab GUI-Based Simulation Platform Design of Predictive Control[J].Journal of System Simulation,,2006,10(18):2778-2781.
[6] 杜世民,楊潤(rùn)萍.基于Matlab GUI的”信號(hào)與系統(tǒng)”教學(xué)仿真平臺(tái)開發(fā)[J].實(shí)驗(yàn)技術(shù)與理,2012,29(3)88-90.
YANG Shimin,YANG RuiPeng.Development of teaching simulation platform of Signal and Systems based on Matlab GUI [J].Experimental Technology and Management,2012,29(3)88-90.
[7] Steven T.Karris.Signals and Systems with MATLAB Com-puting and Simulink Modeling 4th Edition [M].Orchard Publications,2008.
[8] 奧本海姆.信號(hào)與系統(tǒng)(英文版第2版)[M].北京:電子工業(yè)出版社,2009.
Alan V.Oppenheim.Signals and systems(The second edition)[M].BeiJing:Publishing House of Electronics Industry,2009.
[9] 鄭君里,應(yīng)啟珩,楊為理,等.信號(hào)與系統(tǒng)(第三版)[M].北京:高等教育出版社,2011.
ZHENG Junli,YING Qihang,YANG Weili,et al.Signals
and systems(The third edition)[M].BeiJing:Higher Education Press,2011.
[10] 李亞文.基于MATLAB的離散系統(tǒng)分析[J].商洛學(xué)院學(xué)報(bào),2013,04(27):34-36,46.
LI Yawen.The Application of MATLAB on the Analysis of Discrete-time System[J].Journal of college of shangluo,2013,04(27):34-36,46.
[11] 鄔少飛.基于Matlab的信號(hào)與系統(tǒng)教學(xué)研究[J].電腦與電信,2013,13(11):70-73.
WU Shaofei.Research on the Teaching of the Course of“Signal and System”Based on MATLAB [J]Computer & Telecommunication,2013,13(11):70-73.
[12] 林霖,楊豐,張志德,等.基于Matlab的“信號(hào)與系統(tǒng)”課程演示軟件的應(yīng)用[J].電氣電子教學(xué)學(xué)報(bào),2009,31(51):98-100.
LIN Lin,YANG Feng,ZHANG Zhide,et al.Demo Software of Signals and Systems Based on Matlab [J]Journal of Electrical & Electronic Education,2009,31(51):98-100.
Design of Signal and System Teaching Experimentation Platform Based on GUI
LI Yawen
(Electronic information and electrical college of engineering,Shangluo University,Shangluo 726000,China)
The experiment simulation platform of the signal and system was designed with Graphical Interface GUI in this paper.The experimental contents were loaded in the sub-interface to achieve the implementation of the main interface and sub-callback interface.The experiment simulation platform can overcome the limitations of the hardware experimental system,and adopt the hierarchical design method,deepen and broaden the experimental contents and the experimental level,and enhance the flexibility of the experiment.The test results show that the experimental platform has friendly interface,simple operation and convenient parameter setting.So,students can easily understand the test content based on the principle.This platform also provides a better learning platform for the experimental teaching of signaling system.
signals and systems; graphical user interface; spectrum analysis; callback
李亞文 女(1984-),陜西華縣人,講師,主要研究方向?yàn)槟J阶R(shí)別與跟蹤、視頻圖像處理。
商洛學(xué)院科研項(xiàng)目(14SKY001)