基于MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)的設(shè)計(jì)-連續(xù)信號(hào)分析模塊_第1頁
基于MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)的設(shè)計(jì)-連續(xù)信號(hào)分析模塊_第2頁
基于MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)的設(shè)計(jì)-連續(xù)信號(hào)分析模塊_第3頁
基于MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)的設(shè)計(jì)-連續(xù)信號(hào)分析模塊_第4頁
基于MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)的設(shè)計(jì)-連續(xù)信號(hào)分析模塊_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1/55基于MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)設(shè)計(jì)-連續(xù)信號(hào)分析模塊[摘要]本文利用MATLAB可視化編程語言開發(fā)了一套“信號(hào)與系統(tǒng)”實(shí)驗(yàn)仿真系統(tǒng),對(duì)實(shí)驗(yàn)系統(tǒng)的開發(fā)背景、開發(fā)平臺(tái)軟件作了簡(jiǎn)要介紹。該系統(tǒng)界面友好,操作簡(jiǎn)單,參數(shù)設(shè)置方便,輸出結(jié)果準(zhǔn)確直觀,為“信號(hào)與系統(tǒng)”實(shí)驗(yàn)提供了一種新的實(shí)現(xiàn)手段。軟件虛擬實(shí)驗(yàn)必將成為該課程實(shí)驗(yàn)教學(xué)的發(fā)展方向。信號(hào)與系統(tǒng)是電子信息類專業(yè)的專業(yè)基礎(chǔ)課程,由于信號(hào)與系統(tǒng)是一門很抽象,理論和實(shí)踐結(jié)合較緊密的學(xué)科,因此實(shí)驗(yàn)教學(xué)在課程教學(xué)中占有十分重要的地位,本文基于MATLAB設(shè)計(jì)并實(shí)現(xiàn)了一套信號(hào)與系統(tǒng)試驗(yàn)系統(tǒng)。引言《信號(hào)與系統(tǒng)》課程是一門實(shí)用性較強(qiáng)、涉及面較廣的專業(yè)基礎(chǔ)課,是高等學(xué)校電子信息、計(jì)算機(jī)技術(shù)、自動(dòng)控制等專業(yè)的一門重要的必修基礎(chǔ)課,在許多學(xué)校都被列為重點(diǎn)課程,具有十分重要的地位和作用。該課程是將學(xué)生從電路分析的知識(shí)領(lǐng)域引入信號(hào)處理與傳輸領(lǐng)域的關(guān)鍵性課程,對(duì)后續(xù)專業(yè)課起著承上啟下的作用。該課程的基本方法和理論大量應(yīng)用于計(jì)算機(jī)信息處理的各個(gè)領(lǐng)域,特別是在通信、數(shù)字語音處理、數(shù)字圖像處理、數(shù)字信號(hào)分析領(lǐng)域的應(yīng)用更為廣泛。因此,讓學(xué)生掌握對(duì)信號(hào)與系統(tǒng)進(jìn)行分析的基本方法和理論,無論是今后專業(yè)課的教學(xué),還是學(xué)生畢業(yè)后從事專業(yè)工作的能力,都具有重要的意義。在目前的教學(xué)工作中,《信號(hào)與系統(tǒng)》的教學(xué)主要是考慮課堂上重點(diǎn)講授基本理論知識(shí)要點(diǎn),但是《信號(hào)與系統(tǒng)》是一門以數(shù)學(xué)推導(dǎo)為核心的理論性很強(qiáng)的學(xué)科,其概念比較抽象,數(shù)學(xué)計(jì)算又比較繁瑣并且較少開設(shè)實(shí)驗(yàn)。長(zhǎng)期以來《信號(hào)與系統(tǒng)》一直采用“教師——黑板——學(xué)生”的單一教學(xué)模式,學(xué)生僅依靠做課后習(xí)題來鞏固和理解教學(xué)內(nèi)容,對(duì)課程中大量的應(yīng)用性較強(qiáng)的內(nèi)容不能實(shí)際動(dòng)手設(shè)計(jì)、調(diào)試、分析,使學(xué)生的課后實(shí)踐受到相當(dāng)大的限制,嚴(yán)重影響和制約了教學(xué)效果。為了幫助學(xué)生理解與掌握課程中的基本概念、基本原理、基本分析方法以及培養(yǎng)學(xué)生綜合應(yīng)用所學(xué)知識(shí)解決實(shí)際問題的能力,特引入功能強(qiáng)大的Matlab仿真語言,在此基礎(chǔ)上設(shè)計(jì)了基于Matlab軟件平臺(tái)仿真環(huán)境的課程實(shí)驗(yàn)系統(tǒng)。該系統(tǒng)對(duì)于幫助學(xué)生完成數(shù)值計(jì)算、信號(hào)與系統(tǒng)分析的可視化建模及仿真調(diào)試起到了積極的推動(dòng)作用。“信號(hào)與系統(tǒng)”課程的特點(diǎn)是概念抽象,數(shù)學(xué)運(yùn)算量大、公式和理論推導(dǎo)相對(duì)較多,因此“信號(hào)與系統(tǒng)”一直處于教難、學(xué)更難的境況中,這就更加需要通過實(shí)驗(yàn)來幫助學(xué)生理解這些抽象概念。由于信號(hào)與系統(tǒng)實(shí)驗(yàn)所需的設(shè)備價(jià)格較高,實(shí)驗(yàn)難度較大,許多學(xué)校都因不具備實(shí)驗(yàn)條件而放棄了實(shí)驗(yàn)課程的開設(shè),極大地影響了教學(xué)效果。近年來,隨著計(jì)算機(jī)硬件性能的不斷提升和計(jì)算機(jī)軟件技術(shù)的飛速發(fā)展,利用計(jì)算機(jī)進(jìn)行實(shí)驗(yàn)系統(tǒng)仿真成為一種趨勢(shì)。用軟件來對(duì)實(shí)驗(yàn)系統(tǒng)進(jìn)行仿真有以下幾個(gè)優(yōu)點(diǎn):(1)實(shí)驗(yàn)成本低,且實(shí)驗(yàn)器材的選擇余地大;(2)易于實(shí)現(xiàn)較為復(fù)雜的實(shí)驗(yàn)過程;(3)實(shí)驗(yàn)所需時(shí)間較少,實(shí)驗(yàn)效率高;(4)便于記錄和分析實(shí)驗(yàn)過程和實(shí)驗(yàn)結(jié)果?!娟P(guān)鍵詞]關(guān)鍵詞:數(shù)字信號(hào)處理;教學(xué)實(shí)驗(yàn)系統(tǒng);MATLAB;GUIAbstractWiththecontinuousdevelopmentofinformationtechnology,digitalsignalprocessinghasbecomeaveryimportantsubjectandtechnologyfield。Ithaswidelyapplicatedinthecommunication,audioandimage,remotesensing,biologicalengineering.Thecorecontentofdigitalsignalprocessing,mainlyisthesignaltransmissionandprocessing,identificationandsoon.Whenthesignalsystemisacarrierofinformation,informationprocessing.Therefore,inordertobetterresearchsignalandsystemofbasictheoryandmethod,helpstudentsbetterunderstandandmasterofdigitalsignalprocessingtheoryknowledge,intheexperimentalprocessbyMATLAB,theplatformforcomputer-aideddesign.MATLABalgorithmisusedtodevelop,datavisualization,dataanalysisandnumericalcalculationoftheadvancedtechnologyandtheinteractivelanguageenvironment.Asapowerfulscientificcomputingplatforms,italmosttosatisfyallcomputingrequirements.Asforsimulationandprogramdesignandvisualizationofgeneralitydemandhasincreased,emphaticallyimprovetheMATLABgraphicaluserinterface,greatlysatisfytheneedsoftheusers.GUIDEofmatlabisaquickdevelopmentenviroment.Agraphicsuserinterfaceforateachingexperimentsoftwareofdigitalsignalprocesshasbeendesignedandimplemented.IntegratingDSPexperiments,anewcomputeraidedinstructionmodeisderivedthroughtthissystemwhichcombingmatlabandmultimedia.Beingactiveandthisinterfaceisfriendlyandopen,thissystemisbeneficialforthestudentstocomprehendDSPtheoryandimprovestheteachingeffectandefficiency.Keywords:digitalsignalprocess;teachingexperiment;Matlab;graphicsuserinterface目錄引言1.1概述1.2基于matlab的信號(hào)與系統(tǒng)試驗(yàn)平臺(tái)1.3研究意義1.4本文的主要工作第二章系統(tǒng)分析2.1引言2.2需求分析2.3可行性分析2.4系統(tǒng)主要目標(biāo)及功能2.5小結(jié)第三章方案選取3.1引言3.2界面工作的選取3.3模擬信號(hào)實(shí)驗(yàn)的軟件工具選擇3.4方案選擇第四章開發(fā)運(yùn)營(yíng)環(huán)境4.1系統(tǒng)開發(fā)環(huán)境和運(yùn)營(yíng)環(huán)境4.1開發(fā)語言和開發(fā)工具介紹第五章系統(tǒng)軟件平臺(tái)的設(shè)計(jì)5.1引言5.2系統(tǒng)整體框架5.3系統(tǒng)設(shè)計(jì)步驟5.4系統(tǒng)模塊5.5生成可執(zhí)行文件5.6小結(jié)第六章系統(tǒng)測(cè)試6.1引言6.2測(cè)試背景6.3測(cè)試結(jié)果6.4小結(jié)第七章結(jié)論致謝參考文獻(xiàn)附錄第1章緒論1.1課題研究的背景及意義“數(shù)字信號(hào)處理”在電子信息專業(yè)中是一門很重要的課程,它涉及的知識(shí)廣泛,包括微積分、概率論、信號(hào)與系統(tǒng)等。學(xué)生在學(xué)習(xí)這方面的內(nèi)容的時(shí)候,通常感覺比較抽象,對(duì)其中的基本理論和分析方法難以具體地理解和掌握。為此,很多學(xué)校安排了實(shí)驗(yàn)課程,借助一些優(yōu)良的軟件平臺(tái)(如MATLAB等)來解決這一實(shí)際問題,幫助學(xué)生更好地理解和掌握數(shù)字信號(hào)處理中的基本理論和分析方法,激發(fā)他們的學(xué)習(xí)興趣,從而達(dá)到良好的教學(xué)效果。1.2教學(xué)實(shí)驗(yàn)系統(tǒng)簡(jiǎn)介數(shù)字信號(hào)處理實(shí)驗(yàn)環(huán)節(jié)在教學(xué)過程中是非常重要的,實(shí)驗(yàn)有助于學(xué)生理解和掌握所學(xué)的理論。MATLAB是用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境。作為強(qiáng)大的科學(xué)計(jì)算平臺(tái),它幾乎滿足所有的計(jì)算要求。隨著對(duì)仿真和程序設(shè)計(jì)通用性及可視化需求的日益增加,MATLAB著重改善了圖形用戶界面的制作,極大地滿足了用戶的需求。MATLAB的GUID是專門用于圖形用戶界面的快速開發(fā)環(huán)境,本文利用該工具設(shè)計(jì)教學(xué)實(shí)驗(yàn)系統(tǒng),該系統(tǒng)將MATLAB軟件和多媒體硬件結(jié)合,將數(shù)字信號(hào)處理的實(shí)驗(yàn)內(nèi)容融入進(jìn)去,形成一種新的計(jì)算機(jī)教學(xué)實(shí)驗(yàn)方式。該系統(tǒng)的形象直觀,總體界面友好,具有開放性,便于學(xué)生對(duì)所學(xué)理論知識(shí)的理解,大大提高教學(xué)的效果和效率。現(xiàn)在大多數(shù)高校都借助于MATLAB進(jìn)行輔助教學(xué),MATLAB語言是一種非常適合信號(hào)分析與處理的語言,它的使用對(duì)學(xué)生理解數(shù)字信號(hào)處理中的許多基本理論起到極其重要的作用。MATLAB具有強(qiáng)大的圖形用戶界面生產(chǎn)能力,用戶可以根據(jù)自己的需要設(shè)計(jì)圖形界面。本實(shí)驗(yàn)系統(tǒng)以MATLAB為開發(fā)平臺(tái),保證了該系統(tǒng)具有一定的通用性,它采用圖形交互的界面,不僅可以用于實(shí)驗(yàn)教學(xué),也可以用于輔助理論教學(xué),操作起來非常方便,形象直觀。它開發(fā)了基本信號(hào)的產(chǎn)生,常用序列的計(jì)算,傅里葉變換,濾波器的設(shè)計(jì)等MATLAB輔助分析與設(shè)計(jì)實(shí)驗(yàn)。通過這個(gè)實(shí)驗(yàn)系統(tǒng),可以將數(shù)字信號(hào)處理課程中許多抽象的理論知識(shí)形象地表示出來,使得原先實(shí)驗(yàn)中較難觀察到的現(xiàn)象以及繁瑣的設(shè)計(jì)計(jì)算等,都能較簡(jiǎn)單的解決。該實(shí)驗(yàn)系統(tǒng)為學(xué)生提供了一個(gè)形象而全面的演示,激發(fā)學(xué)生的學(xué)習(xí)興趣,加深學(xué)生對(duì)數(shù)字信號(hào)處理課程中理論知識(shí)的理解。1.3設(shè)計(jì)的目標(biāo)任務(wù)在許多高校的相關(guān)專業(yè),數(shù)字信號(hào)處理都被列為專業(yè)必修課。但是,它涉及的知識(shí)廣泛,包括微積分、概率論、信號(hào)與系統(tǒng)等。學(xué)生在學(xué)習(xí)這方面的內(nèi)容的時(shí)候,通常感覺比較抽象,對(duì)其中的基本理論和分析方法難以具體地理解和掌握。目前,我校的數(shù)字信號(hào)處理課程總共48個(gè)學(xué)時(shí),其中有6個(gè)實(shí)驗(yàn)學(xué)時(shí),要想在這么短的時(shí)間內(nèi)讓學(xué)生較好地掌握數(shù)字信號(hào)處理的理論知識(shí),這是比較困難的,所以可以利用MATLAB友好的人際交互界面,制作出形象、開放的教學(xué)實(shí)驗(yàn)系統(tǒng),以此達(dá)到幫助學(xué)生更好的掌握數(shù)字信號(hào)處理理論知識(shí)的目的。第2章數(shù)字信號(hào)處理與開發(fā)環(huán)境的簡(jiǎn)介2.1數(shù)字信號(hào)處理的簡(jiǎn)介隨著信息技術(shù)的高速發(fā)展,信息時(shí)代和數(shù)字世界悄然到來,數(shù)字信號(hào)處理已成為一門重要的學(xué)科和一個(gè)極其重要的科學(xué)領(lǐng)域。它被廣泛地應(yīng)用于電子信息工程、通信工程、語音、圖像、自動(dòng)控制、雷達(dá)、遙感和生物工程等眾多領(lǐng)域。數(shù)字信號(hào)處理是把信號(hào)用符號(hào)或者是數(shù)字的形式表示成序列,通過通用(專用)信號(hào)處理設(shè)備或計(jì)算機(jī),用數(shù)值計(jì)算的方法進(jìn)行各種處理,它的目的是對(duì)真實(shí)世界的連續(xù)模擬信號(hào)進(jìn)行測(cè)量或?yàn)V波,達(dá)到提取有用信息并加于利用的效果,例如檢測(cè)、變換、增強(qiáng)、參數(shù)提取、頻譜分析等。數(shù)字信號(hào)處理系統(tǒng)具有以下一些明顯的優(yōu)點(diǎn):(1)精度高。模擬網(wǎng)絡(luò)的精度由元器件決定,模擬元器件的精度很難達(dá)到10-3以上,而數(shù)字系統(tǒng)只要14位字長(zhǎng)就可達(dá)到10-4的精度。在高精度系統(tǒng)中,有時(shí)只能采用數(shù)字系統(tǒng)。(2)靈活性高。數(shù)字系統(tǒng)的性能主要由乘法器的系數(shù)決定,而系數(shù)是存放在系數(shù)存儲(chǔ)器中的,只需改變存儲(chǔ)的系數(shù),就可得到不同的系統(tǒng),比改變模擬系統(tǒng)方便得多。(3)可靠性強(qiáng)。因?yàn)閿?shù)字系統(tǒng)只有兩個(gè)信號(hào)電平“0”、“l(fā)”,因而受周圍環(huán)境溫度以及噪聲的影響較小,而模擬系統(tǒng),各元器件都有一定的溫度系數(shù),且電平是連續(xù)變化的,易受溫度、噪聲、電磁感應(yīng)等的影響。如采用大規(guī)模集成電路,可靠性就更高。(4)容易大規(guī)模集成。這是由于數(shù)字部件有高度規(guī)范性,便于大規(guī)模集成、大規(guī)模生產(chǎn),對(duì)電路參數(shù)要求不嚴(yán),故產(chǎn)品成品率高。尤其是對(duì)于低頻信號(hào),例如地震波分析,需要過濾幾赫茲到幾十赫茲信號(hào),用模擬網(wǎng)絡(luò)處理時(shí),電感器、電容器的數(shù)值、體積和重量都非常大,性能亦不能達(dá)到要求、而數(shù)字信號(hào)處理系統(tǒng)在這個(gè)頻率處卻非常優(yōu)越。(5)時(shí)分復(fù)用。也就是利用數(shù)字信號(hào)處理器同時(shí)處理幾個(gè)通道的信號(hào)。處理器運(yùn)算速度越高,能處理的信道數(shù)目也就越多。(6)可獲得高性能指標(biāo)。例如對(duì)信號(hào)進(jìn)行頻譜分析,模擬頻譜儀在頻率低端只能分析到1OHz以上頻率.且難于做到高分辨率(足夠窄的帶寬),但在數(shù)字的譜分析中,已能做到10-3Hz的譜分析。又如有限長(zhǎng)沖激響應(yīng)數(shù)字濾波器,則可實(shí)現(xiàn)準(zhǔn)確的線性相位特性,這在模擬系統(tǒng)中是很難達(dá)到的。(7)二維與多維處理。利用龐大的存儲(chǔ)單元,可以存儲(chǔ)一幀或數(shù)幀圖象信號(hào),實(shí)現(xiàn)二維甚至多維信號(hào)的處理,包括二維或多維濾波、二維及多維譜分析等。數(shù)字信號(hào)處理系統(tǒng)也有其局限性,例如,數(shù)字系統(tǒng)的速度還不算高,硬件的速度也只在幾十兆赫以下,故不能處理很高頻率的信號(hào)。另外,系統(tǒng)比較復(fù)雜,因而價(jià)格昂貴等也是其缺點(diǎn)。2.2MATLAB簡(jiǎn)介與特點(diǎn)2.2.1MATLAB的簡(jiǎn)介MATLAB是矩陣實(shí)驗(yàn)室(MatrixLaboratory)的簡(jiǎn)稱,MATLAB是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分,和Mathematica、Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域。GUIDE(GraphicalUserInterfaceDevelopmentEnviroment)是MATLAB中一個(gè)專門用于GUI程序設(shè)計(jì)的向?qū)гO(shè)計(jì)器,通過GUIDE可以很方便地設(shè)計(jì)出各種符合要求的圖形用戶界面,用戶可以根據(jù)提示完成新界面的制作,卻不必了解新界面內(nèi)部是如何工作的。GUI設(shè)計(jì)既可以以基本的MATLAB程序設(shè)計(jì)為主,也可以用鼠標(biāo)利用GUID工具進(jìn)行設(shè)計(jì),也可以綜合以上兩種方法進(jìn)行設(shè)計(jì)。2.2.2MATLAB的特點(diǎn)(1)友好的工作平臺(tái)和編程環(huán)境MATLAB由一系列工具組成。這些工具方便用戶使用MATLAB的函數(shù)和文件,其中許多工具采用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調(diào)試器、路徑搜索和用于用戶瀏覽幫助、工作空間、文件的瀏覽器。隨著MATLAB的商業(yè)化以及軟件本身的不斷升級(jí),MATLAB的用戶界面也越來越精致,更加接近Windows的標(biāo)準(zhǔn)界面,人機(jī)交互性更強(qiáng),操作更簡(jiǎn)單。而且新版本的MATLAB提供了完整的聯(lián)機(jī)查詢、幫助系統(tǒng),極大的方便了用戶的使用。簡(jiǎn)單的編程環(huán)境提供了比較完備的調(diào)試系統(tǒng),程序不必經(jīng)過編譯就可以直接運(yùn)行,而且能夠及時(shí)地報(bào)告出現(xiàn)的錯(cuò)誤及進(jìn)行出錯(cuò)原因分析。(2)簡(jiǎn)單易用的程序語言Matlab一個(gè)高級(jí)的矩陣/陣列語言,它包含控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出和面向?qū)ο缶幊烫攸c(diǎn)。用戶可以在命令窗口中將輸入語句與執(zhí)行命令同步,也可以先編寫好一個(gè)較大的復(fù)雜的應(yīng)用程序(M文件)后再一起運(yùn)行。新版本的MATLAB語言是基于最為流行的C++語言基礎(chǔ)上的,因此語法特征與C++語言極為相似,而且更加簡(jiǎn)單,更加符合科技人員對(duì)數(shù)學(xué)表達(dá)式的書寫格式。使之更利于非計(jì)算機(jī)專業(yè)的科技人員使用。而且這種語言可移植性好、可拓展性極強(qiáng),這也是MATLAB能夠深入到科學(xué)研究及工程計(jì)算各個(gè)領(lǐng)域的重要原因。(3)強(qiáng)大的科學(xué)計(jì)算機(jī)數(shù)據(jù)處理能力MATLAB是一個(gè)包含大量計(jì)算算法的集合。其擁有600多個(gè)工程中要用到的數(shù)學(xué)運(yùn)算函數(shù),可以方便的實(shí)現(xiàn)用戶所需的各種計(jì)算功能。函數(shù)中所使用的算法都是科研和工程計(jì)算中的最新研究成果,而前經(jīng)過了各種優(yōu)化和容錯(cuò)處理。在通常情況下,可以用它來代替底層編程語言,如C和C++。在計(jì)算要求相同的情況下,使用MATLAB的編程工作量會(huì)大大減少。MATLAB的這些函數(shù)集包括從最簡(jiǎn)單最基本的函數(shù)到諸如矩陣,特征向量、快速傅立葉變換的復(fù)雜函數(shù)。函數(shù)所能解決的問題其大致包括矩陣運(yùn)算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號(hào)運(yùn)算、傅立葉變換和數(shù)據(jù)的統(tǒng)計(jì)分析、工程中的優(yōu)化問題、稀疏矩陣運(yùn)算、復(fù)數(shù)的各種運(yùn)算、三角函數(shù)和其他初等數(shù)學(xué)運(yùn)算、多維數(shù)組操作以及建模動(dòng)態(tài)仿真等。(4)出色的圖形處理功能MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來,并且可以對(duì)圖形進(jìn)行標(biāo)注和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動(dòng)畫和表達(dá)式作圖。可用于科學(xué)計(jì)算和工程繪圖。新版本的MATLAB對(duì)整個(gè)圖形處理功能作了很大的改進(jìn)和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對(duì)于一些其他軟件所沒有的功能(例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等),MATLAB同樣表現(xiàn)了出色的處理能力。同時(shí)對(duì)一些特殊的可視化要求,例如圖形對(duì)話等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。另外新版本的MATLAB還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對(duì)這方面有特殊要求的用戶也可以得到滿足。(5)應(yīng)用廣泛的模塊集合工具箱MATLAB對(duì)許多專門的領(lǐng)域都開發(fā)了功能強(qiáng)大的模塊集和工具箱。一般來說,它們都是由特定領(lǐng)域的專家開發(fā)的,用戶可以直接使用工具箱學(xué)習(xí)、應(yīng)用和評(píng)估不同的方法而不需要自己編寫代碼。目前,MATLAB已經(jīng)把工具箱延伸到了科學(xué)研究和工程應(yīng)用的諸多領(lǐng)域,諸如數(shù)據(jù)采集、數(shù)據(jù)庫接口、概率統(tǒng)計(jì)、樣條擬合、優(yōu)化算法、偏微分方程求解、神經(jīng)網(wǎng)絡(luò)、小波分析、信號(hào)處理、圖像處理、系統(tǒng)辨識(shí)、控制系統(tǒng)設(shè)計(jì)、LMI控制、魯棒控制、模型預(yù)測(cè)、模糊邏輯、金融分析、地圖工具、非線性控制設(shè)計(jì)、實(shí)時(shí)快速原型及半物理仿真、嵌入式系統(tǒng)開發(fā)、定點(diǎn)仿真、DSP與通訊、電力系統(tǒng)仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。(6)實(shí)用的程序接口和發(fā)布平臺(tái)新版本的MATLAB可以利用MATLAB編譯器和C/C++數(shù)學(xué)庫和圖形庫,將自己的MATLAB程序自動(dòng)轉(zhuǎn)換為獨(dú)立于MATLAB運(yùn)行的C和C++代碼。允許用戶編寫可以和MATLAB進(jìn)行交互的C或C++語言程序。另外,MATLAB網(wǎng)頁服務(wù)程序還容許在Web應(yīng)用中使用自己的MATLAB數(shù)學(xué)和圖形程序。MATLAB的一個(gè)重要特色就是具有一套程序擴(kuò)展系統(tǒng)和一組稱之為工具箱的特殊應(yīng)用子程序。工具箱是MATLAB函數(shù)的子程序庫,每一個(gè)工具箱都是為某一類學(xué)科專業(yè)和應(yīng)用而定制的,主要包括信號(hào)處理、控制系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、模糊邏輯、小波分析和系統(tǒng)仿真等方面的應(yīng)用。(7)應(yīng)用軟件開發(fā)(包括用戶界面)在開發(fā)環(huán)境中,使用戶更方便地控制多個(gè)文件和圖形窗口;在編程方面支持了函數(shù)嵌套,有條件中斷等;在圖形化方面,有了更強(qiáng)大的圖形標(biāo)注和處理功能,包括對(duì)性對(duì)起連接注釋等;在輸入輸出方面,可以直接向Excel和HDF5進(jìn)行連接。第二章系統(tǒng)分析2.1引言現(xiàn)代社會(huì),通信與傳感、仿真計(jì)算技術(shù)緊密結(jié)合,信息成為社會(huì)的高級(jí)“神經(jīng)中樞”,隨著我國(guó)科學(xué)技術(shù)的發(fā)展和國(guó)內(nèi)外合作的加強(qiáng),對(duì)通信水平的要求也日益增加,如果通信水平跟不上,社會(huì)成員之間的合作程度就受到限制,生產(chǎn)力的發(fā)展也必然受到限制,可見通信在現(xiàn)代生活中扮演的角色越來越重要,本課題以此為出發(fā)點(diǎn),采用Matlab語言為工作環(huán)境,Matlab語言稱為第四代編程語言,程序簡(jiǎn)潔、可讀性很強(qiáng)而且調(diào)試十分容易,自1984年由美國(guó)MathWorks公司推向市場(chǎng)以來,歷經(jīng)十幾年的發(fā)展,現(xiàn)已成為國(guó)際公認(rèn)的優(yōu)秀科技應(yīng)用軟件,是數(shù)字信號(hào)處理方面得天獨(dú)厚優(yōu)勢(shì)圖形開發(fā)工具.本軟件設(shè)計(jì)目標(biāo)是以配合教學(xué)為出發(fā)點(diǎn),主要是面對(duì)通信工程專業(yè)的初學(xué)者,用簡(jiǎn)單,可視化的仿真模擬圖形給大家演示部分基本波的傳輸特性,以及在信道中的傳輸特性。使他們直觀,感性地了解和掌握通信系統(tǒng)的概念、傳輸性能等[3]。為了規(guī)范和條理的進(jìn)行本系統(tǒng)的設(shè)計(jì)以及使后續(xù)的開發(fā)維護(hù)工作變得有趣而輕松,故編寫本系統(tǒng)需求分析說明書;旨在開發(fā)過程中進(jìn)行參考,使系統(tǒng)在需求的規(guī)范之內(nèi),避免重復(fù)勞動(dòng),加快開發(fā)進(jìn)度以及提高開發(fā)效率;同時(shí)也是為以后系統(tǒng)維護(hù)服務(wù)提供指南;由于時(shí)間倉促,錯(cuò)誤之處在所難免,請(qǐng)見諒。2.2需求分析通信在現(xiàn)今生活中已是普遍存在,在經(jīng)濟(jì)發(fā)展,政治軍事活動(dòng),個(gè)人生活中的應(yīng)運(yùn)以是相當(dāng)普遍,是社會(huì)發(fā)展不可缺少的工具,自1844年莫而斯在華盛頓和巴爾的摩之間發(fā)送世界第一份電報(bào)以來,通信已經(jīng)經(jīng)歷了150多年,發(fā)展到目前數(shù)字通信趨于替代模擬通信的趨勢(shì)?!缎盘?hào)與系統(tǒng)》課程,是高等理工科類院校通信與電子信息工程等專業(yè)中一門十分重要的基礎(chǔ)理論課,也是電子信息工程專業(yè)許多后續(xù)課程的重要理論基礎(chǔ)。以前的信號(hào)模擬是通過硬件,對(duì)儀器和實(shí)驗(yàn)室的要求較高,不便于廣泛應(yīng)用,而且信號(hào)處理具有內(nèi)容繁多、概念抽象、設(shè)計(jì)復(fù)雜等特點(diǎn),學(xué)生在學(xué)習(xí)時(shí)常常會(huì)感到枯燥,難以理解和掌握?;诖朔N需求,本系統(tǒng)設(shè)計(jì)為教學(xué)演示型軟件,運(yùn)用Matlab軟件開發(fā),便于學(xué)生直觀觀察信號(hào)系統(tǒng)中涉及的波形及特性的原理圖,為后續(xù)課程的學(xué)習(xí),以及獨(dú)立分析和設(shè)計(jì)新的系統(tǒng),打下基礎(chǔ)。2.3可行性分析2.3.1技術(shù)可行性本課題所涉及的研究目標(biāo),在國(guó)內(nèi)外已經(jīng)有相當(dāng)成熟的理論基礎(chǔ)和技術(shù)基礎(chǔ)。通過開發(fā)人員的文獻(xiàn)調(diào)查,對(duì)于Matlab做用戶圖象界面和信號(hào)模擬所涉及到的技術(shù)問題進(jìn)行細(xì)致的分析,很大一部分可以使用電子信息工程的專業(yè)知識(shí)進(jìn)行構(gòu)建,其他的部分則可以通過自學(xué),調(diào)用已經(jīng)開發(fā)好的一些功能模塊來完成課題涉及到的技術(shù)要求。2.3.2經(jīng)濟(jì)可行性本課題通過對(duì)既有開發(fā)平臺(tái)的使用,能夠設(shè)計(jì)出比較完善的信號(hào)系統(tǒng)實(shí)驗(yàn)平臺(tái),沒有任何經(jīng)濟(jì)上的負(fù)擔(dān),本課題可以自主開發(fā)信號(hào)系統(tǒng)實(shí)驗(yàn)平臺(tái),為實(shí)驗(yàn)提供了靈活性,擺脫了硬件可以看到實(shí)驗(yàn)結(jié)果,而且又可脫離Matlab來進(jìn)行仿真.為教學(xué)和研究提供了方便,在經(jīng)濟(jì)上節(jié)約了實(shí)驗(yàn)開支,鍛煉了學(xué)生的自我研發(fā)意識(shí)和自己動(dòng)手的能力。2.3.3操作可行性Matlab程序流程簡(jiǎn)單明了,開發(fā)率高,并且能夠結(jié)合其他多種開發(fā)工具,共同實(shí)現(xiàn)信號(hào)模擬功能。它易學(xué)易用,不需大量編程,能創(chuàng)作出一些高水平的模擬平臺(tái)作品,對(duì)于非專業(yè)的開發(fā)人員和專業(yè)開發(fā)人員都是一個(gè)好的選擇。從可操作性的角度來講,完全可行。2.4系統(tǒng)主要目標(biāo)及功能2.4.1系統(tǒng)目標(biāo)本課題開發(fā)目標(biāo)是利用Matlab軟件開發(fā)一套集可視化圖形與動(dòng)態(tài)仿真為一體的教學(xué)演示型軟件,主要是面對(duì)初學(xué)者,用可視化的仿真模擬圖形配合老師的講課內(nèi)容給大家演示《信號(hào)與系統(tǒng)》課程中部分信號(hào)的傳輸波形、卷積、傅立葉變換以及濾波器設(shè)計(jì)等,幫助他們直觀、感性地了解和掌握信號(hào)系統(tǒng)的概念、基本特征等,深化對(duì)通信概念的理解。2.4.2系統(tǒng)主要功能本系統(tǒng)主要功能包括基本序列計(jì)算、基本信號(hào)產(chǎn)生、卷積、傅立葉變換、濾波器設(shè)計(jì)。簡(jiǎn)單基礎(chǔ)地涵蓋了《信號(hào)與系統(tǒng)》部分主要章節(jié),用可視化的仿真模擬圖形為大家演示部分基本信號(hào)的傳輸波形和調(diào)制變換,部分交互式界面可直接輸入合適的值使大家更直觀、感性地了解和掌握信號(hào)系統(tǒng)的概念、傳輸性能、基本特征等,為課程的學(xué)習(xí)打下基礎(chǔ)。界面上的文字說明幫助大家了解本圖形的特性或功能。整套系統(tǒng)采取圖文并茂、循序漸進(jìn)、從感性到理性的方式,首先讓初學(xué)者在掌握基本信號(hào)模擬和運(yùn)算。2.5小結(jié)一個(gè)系統(tǒng)在開發(fā)之前就需要進(jìn)行需求分析和可行性分析,本章重點(diǎn)闡述本設(shè)計(jì)的需求分析、可行性分析和目的,對(duì)這個(gè)系統(tǒng)的需求有了一個(gè)比較有力的證明。第三章方案選取3.1引言本設(shè)計(jì)研究的信號(hào)系統(tǒng)實(shí)驗(yàn)平臺(tái)是一個(gè)可執(zhí)行的系統(tǒng),可以脫離它的開發(fā)軟件Matlab而獨(dú)立運(yùn)行。本系統(tǒng)的關(guān)鍵是實(shí)現(xiàn)參數(shù)的傳遞和生成可執(zhí)行文件,這對(duì)剛接觸Matlab的我們來是說比較困難,老師為我們提出了一些參考方案來完成設(shè)計(jì),本章將在根據(jù)我們實(shí)力的基礎(chǔ)上,給出本課題最適合選用的一種方案。3.2界面工具的選取由于我們的課題是基于Matlab的信號(hào)系統(tǒng)平臺(tái),所以在選擇做界面的工具的時(shí)候也選擇Matlab。如果用VB做界面的話在后面實(shí)現(xiàn)信號(hào)波形的時(shí)候需要建立VB和Matlab的鏈接,那樣會(huì)增加工作量和工作難度,而且我們對(duì)他們的鏈接也是知之甚少,實(shí)際鏈接的時(shí)候會(huì)很麻煩,所以在權(quán)衡了各方面的因素我們選擇用Matlab做界面。3.3模擬信號(hào)實(shí)驗(yàn)的軟件工具選擇我們?cè)趯W(xué)習(xí)《信號(hào)與系統(tǒng)》和《數(shù)字信號(hào)處理》課程時(shí),做實(shí)驗(yàn)的時(shí)候用的是Matlab軟件來實(shí)現(xiàn)信號(hào)波形的模擬以及處理,可以比較直觀準(zhǔn)確的看到波形,對(duì)Matlab軟件也有了初步的認(rèn)識(shí),也可以用它編寫一些比較簡(jiǎn)單的程序來。在信號(hào)波形模擬的領(lǐng)域中,我們只接觸過Matlab軟件,所以在編寫模擬信號(hào)波形這個(gè)模塊中我們選擇Matlab軟件。Matlab是Math和Works公司推出的一個(gè)為工程計(jì)算和數(shù)據(jù)分析而專門設(shè)計(jì)的高級(jí)交互式軟件包,利用它能容易地解決在系統(tǒng)仿真領(lǐng)域教學(xué)與研究中遇到的問題。3.4設(shè)計(jì)方案選擇在本系統(tǒng)的設(shè)計(jì)中,界面布局設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法,即先設(shè)計(jì)引導(dǎo)界面和主界面,再設(shè)計(jì)各個(gè)實(shí)驗(yàn)子界面。界面設(shè)計(jì)完成后,只是一些靜態(tài)的畫面而已,沒有什么內(nèi)涵,還不能用于實(shí)驗(yàn)操作,要想達(dá)到實(shí)驗(yàn)?zāi)康?必須借助于函數(shù)調(diào)用。在設(shè)計(jì)中,各個(gè)回調(diào)函數(shù)的編寫順序則是采用自底向上的設(shè)計(jì)方法,即先編制各個(gè)實(shí)驗(yàn)子界面的回調(diào)函數(shù),再編寫主界面和引導(dǎo)界面的回調(diào)函數(shù)。開發(fā)運(yùn)行環(huán)境4.1系統(tǒng)的基本模塊 基于MATLAB強(qiáng)大的功能,許多高校數(shù)字信號(hào)處理課程的實(shí)驗(yàn)都是以MATLAB作為仿真工具。本文利用MATLAB的GUIDE工具箱設(shè)計(jì)并實(shí)現(xiàn)了數(shù)字信號(hào)處理教學(xué)實(shí)驗(yàn)系統(tǒng)的圖形用戶界面GUI、實(shí)驗(yàn)主界面和實(shí)驗(yàn)子界面。這些界面以按鈕、靜態(tài)文本、編輯框和坐標(biāo)軸等友好界面形式構(gòu)成,即便是不理解MATLAB程序,也可以很方便地使用,系統(tǒng)內(nèi)容豐富,結(jié)果直觀易懂,便于分析。通過該實(shí)驗(yàn)系統(tǒng),將MATLAB軟件與多媒體硬件相結(jié)合,形成一種新的計(jì)算機(jī)輔助教學(xué)方式,有助于提高學(xué)生學(xué)習(xí)的效率,幫助學(xué)生理解課堂數(shù)學(xué)理論。該實(shí)驗(yàn)系統(tǒng)提供的主要功能有:友好的用戶界面和數(shù)據(jù)圖形結(jié)果輸出。本系統(tǒng)按功能要求主要?jiǎng)澐忠韵聨讉€(gè)模塊:GUI模塊、實(shí)驗(yàn)主界面模塊、實(shí)驗(yàn)結(jié)果和實(shí)驗(yàn)內(nèi)容模塊。GUI模塊是一個(gè)主界面,實(shí)驗(yàn)主界面模塊根據(jù)數(shù)字信號(hào)處理課程的重點(diǎn)和難點(diǎn)選擇了幾個(gè)典型的實(shí)驗(yàn)。在對(duì)實(shí)驗(yàn)教學(xué)系統(tǒng)的各界面開發(fā)過程中,需要對(duì)MATLAB的圖形用戶界面的功能有充分的理解,包括靜態(tài)文本的輸入、數(shù)據(jù)的讀入、按扭的響應(yīng)、坐標(biāo)軸的鏈接等。整個(gè)系統(tǒng)的功能結(jié)構(gòu)如圖1所示。GUI界面GUI界面退出實(shí)驗(yàn)主界面退出實(shí)驗(yàn)子界面實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)內(nèi)容退出返回退出圖3.1系統(tǒng)流程圖首先進(jìn)入GUI主界面,讓用戶可以自由選擇想了解的內(nèi)容和實(shí)驗(yàn)。在每個(gè)實(shí)驗(yàn)的窗口上又分別安放了實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)結(jié)果,通過實(shí)驗(yàn)主界面了解想要了解的知識(shí),也可以通過輸入?yún)?shù)得到不同的實(shí)驗(yàn)結(jié)果,即把幾個(gè)實(shí)驗(yàn)放在一個(gè)界面上,這樣便于比較和分析。4.2系統(tǒng)設(shè)計(jì)步驟在該系統(tǒng)的設(shè)計(jì)中,界面布局設(shè)計(jì)是自頂向下的,即先設(shè)計(jì)GUI界面,再設(shè)計(jì)各個(gè)實(shí)驗(yàn)子界面,界面上包括按鈕、坐標(biāo)軸、文本框等控件。界面設(shè)計(jì)完成后,只是一些靜態(tài)的畫面,而沒有實(shí)際操作意義,還不能用于實(shí)驗(yàn)操作,想要達(dá)到實(shí)驗(yàn)演示和分析的功能,還必須借助于callback函數(shù)調(diào)用一系列的程序。在設(shè)計(jì)中,各個(gè)回調(diào)函數(shù)的編寫順序則是自底向上的,即先編寫各個(gè)子界面中的回調(diào)函數(shù)下的程序,再編寫GUI界面的回調(diào)函數(shù)下的程序。其設(shè)計(jì)的具體操作步驟如下:(1)使用MATLAB圖形用戶界面開發(fā)環(huán)境GUIDE提供的一系列創(chuàng)建用戶圖形界面工具,設(shè)計(jì)整個(gè)系統(tǒng)的GUI界面、實(shí)驗(yàn)主界面和各個(gè)子界面。(2)分別編寫各個(gè)子界面的各個(gè)控件對(duì)象的回調(diào)函數(shù)下的一系列程序,以實(shí)現(xiàn)控件相應(yīng)的控制功能,達(dá)到直接通過界面上各個(gè)控件就可以控制數(shù)據(jù)的輸入,并可以方便、直觀地對(duì)實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)照分析。(3)編寫GUI界面的回調(diào)函數(shù)下的程序,將各個(gè)子界面整合在GUI界面中,即通過GUI界面就可以進(jìn)入任何一個(gè)子界面并進(jìn)行操作。4.2.1創(chuàng)建GUI創(chuàng)建MatlabGUI界面通常有兩種方式:第一種,在.m文件中動(dòng)態(tài)添加,即自己編寫程序,設(shè)置參數(shù);第二種,使用GUIDE幫助創(chuàng)建GUI;在Command里面輸入GUIDE或者從菜單里面,或者從快捷按鈕均可進(jìn)入GUIDE。新建并且保存后,會(huì)生成相應(yīng)的fig文件和m文件,在Layout編輯視圖中,可以使用如下工具:LayoutEditor:布局編輯器;AlignmentTool:對(duì)齊工具;PropertyInspector:對(duì)象屬性觀察器;ObjectBrowser:對(duì)象瀏覽器;MenuEditor:菜單編輯器。4.2.2使用控件新建一個(gè)布局(窗口),可以在新窗口中添加如下控件1.靜態(tài)文本(StaticText)

