信號(hào)與系統(tǒng)課程是電子信息類專業(yè)重要的專業(yè)基礎(chǔ)課,它以高等數(shù)學(xué)、線性代數(shù)、電路分析以及工程數(shù)學(xué)等課程為基礎(chǔ),同時(shí)又是后續(xù)如通信原理、數(shù)字信號(hào)處理以及研究生階段現(xiàn)代數(shù)字信號(hào)處理、隨機(jī)信號(hào)分析等專業(yè)課程的基礎(chǔ),在整個(gè)專業(yè)教育體系中起著承上啟下的作用。該課程理論性強(qiáng)、概念抽象且難以理解、公式推導(dǎo)復(fù)雜計(jì)算繁瑣、實(shí)驗(yàn)內(nèi)容豐富等特點(diǎn),使得其成為一門(mén)數(shù)學(xué)方法、專業(yè)理論和工程應(yīng)用密切相結(jié)合的課程。因此,教學(xué)效果成敗的關(guān)鍵不在于學(xué)生認(rèn)識(shí)和記憶了多少定義定理的條文,而應(yīng)注重正確引導(dǎo)學(xué)生運(yùn)用數(shù)學(xué)工具分析典型的實(shí)際問(wèn)題。
實(shí)驗(yàn)教學(xué)是該課程理論學(xué)習(xí)中必不可少的部分。但是,在實(shí)驗(yàn)教學(xué)中面臨很多問(wèn)題,諸如高校需要花費(fèi)大量的經(jīng)費(fèi)購(gòu)置實(shí)驗(yàn)儀器;硬件實(shí)驗(yàn)儀器易于損壞、操作復(fù)雜、中間過(guò)程可視性差等。虛擬實(shí)驗(yàn)技術(shù)的出現(xiàn)使上述問(wèn)題迎刃而解。虛擬實(shí)驗(yàn)是指借助于多媒體、仿真和虛擬現(xiàn)實(shí)等技術(shù)在計(jì)算機(jī)上營(yíng)造可輔助、部分替代甚至全部替代傳統(tǒng)實(shí)驗(yàn)各操作環(huán)節(jié)的相關(guān)軟硬件操作環(huán)境,實(shí)驗(yàn)者可以像在真實(shí)的環(huán)境中一樣完成各種實(shí)驗(yàn)項(xiàng)目,所取得的實(shí)驗(yàn)效果等價(jià)于甚至優(yōu)于在真實(shí)環(huán)境中所取得的效果。虛擬實(shí)驗(yàn)建立在一個(gè)虛擬的實(shí)驗(yàn)環(huán)境(平臺(tái)仿真)之上,并且注重實(shí)驗(yàn)操作的交互性和實(shí)驗(yàn)結(jié)果的仿真性。虛擬實(shí)驗(yàn)是現(xiàn)代實(shí)驗(yàn)教學(xué)的發(fā)展模式,它能夠有效地補(bǔ)充和完善硬件實(shí)驗(yàn),緩解實(shí)驗(yàn)設(shè)備不足和滯后等問(wèn)題;允許出現(xiàn)誤操作,獲得“零”維護(hù)保障,便于開(kāi)展設(shè)計(jì)型、綜合型實(shí)驗(yàn);二次開(kāi)發(fā)和維護(hù)容易。因此,研究信號(hào)與系統(tǒng)虛擬實(shí)驗(yàn)技術(shù)能夠有效地補(bǔ)充完善課程的實(shí)驗(yàn)教學(xué)。
1 開(kāi)發(fā)工具MATLAB簡(jiǎn)介
MATLAB作為虛擬實(shí)驗(yàn)仿真最常用軟件之一,在進(jìn)行實(shí)驗(yàn)項(xiàng)目開(kāi)發(fā)時(shí)能夠有效彌補(bǔ)某些傳統(tǒng)硬件實(shí)驗(yàn)箱的不足,利用其圖形用戶界面設(shè)計(jì)技術(shù)和強(qiáng)大的仿真功能完成原來(lái)在物理設(shè)備上所要完成的理論實(shí)驗(yàn),不僅可將抽象理論知識(shí)運(yùn)用圖形、文字、數(shù)據(jù)等多種形式展現(xiàn),更為實(shí)驗(yàn)教學(xué)提供一個(gè)界面友好、操作簡(jiǎn)便的虛擬環(huán)境。
MATLAB是英文MATrix LABoratory(矩陣實(shí)驗(yàn)室)的縮寫(xiě),是美國(guó)MathWorks公司推出的商業(yè)化科技應(yīng)用軟件,是一套適合多學(xué)科的、功能強(qiáng)大的工程計(jì)算和系統(tǒng)仿真軟件。它也是一種面向?qū)ο蟮慕换ナ匠绦蛟O(shè)計(jì)語(yǔ)言,具有友好的用戶界面及接近數(shù)學(xué)表達(dá)式的自然化語(yǔ)言、高效的數(shù)值計(jì)算及符號(hào)計(jì)算功能、完備的圖形處理功能以及功能豐富的應(yīng)用工具箱等特點(diǎn)。在利用其進(jìn)行工程計(jì)算和系統(tǒng)仿真時(shí),可以略去復(fù)雜的理論推導(dǎo)過(guò)程,使得編程快捷方便,易于實(shí)現(xiàn)。
MATLAB的GUI工具是一種包含多種圖形對(duì)象的界面,主要包括圖形顯示、功能按鈕控件以及用戶自定義的功能菜單等,利用屬性、事件過(guò)程、菜單等編輯器,可以構(gòu)建一個(gè)功能完善,界面良好的交互式操作平臺(tái),實(shí)現(xiàn)人機(jī)信息的交互。在設(shè)計(jì)界面內(nèi),用戶可以根據(jù)提示完成整個(gè)工程,而不必關(guān)心工程內(nèi)部如何進(jìn)行工作。GUI設(shè)計(jì)主要依附于MATIAB環(huán)境提供的基本科學(xué)計(jì)算,同時(shí)也可利用GUIDE進(jìn)行設(shè)計(jì),方便的穿件各種圖形句柄對(duì)象,實(shí)現(xiàn)仿真平臺(tái)的
用戶界面設(shè)計(jì)。
2 虛擬實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)
筆者借助于MATLAB軟件及其GUI工具,開(kāi)發(fā)設(shè)計(jì)可視化的信號(hào)與系虛擬實(shí)驗(yàn)平臺(tái),通過(guò)簡(jiǎn)單友好的交互式界面,完善實(shí)驗(yàn)教學(xué)。
2.1 系統(tǒng)模塊結(jié)構(gòu)
從信號(hào)與系統(tǒng)的理論教學(xué)內(nèi)容著手分析,結(jié)合傳統(tǒng)的信號(hào)與系統(tǒng)硬件實(shí)驗(yàn)箱實(shí)現(xiàn)的實(shí)驗(yàn)項(xiàng)目,將信號(hào)與系統(tǒng)虛擬實(shí)驗(yàn)系統(tǒng)分為信號(hào)實(shí)驗(yàn)和系統(tǒng)實(shí)驗(yàn)兩大部分,然后針對(duì)每部分實(shí)驗(yàn)再分別從連續(xù)時(shí)間和離散時(shí)間兩個(gè)方面進(jìn)行虛擬仿真實(shí)現(xiàn)。信號(hào)實(shí)驗(yàn)方面主要包括:信號(hào)的表示和仿真、信號(hào)的時(shí)域運(yùn)算、信號(hào)的變換(傅里葉變換、拉普拉斯變換、Z變換);系統(tǒng)實(shí)驗(yàn)方面主要包括系統(tǒng)的時(shí)域分析、頻域分析、S域分析以及Z域分析。同時(shí)兼顧連續(xù)和離散兩種特性,對(duì)虛擬實(shí)驗(yàn)系統(tǒng)進(jìn)行模塊劃分逐一實(shí)現(xiàn),系統(tǒng)模塊結(jié)構(gòu)劃分如圖1所示。
2.2 系統(tǒng)GUI界面設(shè)計(jì)
GUI界面是由窗口、菜單、按鈕、文字說(shuō)明等對(duì)象構(gòu)成的用戶界面,用戶通過(guò)一定的方法激活這些圖形對(duì)象,使計(jì)算機(jī)產(chǎn)生某些動(dòng)作或變化。本系統(tǒng)的GUI界面設(shè)計(jì)主要是利用MATLAB中的GUIDE工具進(jìn)行設(shè)計(jì)。設(shè)計(jì)中用到的控件有:靜態(tài)文本框(Static text)、可編輯文本框(Editabletext)、框架(Frames)、命令按鈕(Push buttons)、列表框(Listboxes)等;設(shè)計(jì)中涉及到的GUI界面主要包括虛擬實(shí)驗(yàn)平臺(tái)主界面、每一個(gè)具體實(shí)驗(yàn)項(xiàng)目界面以及對(duì)應(yīng)的仿真實(shí)例子界面等,其中進(jìn)入虛擬實(shí)驗(yàn)系統(tǒng)主界面如圖2所示。
3 仿真實(shí)例分析
3.1 實(shí)例一:信號(hào)波形仿真
在該課程的理論學(xué)習(xí)中,對(duì)常用的連續(xù)信號(hào)和離散信號(hào)一直沒(méi)有比較直觀的認(rèn)識(shí),很多只是停留在信號(hào)的數(shù)學(xué)表達(dá)式層面,并對(duì)由硬件實(shí)驗(yàn)箱實(shí)現(xiàn)的信號(hào)波形持有懷疑態(tài)度。虛擬實(shí)驗(yàn)仿真平臺(tái)的設(shè)計(jì),使得可以選擇想要觀察學(xué)習(xí)的信號(hào),通過(guò)輸入相關(guān)參數(shù)進(jìn)行計(jì)算仿真,便可以直觀地觀察到信號(hào)的波形。以正弦信號(hào)f(t)=Asin(ωt+θ)和正弦序列f(k)=Asin(wk+n)為例,對(duì)兩種信號(hào)分別輸入相應(yīng)的參數(shù)值,計(jì)算輸出的信號(hào)仿真波形分別如圖3和圖4所示,并且從兩圖中能直觀地看出信號(hào)的三要素,即幅值A(chǔ)、頻率ω和初相θ(或n)。
3.2 實(shí)例二:系統(tǒng)時(shí)域分析
對(duì)于線性時(shí)不變系統(tǒng),連續(xù)時(shí)間系統(tǒng)以常系數(shù)微分方程來(lái)描述,離散時(shí)間系統(tǒng)以常系數(shù)差分方程來(lái)描述。如果系統(tǒng)的輸入信號(hào)及初始狀態(tài)已知,通過(guò)數(shù)學(xué)方法便可以很容易求出系統(tǒng)的沖激響應(yīng)、階躍響應(yīng)、零輸入響應(yīng)和零狀態(tài)響應(yīng)。由于運(yùn)用數(shù)學(xué)工具進(jìn)行求解,得出的結(jié)果仍為數(shù)學(xué)表達(dá)式,學(xué)生很難直觀地認(rèn)識(shí)系統(tǒng)的激勵(lì)和響應(yīng)之間的關(guān)聯(lián)。在本虛擬實(shí)驗(yàn)系統(tǒng)中,可以對(duì)激勵(lì)和響應(yīng)進(jìn)行仿真輸出,這樣使得我們對(duì)其具有實(shí)時(shí)性、直觀性和逼真性認(rèn)識(shí)和理解。
以二階LTI連續(xù)時(shí)間系統(tǒng)為例,其微分方程為:
取C0=1,C1=7,C2=10,E0=1,E1=1,E2=2,系統(tǒng)的激勵(lì)e(t)=2sin(πt),起始狀態(tài)r(0)=-6/5,r’(0)=2,輸入相應(yīng)參數(shù),系統(tǒng)輸出仿真結(jié)果如圖5所示。
4 結(jié)論
主要介紹了基于MATLAB的信號(hào)與系統(tǒng)虛擬實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)思路和方法,并對(duì)具體實(shí)例虛擬仿真實(shí)現(xiàn)。該系統(tǒng)的實(shí)現(xiàn)對(duì)信號(hào)與系統(tǒng)課程的理論教學(xué)起到很好的輔助作用,通過(guò)虛擬仿真實(shí)現(xiàn),擺脫了抽象的數(shù)學(xué)公式,加深了對(duì)復(fù)雜理論的理解和掌握,并且系統(tǒng)操作簡(jiǎn)單快捷,大大地提高了實(shí)驗(yàn)教學(xué)效果。