2.編輯框(EditText)控件3.列表框(Listbox)控件

4.滾動(dòng)條(Slider)控件5.按鈕(PushButton)控件

6.開關(guān)按鈕(ToggleButton)控件7.單選按鈕(RadioButton)控件

8.按鈕組(ButtonGroup)控件9.檢查框(CheckBox)控件

10.列表框(Listbox)控件11.彈出式菜單(PopupMenu)控件

12.坐標(biāo)軸(Axes)控件13.面板(Panel)控件每一個(gè)控件都有自己的屬性常規(guī)屬性。1.控件風(fēng)格和外觀(1)BackgroundColor:設(shè)置控件背景顏色,使用[RGB]或顏色定義。(2)CData:在控件上顯示的真彩色圖像,使用矩陣表示。(3)ForegroundColor:文本顏色。(4)String屬性:控件上的文本,以及列表框和彈出菜單的選項(xiàng)。(5)Visible:控件是否可見。2.對(duì)象的常規(guī)信息(1)Enable屬性:表示此控件的使能狀態(tài),設(shè)置為on”,表示可選,為“off”時(shí)則表示不可。(2)Style:控件對(duì)象類型。(3)Tag:控件表示(用戶定義)。(4)TooltipString屬性:提示信息顯示。當(dāng)鼠標(biāo)指針位于此控件上時(shí),顯示提示信息。(5)UserData:用戶指定數(shù)據(jù)。(6)Position:控件對(duì)象的尺寸和位置。(7)Units:設(shè)置控件的位置及大小的單位。(8)有關(guān)字體的屬性,如FontAngle,F(xiàn)ontName等。3.控件回調(diào)函數(shù)的執(zhí)行(1)BusyAction:處理回調(diào)函數(shù)的中斷。有兩種選項(xiàng):即Cancel:取消中斷事件,queue:排隊(duì)(默認(rèn)設(shè)置)。(2)ButtonDownFcn屬性:按鈕按下時(shí)的處理函數(shù)。(3)CallBack屬性:是連接程序界面整個(gè)程序系統(tǒng)的實(shí)質(zhì)性功能的紐帶。該屬性值應(yīng)該為一個(gè)可以直接求值的字符串,在該對(duì)象被選中和改變時(shí),系統(tǒng)將自動(dòng)地對(duì)字符串進(jìn)行求值。(4)CreateFcn:在對(duì)象產(chǎn)生過程中執(zhí)行的回調(diào)函數(shù)。(5)DeleteFcn:刪除對(duì)象過程中執(zhí)行的回調(diào)函數(shù)。(6)Interruptible屬性:指定當(dāng)前的回調(diào)函數(shù)在執(zhí)行時(shí)是否允許中斷,去執(zhí)行其他的函數(shù)。

4.控件當(dāng)前狀態(tài)信息(1)ListboxTop:在列表框中顯示的最頂層的字符串的索引。(2)Max:最大值。(3)Min:最小值。(4)Value:控件的當(dāng)前值??梢允褂脤傩跃庉嬈鱽碓O(shè)置屬性4.2.3寫回調(diào)函數(shù)CallBack每個(gè)控件都有幾種回調(diào)函數(shù),右鍵選中的控件一般會(huì)有如下菜單:然后就可以跳轉(zhuǎn)到相應(yīng)的Editor中編輯代碼,GUIDE會(huì)自動(dòng)生成相應(yīng)的函數(shù)體,函數(shù)名,名稱一般是控件Tag+Call類型名參數(shù)有三個(gè)(hObject,eventdata,handles),其中hObject為發(fā)生事件的源控件,eventdata為事件數(shù)據(jù)結(jié)構(gòu),handles為傳入的對(duì)象句柄,CreateFcn是在控件對(duì)象創(chuàng)建的時(shí)候發(fā)生(一般為初始化樣式,顏色,初始值等),DeleteFcn實(shí)在空間對(duì)象被清除的時(shí)候發(fā)生,ButtonDownFcn和KeyPressFcn分別為鼠標(biāo)點(diǎn)擊和按鍵事件Callback,CallBack為一般回調(diào)函數(shù),因不同的控件而已異。例如按鈕被按下時(shí)發(fā)生,下拉框改變值時(shí)發(fā)生,sliderbar拖動(dòng)時(shí)發(fā)生等等。4.2.4句柄圖形之間的層次關(guān)系RootRootFigureAxesImageUncontrlolUimenuLIghtLinePatchRectangleSurfaceText圖3.2句柄圖形之間的層次關(guān)系圖可以創(chuàng)建圖形句柄的常見函數(shù):1.figure函數(shù):創(chuàng)建一個(gè)新的圖形對(duì)象。2.newplot函數(shù):做好開始畫新圖形對(duì)象的準(zhǔn)備。3.a(chǎn)xes函數(shù):創(chuàng)建坐標(biāo)軸圖形對(duì)象。4.line函數(shù):畫線。5.patch函數(shù):填充多邊形。6.surface函數(shù):繪制三維曲面。7.image函數(shù):顯示圖片對(duì)象。8.uicontrol函數(shù):生成用戶控制圖形對(duì)象。9.uimenu函數(shù):生成圖形窗口的菜單中層次菜單與下一級(jí)子菜單。幾個(gè)實(shí)用的小函數(shù):uigetfile選擇文件對(duì)話框uiputfile保存文件對(duì)話框uisetcolor設(shè)置顏色對(duì)話框fontsetcolor設(shè)置字體對(duì)話框msgbox

消息框warndlg

警告框4.2.5獲取與設(shè)置對(duì)象屬性常用函數(shù):gcf函數(shù):獲得當(dāng)前圖形窗口的句柄gca函數(shù):獲得當(dāng)前坐標(biāo)軸的句柄gco函數(shù):獲得當(dāng)前對(duì)象的句柄gcbo函數(shù):獲得當(dāng)前正在執(zhí)行調(diào)用的對(duì)象的句柄gcbf函數(shù):獲取包括正在執(zhí)行調(diào)用的對(duì)象的圖形句柄delete函數(shù):刪除句柄所對(duì)應(yīng)的圖形對(duì)象findobj函數(shù):查找具有某種屬性的圖形對(duì)象設(shè)置方法:(1)get函數(shù)返回某些對(duì)象屬性的當(dāng)前值。例如:p=get(obj,'Position');

(2)函數(shù)set改變句柄圖形對(duì)象屬性,例如:set(obj,'Position',vect);第五章系統(tǒng)軟件平臺(tái)的設(shè)計(jì)5.1引言信號(hào)系統(tǒng)實(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)或功能,并通過主界面調(diào)用子界面的設(shè)計(jì)方法。5.2系統(tǒng)整體框圖本實(shí)驗(yàn)系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)由兩部分組成:界面模塊設(shè)計(jì)和菜單模塊設(shè)計(jì)。其中,界面模塊總共包括八個(gè)模塊:開始引導(dǎo)模塊、主模塊、序列基本計(jì)算模塊、基本信號(hào)的產(chǎn)生模塊、卷積模塊、傅里葉變換模塊、濾波器設(shè)計(jì)模塊和說明模塊。一個(gè)實(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)界面和典型IIR濾波器實(shí)驗(yàn)界面;主界面中還包含了說明模塊。在菜單設(shè)計(jì)時(shí),在實(shí)驗(yàn)子界面中除使用系統(tǒng)約定的菜單條外,還增加了幾個(gè)控制背景和退出實(shí)驗(yàn)的菜單。系統(tǒng)的整體結(jié)構(gòu)如圖5-1所示開始引導(dǎo)界面開始引導(dǎo)界面開始界面開始界面濾波器設(shè)計(jì)傅立葉變換卷積卷積濾波器設(shè)計(jì)傅立葉變換卷積卷積基本信號(hào)產(chǎn)生序列基本計(jì)算系系統(tǒng)說明圖5-1系統(tǒng)的整體結(jié)構(gòu)5.3系統(tǒng)設(shè)計(jì)步驟設(shè)計(jì)的具體步驟如下:1)運(yùn)用Matlab的圖形用戶界面(GUI)設(shè)計(jì)方法,設(shè)計(jì)整個(gè)實(shí)驗(yàn)系統(tǒng)的開始引導(dǎo)界面、實(shí)驗(yàn)主界面及其實(shí)現(xiàn)信號(hào)處理課程中具體實(shí)驗(yàn)的各個(gè)子界面。2)運(yùn)用Matlab的圖形用戶界面(GUI)設(shè)計(jì)方法,設(shè)計(jì)系統(tǒng)的說明界面及其各個(gè)實(shí)驗(yàn)的說明界面。3)分別編寫各個(gè)子界面的各個(gè)控件對(duì)象的回調(diào)函數(shù),來實(shí)現(xiàn)控件相應(yīng)控制功能,達(dá)到直接通過界面上各個(gè)控件就可以控制數(shù)據(jù)的輸入輸出,并可以方便地對(duì)實(shí)驗(yàn)結(jié)果的數(shù)據(jù)及其圖形進(jìn)行讀取和分析的目的。4)編寫主界面的回調(diào)函數(shù),將各個(gè)實(shí)驗(yàn)子界面整合在信號(hào)處理系統(tǒng)實(shí)驗(yàn)主界面中,即通過主界面就可以進(jìn)入任何一個(gè)實(shí)驗(yàn)子界面進(jìn)行實(shí)驗(yàn)。5)編寫開始引導(dǎo)界面的回調(diào)函數(shù),實(shí)現(xiàn)從引導(dǎo)界面直接進(jìn)入主界面。5.4系統(tǒng)模塊5.4.1模塊劃分簡(jiǎn)介本系統(tǒng)根據(jù)要實(shí)現(xiàn)的實(shí)驗(yàn)類別、個(gè)數(shù)的要求來規(guī)劃模塊,在設(shè)計(jì)的時(shí)候本著界面美觀、簡(jiǎn)潔的原則。各個(gè)模塊可以相互切換,每個(gè)實(shí)驗(yàn)時(shí)可以完成參數(shù)的傳遞,5.4.2模塊具體設(shè)計(jì)實(shí)驗(yàn)主界面在GUID編輯界面中,雙擊第一個(gè)按鈕,會(huì)出現(xiàn)屬性設(shè)置對(duì)話框,將string改為“正弦信號(hào)”,F(xiàn)rontsize設(shè)為15,雙擊第二個(gè)按鈕,將String改為“指數(shù)信號(hào)”,F(xiàn)rontsize設(shè)為15,雙擊第三個(gè)按鈕,將String改為“單位階躍信號(hào)”,F(xiàn)rontsize設(shè)為15,雙擊第四個(gè)按鈕,將String改為“單位脈沖信號(hào)”,F(xiàn)rontsize設(shè)為15,雙擊第五個(gè)按鈕,將String改為“矩形脈沖信號(hào)”,F(xiàn)rontsize設(shè)為15,雙擊第六個(gè)按鈕,將String改為“抽樣信號(hào)”,F(xiàn)rontsize設(shè)為15。將第一個(gè)StaticText的String改為“請(qǐng)輸入幅度、角度、相位”,F(xiàn)rontsize改為10,將第二個(gè)StaticText的String改為“請(qǐng)輸入幅度、相位”,F(xiàn)rontsize改為10,將第三、四、六個(gè)StaticText的String改為“請(qǐng)輸入平移量”,F(xiàn)rontsize改為10,將第五個(gè)StaticText的String改為“請(qǐng)輸入對(duì)城中心和寬度”,F(xiàn)rontsize改為10?!巴顺觥笨丶踩绱瞬僮?,只是String不同而已。右鍵單擊“正弦信號(hào)”,選擇ViewCallbacks中的Callback菜單項(xiàng)就可以打開jbxhcs.fig對(duì)應(yīng)的m文件(jbxhcs.m),這個(gè)文件是MATLAB自動(dòng)生成的,在functionpushbutton1_Callback(hObject,eventdata,handles)下添加程序如下:axes(handles.axes1)%將句柄值為handles.axes1的坐標(biāo)軸指定為當(dāng)前坐標(biāo)軸clcA=str2num(get(handles.edit1,'String'));%將字符串轉(zhuǎn)換為數(shù)值W=str2num(get(handles.edit2,'String'));P=str2num(get(handles.edit3,'String'));t=0:.001:10;ft=A*sin(W*t+P);plot(t,ft),gridtitle('A*sin(W*t+P)')右鍵單擊“指數(shù)信號(hào)”,選擇ViewCallbacks中的Callback菜單項(xiàng)就可以打開jbxhcs.fig對(duì)應(yīng)的m文件(jbxhcs.m),這個(gè)文件是MATLAB自動(dòng)生成的,在functionpushbutton2_Callback(hObject,eventdata,handles)下添加程序如下:axes(handles.axes3)clcA=str2num(get(handles.edit4,'String'));a=str2num(get(handles.edit5,'String'));t=0:.001:10;ft=A*exp(a*t);plot(t,ft),gridtitle('A*exp(a*t)')右鍵單擊“單位階躍信號(hào)”,選擇ViewCallbacks中的Callback菜單項(xiàng)就可以打開jbxhcs.fig對(duì)應(yīng)的m文件(jbxhcs.m),這個(gè)文件是MATLAB自動(dòng)生成的,在functionpushbutton3_Callback(hObject,eventdata,handles)下添加程序如下:axes(handles.axes4)clct=str2num(get(handles.edit7,'String'))-2:0.001:str2num(get(handles.edit7,'String'))+2;ft=(t-str2num(get(handles.edit7,'String'))>0);plot(t,ft)axis([str2num(get(handles.edit7,'String'))-2,str2num(get(handles.edit7,'String'))+2,-0.2,1.2])title('單位階躍信號(hào)')右鍵單擊“單位脈沖信號(hào)”,選擇ViewCallbacks中的Callback菜單項(xiàng)就可以打開jbxhcs.fig對(duì)應(yīng)的m文件(jbxhcs.m),這個(gè)文件是MATLAB自動(dòng)生成的,在functionpushbutton4_Callback(hObject,eventdata,handles)下添加程序如下:axes(handles.axes2)t1=str2num(get(handles.edit6,'String'));%輸入平移量t=t1-1:0.01:t1+1;%信號(hào)時(shí)間樣本點(diǎn)向量n=length(t);%時(shí)間樣本點(diǎn)向量長(zhǎng)度x=zeros(1,n);%產(chǎn)生一行全0矩陣,即各樣本點(diǎn)信號(hào)賦值為0x(1,(n-1)/2)=1;%在t=-t0處,給樣本點(diǎn)賦值stairs(t,x)%用stairs命令畫步進(jìn)圖形axis([str2num(get(handles.edit6,'String'))-1,str2num(get(handles.edit6,'String'))+1,0,1])title('單位脈沖信號(hào)')右鍵單擊“矩形脈沖信號(hào)”,選擇ViewCallbacks中的Callback菜單項(xiàng)就可以打開jbxhcs.fig對(duì)應(yīng)的m文件(jbxhcs.m),這個(gè)文件是MATLAB自動(dòng)生成的,在functionpushbutton5_Callback(hObject,eventdata,handles)下添加程序見附錄1。右鍵單擊“抽樣信號(hào)”,選擇ViewCallbacks中的Callback菜單項(xiàng)就可以打開jbxhcs.fig對(duì)應(yīng)的m文件(jbxhcs.m),這個(gè)文件是MATLAB自動(dòng)生成的,在functionpushbutton6_Callback(hObject,eventdata,handles)下添加程序見附錄1。右鍵雙擊“退出”控件,選擇ViewCallbacks中的Callback菜單項(xiàng)就可以打開jbxhcs.fig對(duì)應(yīng)的m文件(jbxhcs.m),在functionpushbutton7_Callback(hObject,eventdata,handles)下添加程序程序如下:Close(gcf)Rungui;點(diǎn)擊退出控件后就可以關(guān)閉實(shí)驗(yàn)主界面,返回上一級(jí)GUI模塊第六章系統(tǒng)實(shí)驗(yàn)的具體內(nèi)容6.1基本信號(hào)的產(chǎn)生數(shù)字信號(hào)處理的核心是信號(hào),信號(hào)是系統(tǒng)的載體,所以本實(shí)驗(yàn)要求對(duì)基本信號(hào)有一定的認(rèn)識(shí),并掌握基本信號(hào)的產(chǎn)生方法。點(diǎn)擊GUI界面的“第一章基本信號(hào)的產(chǎn)生”控件,彈出窗口圖5.1。圖5.2實(shí)驗(yàn)結(jié)果在正弦信號(hào)處輸入幅度為2,角度為4,相位為5,出現(xiàn)的結(jié)果即為表達(dá)式x[k]=2sin(4t+5)的波形;在指數(shù)信號(hào)處輸入幅度為2,相位為3,出現(xiàn)的結(jié)果極為x[k]=2exp(3t)的波形;在單位階躍信號(hào)處輸入平移量為3,則出現(xiàn)的結(jié)果即將原始的單位階躍信號(hào)平移3之后的波形;在單位脈沖信號(hào)處輸入平移量為4,則結(jié)果即為將原始的單位脈沖信號(hào)向右平移4之后的波形;在矩形脈沖信號(hào)處輸入對(duì)稱中心為3,寬度為2,則出現(xiàn)的波形即為以3對(duì)稱,寬度為2的矩形信號(hào);在抽樣信號(hào)處輸入平移量4,則出現(xiàn)的結(jié)果極為將原始抽樣信號(hào)平移4之后的波形。這些參數(shù)可以任意輸入,通過輸入不同的參數(shù)做出比較。5.2序列的基本運(yùn)算1本實(shí)驗(yàn)的目的是加深對(duì)常用序列的理解,并進(jìn)行運(yùn)算和掌握MATLAB中一些基本函數(shù)的建立方法。序列的基本運(yùn)算包括翻轉(zhuǎn)、位移、相加、相乘和卷積。各運(yùn)算的程序見(附錄2)在翻轉(zhuǎn)處輸入幅度為2,由結(jié)果可以看出,序列翻轉(zhuǎn)了180度,幅度增加2倍;在位移處輸入幅度為3,由結(jié)果可知,序列向右平移了3個(gè)單位量;在相加處輸入幅度為3,由結(jié)果可知,兩個(gè)序列已經(jīng)相加,并且結(jié)果擴(kuò)展了3倍;在相乘處輸入3,由結(jié)果可知,兩個(gè)序列已經(jīng)相乘,且幅度擴(kuò)展了3倍;在卷積處輸入幅度為2,由結(jié)果可知,幅度擴(kuò)展了2倍。由圖5.4可知,當(dāng)輸入?yún)?shù)時(shí),結(jié)果一目了然,也能結(jié)合實(shí)驗(yàn)內(nèi)容進(jìn)行相應(yīng)的學(xué)習(xí)。當(dāng)參數(shù)不符合要求,會(huì)彈出警告框,如圖5.5。圖5.5警告信息平移時(shí)k>=0,所以t>=-7,當(dāng)t<=-8時(shí),會(huì)出現(xiàn)警告信息,可以重新輸入。2相加信號(hào)f1(t)與f2(t)之和(瞬時(shí)和)是指同一瞬時(shí)兩信號(hào)之值對(duì)應(yīng)相加所構(gòu)成的“和信號(hào)”,即f3=f1(t)+f2(t),如圖2-7,給定已知信號(hào)f1(t)=ε(t)和f2(t)=sin(3*t),可得f3=f1(t)+f2(t)。如圖所示3相乘信號(hào)f1(t)與f2(t)之和積(瞬時(shí)積)是指同一瞬時(shí)兩信號(hào)之值對(duì)應(yīng)相乘所構(gòu)成的“積信號(hào)”,即f4=f1(t)·f2(t),如圖2-11,給定已知信號(hào)f1(t)=ε(t)和f2(t)=sin(3*t),可得f4=f1(t)·f2(t)。如圖2-11所示:5.6生成可執(zhí)行文件本系統(tǒng)要求最終結(jié)果要脫離開發(fā)工具(Matlab)軟件獨(dú)立運(yùn)行,我們?cè)谧鯣UI的時(shí)候主要參考了別人生成可執(zhí)行文件的方法。首先在matlab命令行窗口中輸入guide,打開gui設(shè)計(jì)的圖形界面。然后拖入所要的圖形控件,按需要修改外觀直至滿足要求。點(diǎn)擊guide界面上方的Run按鈕,會(huì)生成一個(gè)fig文件,一個(gè)m文件,其中fig文件是你界面的圖形,m文件是你界面的回調(diào)函數(shù),在m文件里每個(gè)控件的回調(diào)函數(shù)都已經(jīng)自動(dòng)生成,把我們自己的m代碼填在相應(yīng)的回調(diào)函數(shù)里即可。我們?cè)谧霰鞠到y(tǒng)的時(shí)候,主要按照以下步驟:首先,使用mcc編譯得到.exe文件,具體參數(shù)見幫助文件;其次,將.exe文件及相關(guān)資源文件以及一個(gè)稱為mglinstaller.exe的軟件包一起拷到別的機(jī)器上,運(yùn)行mglinstaller.exe,并添加環(huán)境變量path,即可執(zhí)行.exe文件。第三,在MATLAB環(huán)境,執(zhí)行命令mcc

-m

-B

sgl

file.m

或者mcc

-p

-B

sglcpp

file.m

請(qǐng)鍵入help

mcc看幫助。

在做的過程中我們還用到了打包等細(xì)節(jié)技術(shù),打包的步驟是在matlab下的workspace里打comtool,點(diǎn)file-open

project將我們先前建好的comtest.cbl工程文件打開,再點(diǎn)component--package

component就實(shí)現(xiàn)了打包,此時(shí)到comtest\distrib文件夾里看,生成的comtest.exe就是打包后的解壓程序,雙擊它會(huì)解壓出一些文件,再點(diǎn)擊解壓出來的_install.bat就可以實(shí)現(xiàn)安裝。另外,把gui生成exe

還有其他方法,比如1)在matlab的command窗口中輸入

mcc

-B

sgl

GUI.m

2)將上步生成的文件包括*m

文件和*.fig文件一起考到待運(yùn)行的機(jī)器

此時(shí)仍需matlab所必需的動(dòng)態(tài)連接庫。

3)

<matlab

path

>/extern/lib/win32/mglinstallar.exel拷貝到到待運(yùn)行機(jī)器上

4)在機(jī)器上先運(yùn)行mglinstallar.exe,

然后選擇解壓目錄,將在指定目錄下解壓縮出bin和toolbox兩子目錄,其中在bin\win32目錄下就是數(shù)學(xué)庫和圖形庫脫離MATLAB運(yùn)行所需的所有動(dòng)態(tài)連接庫,共有37個(gè)??梢詫⑦@些.dll考入system32,

也可以直接放在應(yīng)用程序目錄下。而toolbox目錄則必須與應(yīng)用程序同一目錄。

5)大功告成。

5.6小結(jié)本章討論了軟件平臺(tái)的整體設(shè)計(jì),給出了系統(tǒng)整體框圖和各模塊的界面和設(shè)計(jì)方法,詳細(xì)介紹了各個(gè)模塊產(chǎn)生波形的原理,并分析了最后生成可執(zhí)行文件的方法。6.4小結(jié)我們完成的功能是仿真,對(duì)信號(hào)波形的動(dòng)態(tài)仿真、基本序列計(jì)算、基本信號(hào)的產(chǎn)生過程、傅立葉變換分析、信號(hào)卷積等?;拘蛄械娜藱C(jī)交互,基本信號(hào)產(chǎn)生模塊的人機(jī)交互,卷積分析的人機(jī)交互,濾波器設(shè)計(jì)模塊的人機(jī)交互,信號(hào)的傅立葉變換模塊的人機(jī)交互。當(dāng)輸入數(shù)據(jù)之后,結(jié)果會(huì)以可視化的方式顯示出來。其他的就是一些靜態(tài)的演示圖,通過編程顯示出來,主要實(shí)現(xiàn)的內(nèi)容包括基本信號(hào)的波形產(chǎn)生例如正弦波形,三角波形,脈沖波形。各種濾波器的設(shè)計(jì)低通濾波器、高通濾波器和巴特沃斯濾波器。通過測(cè)試,本軟件具有良好的系統(tǒng)穩(wěn)定性。經(jīng)過大量數(shù)據(jù)測(cè)試,我們發(fā)現(xiàn)了一些問題,并及時(shí)地對(duì)其作了修改,我們邊測(cè)試邊調(diào)試。目前系統(tǒng)能夠完全按要求正常運(yùn)行,通過測(cè)試也使我們明白了:編寫一個(gè)功能完善的軟件是需要經(jīng)過多次的測(cè)試調(diào)試才能夠正常運(yùn)行的。程序編寫的完成只是整個(gè)開發(fā)過程中的小部分,我們所進(jìn)行的單元測(cè)試和集成測(cè)試是軟件的開發(fā)過程中較為繁重的一個(gè)環(huán)節(jié)。在測(cè)試過程中出現(xiàn)的某些故障都是出乎意料的,有些問題的解決也許并不困難,但要周密的考慮過程。第七章結(jié)論參考文獻(xiàn)[1]蘇中義.MATLAB簡(jiǎn)介[J].上海電機(jī)技術(shù)高等??茖W(xué)院學(xué)報(bào),2003,4:78.[2]楊建強(qiáng),羅先香.MATLAB軟件工具箱簡(jiǎn)介[J].水科學(xué)進(jìn)展,2001,12(2):237~242.[3]劉瑞楨.MATLAB簡(jiǎn)介[J].電腦編程技巧與維護(hù),1997,7(1):48~51.[4]楊世文,許小健.MATLAB優(yōu)化工具箱在結(jié)構(gòu)優(yōu)化設(shè)計(jì)中的應(yīng)用[J].科學(xué)技術(shù)與工程,2008,8(5):1347~1349.[5]劉勤讓,羅小武.基于MATLAB的信號(hào)處理仿真[J].信息工程大學(xué)學(xué)報(bào),2000,1(1):38~40.[6]高飛,汪浩.基于MATLAB的“信號(hào)與系統(tǒng)”仿真實(shí)驗(yàn)及其性能分析[J].南民族學(xué)院學(xué)報(bào)(自然科學(xué)版),2001,10(2):266~269.[7]林月美,陳仁安,基于MATLAB的信號(hào)與系統(tǒng)軟件實(shí)驗(yàn)平臺(tái)[J].集美大學(xué)學(xué)報(bào),2001,6(3):51~254.[8]夏平.基于matlab的信號(hào)與系統(tǒng)、數(shù)字信號(hào)處理實(shí)驗(yàn)體系[J].教學(xué)實(shí)驗(yàn),2004,26(5):73~76.[9]李蘊(yùn)華.基于Matlab的《信號(hào)與系統(tǒng)》頻域分析[J].武漢科技學(xué)院學(xué)報(bào),2006,19(5):21~24.[10]任亞莉.MATLAB在信號(hào)與系統(tǒng)仿真實(shí)驗(yàn)中的應(yīng)用[J].編程園地,2006,16(2):34~36.[11]許艷惠.基于MA丁LAB的信號(hào)系統(tǒng)仿真及應(yīng)用[J].儀器儀表用戶,2006:96~97.[12]呂鋒,劉泉,江雪梅.基于MATLAB的信號(hào)與系統(tǒng)軟件實(shí)驗(yàn)平臺(tái)[J].理工高教研究,2006,4(25):98~99.[13]羅朝明,李文,李延平,劉杰.基于Matlab和VB的《信號(hào)與系統(tǒng)》虛擬實(shí)驗(yàn)系統(tǒng)[J].湖南理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2007,20(1):59~62.[14]馬蕾,任全會(huì).基于MATLAB的信號(hào)與系統(tǒng)頻域方面仿真教學(xué)[J].SCIENCE&TECHNOLOGYINFORMATION,2007,10:361~362.[15]肖軍,張偉宏.MATLAB軟件及其應(yīng)用[J].《軟件工程師》,1998,4:25~27.[16]陳金.什么是MATLAB.振動(dòng)、測(cè)試與診斷[J].1999,15:56~57.[17]初秀琴.Matlab外部接口的研究與實(shí)現(xiàn)[J].計(jì)算仿真,2002,19(1):107~109.[18]李?。趍atlab的數(shù)字圖像處理WEB實(shí)驗(yàn)平臺(tái)的開發(fā)[J].2003,23(10):80~84.[19]姜長(zhǎng)元.vc和Matlab混合編程的方法及實(shí)現(xiàn)[J].編程園地,2004.[20]周傳勝.基于MATLAB的網(wǎng)絡(luò)交互式虛擬現(xiàn)實(shí)實(shí)驗(yàn)系統(tǒng)的研究[J].實(shí)驗(yàn)技術(shù)與管理.[21]李世銀,辛?xí)喳?羅驅(qū)波,岳婷.基于MATLABWebServer的通信原理遠(yuǎn)程仿真系統(tǒng)開發(fā)[J].電氣電子教學(xué)學(xué)報(bào),2005,3(6):103~105.附錄2:程序第一章:正弦信號(hào):Functionpushbutton2_Callback(hObject,eventdata,handles)%將句柄值為handles.axes1設(shè)置成當(dāng)前坐標(biāo)軸axes(handles.axes1)clc%將字符串轉(zhuǎn)變?yōu)閿?shù)值A(chǔ)=str2num(get(handles.edit1,'String'));W=str2num(get(handles.edit2,'String'));P=str2num(get(handles.edit3,'String'));t=0:.001:10;ft=A*sin(W*t+P);plot(t,ft);grid;title('A*sin(W*t+P)');指數(shù)信號(hào):Functionpushbutton3_Callback(hObject,eventdata,handles)axes(handles.axes3)clcA=str2num(get(handles.edit4,'String'));a=str2num(get(handles.edit5,'String'));t=0:.001:10;ft=A*exp(a*t);plot(t,ft);grid;title('A*exp(a*t)')單位階躍信號(hào):functionpushbutton5_Callback(hObject,eventdata,handles)a

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論