基于MATLAB的數(shù)字信號處理虛擬實驗仿真平臺 畢業(yè)設(shè)計_第1頁
基于MATLAB的數(shù)字信號處理虛擬實驗仿真平臺 畢業(yè)設(shè)計_第2頁
基于MATLAB的數(shù)字信號處理虛擬實驗仿真平臺 畢業(yè)設(shè)計_第3頁
基于MATLAB的數(shù)字信號處理虛擬實驗仿真平臺 畢業(yè)設(shè)計_第4頁
基于MATLAB的數(shù)字信號處理虛擬實驗仿真平臺 畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學(xué) 號: 3040431211 題目類型: 設(shè)計 (設(shè)計、論文、報告)桂林工學(xué)院GUILIN UNIVERSITY OF TECHNOLOGY本科畢業(yè)設(shè)計(論文)題目: 基于MATLAB的數(shù)字信號處理虛擬實驗仿真平臺 系 ( 院 ): 電子與計算機系 專業(yè)(方向): 通信工程 班 級: 學(xué) 生: 指導(dǎo)教師: 2008 年 5 月 22日29摘 要數(shù)字信號處理在大專院校的通信類及電子類專業(yè)中是一門非常重要的基礎(chǔ)課程, 具有內(nèi)容抽象,學(xué)生不容易掌握的特點。另一方面,教師在講授主要些內(nèi)容時也不方便。針對教學(xué)中存在的這種問題,為了方便教師授課和學(xué)生學(xué)習(xí),使抽象的內(nèi)容形象化,提高學(xué)生的學(xué)習(xí)興趣,本文以M

2、ATLAB作為開發(fā)平臺,設(shè)計了基于MATLAB的數(shù)字信號處理虛擬實驗仿真平臺,改變了傳統(tǒng)的實驗方式 ,將數(shù)字信號處理的實驗內(nèi)容集中在一個平臺上,操作簡單方便,結(jié)果直觀準(zhǔn)確。MATLAB開放的環(huán)境、功能極強的圖形繪制、各種工具箱及其簡單易學(xué)的特點,使系統(tǒng)開發(fā)簡單、快捷。本系統(tǒng)采用友好的GUI界面設(shè)計,用簡潔的文字、豐富的畫面將抽象的內(nèi)容展現(xiàn)在學(xué)生面前,提高了學(xué)生的學(xué)習(xí)積極性和主動性。關(guān)鍵詞: 數(shù)字信號處理;實驗平臺;MATLAB;GUIThe design of digital signal processing virtual experiment simulation platform ba

3、sed on Matlab Student:Huang Zhong-Ze Teacher: Li XinAbstract : “Digital Signal Processing” is the important foundation course of electrical and communications professionals in university, the content is very abstracty and students are not easy to grasp. The other hand, teachers taught in some main c

4、ontents not very convenient. Against such problems exist in teaching,to allow teachers to teach and students to learn. So abstract as figurative, Enhance their learning interest. This paper represents digital signal processing virtual experiment simulation platform using Matlab. It changes the tradi

5、tional teaching methods and focus on the content of a platform. Operation is simple and convenient. Results is visual and accurate. Matlab provides an open environment, highly functional graphical rendering. Toolbox and its features is easy to learn, which make the system development simple and fast

6、, The system uses a friendly GUI interface design, using simple language, rich picture will be displayed the abstract content in the front of the students and improved students learning enthusiasm and initiative. Key words : digital signal processing ;experiment platform ;matlab ;gui目錄摘 要IAbstractII

7、目錄11 引言21.1 課題的背景21.2國內(nèi)外研究現(xiàn)狀21.3 課題主要研究內(nèi)容和研究意義32 MATLAB的介紹42.1 MATLAB 簡介42.2 MATLAB語言的發(fā)展歷程和影響42.3 MATLAB語言的特點52.4 MATLAB的工作環(huán)境52.5 工作環(huán)境的特點53 MATLAB在數(shù)字信號處理教學(xué)中的應(yīng)用63.1 MATLAB的應(yīng)用現(xiàn)狀63.2 MATLAB在數(shù)字信號處理教學(xué)中的應(yīng)用63.3 在數(shù)字信號處理教學(xué)實驗中應(yīng)用MATLAB 的意義74 數(shù)字信號處理虛擬實驗仿真平臺設(shè)計的必要性和可行性84.1增加 MATLAB 內(nèi)容的必要性和可行性84.1.1 必要性84.1.2可行性10

8、4.2 用MATLAB做數(shù)字信號處理虛擬實驗仿真平臺的優(yōu)點104.2.1 數(shù)字信號處理課程實驗的教學(xué)現(xiàn)狀104.2.2 強大的作圖功能使抽象的概念一目了然114.2.3利用現(xiàn)代化的教學(xué)手段, 增強教學(xué)效果115 基于matlab數(shù)字信號處理虛擬實驗仿真平臺整體構(gòu)建方案125.1仿真平臺應(yīng)用軟件設(shè)計實現(xiàn)125.1.1總體結(jié)構(gòu)設(shè)計125.1.2軟件實現(xiàn)136 基于matlab的數(shù)字信號處理虛擬實驗仿真平臺的實現(xiàn)146.1 界面的設(shè)計方法146.1.1句柄圖形及圖形用戶界面146.1.2 GUIDE的設(shè)計過程146.1.3 基于matlab的數(shù)字信號處理虛擬實驗仿真平臺主界面156.1.4 基于MA

9、TLAB數(shù)字信號處理實驗設(shè)計實例196.1.5實驗仿真平臺的特點257 結(jié)論26致 謝27參考文獻(xiàn)281 引言1.1 課題的背景數(shù)字信號處理是應(yīng)用最快、成效最顯著的新科學(xué)之一, 廣泛地應(yīng)用在通信、控制、生物醫(yī)學(xué)、遙測遙感、地址勘探、航空航天、自動化儀表等領(lǐng)域, 國內(nèi)外高校都為相關(guān)專業(yè)的學(xué)生開設(shè)了這門課程。除通信電子信息類的專業(yè)外, 計算機科學(xué)與技術(shù)、光信息科學(xué)與技術(shù)、地理信息系統(tǒng)、信息安全、生物醫(yī)學(xué)工程、測控技術(shù)與儀器等專業(yè)都在教學(xué)計劃中相繼設(shè)置了數(shù)字信號處理課程。數(shù)字信號處理是一門非常重要的課程,它利用傅立葉變換和Z變換等數(shù)學(xué)方法,闡述了離散信號的特性和時域離散系統(tǒng),通過對IIR 和DIR

10、濾波器的設(shè)計,分析了數(shù)字信號處理的實現(xiàn)方法。數(shù)字信號處理課程的特點是概念多, 公式、性質(zhì)的推導(dǎo)和證明繁瑣, 還需信號與系統(tǒng)等相關(guān)課程的基礎(chǔ), 被公認(rèn)為大學(xué)課程中最難的課程之一,學(xué)生對上課內(nèi)容的理解往往跟不上老師授課的進度?,F(xiàn)在很多大學(xué)教師在課堂上采用了多媒體教學(xué), 多媒體授課具有教學(xué)信息量大, 信息傳遞便捷、交互性較強、感官刺激效果好等特點。對于講授數(shù)字信號處理課程的老師來說,要提高學(xué)生對這門課的認(rèn)識, 可從豐富教學(xué)手段入手, 除了考慮制作具有動態(tài)效果的幻燈片之外, 還可以采用像MATLAB這樣的軟件設(shè)計多媒體課件,而利用MATLAB 強大的數(shù)值計算和信號處理功能 ,可以很方便地得到設(shè)計結(jié)果,

11、并能直觀地分析和比較濾波器的各項性能指標(biāo)以及各種設(shè)計方法的優(yōu)劣,為學(xué)生理解算法和簡化運算帶來了極大的方便。數(shù)字信號處理是一門以算法為核心的理論性很強的學(xué)科,許多理論都基于比較抽象和繁瑣的推論和推導(dǎo),本科學(xué)生學(xué)習(xí)這門課程具有一定的困難,所以實驗顯得尤為重要。目前我校的數(shù)字信號處理課程共48學(xué)時,其中10學(xué)時MATLAB軟件編程實驗,對理論進行驗證,可幫助學(xué)生理解與掌握課程中的基本概念, 基本分析方法, 提高學(xué)生的動手能力, 科研能力和創(chuàng)新能力。1.2 國內(nèi)外研究現(xiàn)狀隨著科學(xué)技術(shù)的發(fā)展 ,傳統(tǒng)的教學(xué)媒體如黑板教科書承載信息的種類和能力都十分有限 ,遠(yuǎn)遠(yuǎn)滿足不了現(xiàn)代教學(xué)的需要.另一方面學(xué)生理解和接授

12、知識時感覺枯燥、難度大.計算機技術(shù)的飛速發(fā)展和MATLAB軟件的推出 ,利用計算機進行輔助教學(xué)這種教學(xué)手段己經(jīng)逐步進入課堂教學(xué)領(lǐng)域。MATLAB是數(shù)字信號處理的一個卓越平臺,具有開放的環(huán)境、功能極強的矩陣運算、圖形繪制、數(shù)據(jù)處理、各種工具箱等許多優(yōu)點,為系列課的教學(xué)提供了一個連續(xù)的、有實用價值的工具1。國外在若干年前,就開始把交互式軟件MATLAB用于數(shù)字信號處理的教學(xué),采用易學(xué)易用、功能強大的系統(tǒng)開發(fā)平臺作為計算機輔助教學(xué)軟件。目前,我國數(shù)字信號處理教學(xué)輔助軟件已經(jīng)不少,但是大多采用的VB、VC或使用FLASH動畫實現(xiàn),而采用MATLAB自身的圖形用戶界面設(shè)計,取得了良好的效果,但數(shù)字信號處

13、理實驗平臺在設(shè)計過程中還有許多不盡完善的地方,學(xué)生實驗復(fù)雜,還容易出錯,實驗設(shè)備損壞率較高。1.3 課題主要研究內(nèi)容和研究意義根據(jù)我校學(xué)生的實際情況,考慮到如果采用學(xué)生自己編程的方法,需要學(xué)生熟練掌握一種高級語言和具有一定的軟件編程能力和技巧。本課程教學(xué)的重點不在于提高學(xué)生的編程能力,而是要求學(xué)生掌握數(shù)字信號處理的基本概念,基本方法和基本技能。因此,為了提高教學(xué)效果,激發(fā)學(xué)生的學(xué)習(xí)的興趣,降低實驗成本,本文基于MATLAB 設(shè)計了一套數(shù)字信號處理虛擬實驗平臺,該平臺利用MATLAB的圖形用戶界面(GUI)設(shè)計工具,以實驗內(nèi)容為依托,設(shè)計了與實驗內(nèi)容配套,與課堂教學(xué)相結(jié)合,將實驗內(nèi)容融入教學(xué)過程

14、中,可用于數(shù)字信號處理課程的實驗輔助教學(xué)、課堂教學(xué)演示,也可作為學(xué)生課后自學(xué)的輔助工具。實踐證明,這種教學(xué)實驗輔助軟件起到了良好的效果,提高了同學(xué)們對理論的理解和對內(nèi)容的掌握,并且學(xué)生在使用過程中再進行一系列的驗證,加深了對所學(xué)內(nèi)容進一步的理解和鞏固。2 MATLAB的介紹2.1 MATLAB 簡介MATLAB是美國Math works公司開發(fā)的新一代科學(xué)計算軟件,是一套高性能的數(shù)值計算和可視化軟件,功能強大,編程簡單,開放性強,廣泛應(yīng)用于計算機輔助分析設(shè)計、仿真、數(shù)據(jù)處理等領(lǐng)域,是當(dāng)今國際上公認(rèn)的在科技領(lǐng)域方面最為優(yōu)秀的應(yīng)用軟件和開發(fā)環(huán)境。在歐美各高等院校,已經(jīng)成為應(yīng)用線性代數(shù)、自動控制理論

15、、數(shù)據(jù)統(tǒng)計、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真、圖像處理等高級課程的基本教學(xué)工具。MATLAB 是一種既可交互使用又能解釋執(zhí)行的計算機編程語言,使用接近數(shù)學(xué)表達(dá)式的自然化語言,簡單易學(xué),具有可靠的數(shù)值、符號運算能力和強大的圖形和可視化功能;此外,MATLAB 內(nèi)部包括許多專業(yè)性較強的工具包并與其他高級語言有接口2。MATLAB的功能和特點使它具備了對應(yīng)用學(xué)科(特別是邊緣學(xué)科和交叉學(xué)科)的極強適應(yīng)力,并很快成為應(yīng)用學(xué)科計算機輔助分析、設(shè)計、仿真、數(shù)學(xué)乃至科技文字處理不可缺少的基礎(chǔ)軟件。 2.2 MATLAB語言的發(fā)展歷程和影響 MathWorks公司于1993年推出MATLAB4.0版本,

16、從此告別DOS版。4.x版在繼承和發(fā)展其原有的數(shù)值計算和圖形可視能力。1997年仲春,MATLAB5.0版問世,緊接著是5.1、5.2,以及和1999年春的5.3版。 誠然,到1999年底,Mathematica也已經(jīng)升到6.0版,它特別加強了以前欠缺的大規(guī)模數(shù)據(jù)處理能力。但是,就影響而言,至今仍然沒有一個別的計算軟件可與MATLAB匹敵。 在歐美大學(xué)里,諸如應(yīng)用代數(shù)、數(shù)理統(tǒng)計、自動控制、數(shù)字信號處理、模擬與數(shù)字通信、時間序列分析、動態(tài)系統(tǒng)仿真等課程的教科書都把MATLAB作為內(nèi)容。在國外MATLAB是攻讀學(xué)位的大學(xué)生、碩士生、博士生必須掌握的基本工具。 在國際學(xué)術(shù)界,MATLAB已經(jīng)被確認(rèn)為

17、準(zhǔn)確、可靠的科學(xué)計算標(biāo)準(zhǔn)軟件。在許多國際一流學(xué)術(shù)刊物上,都可以看到MATLAB的應(yīng)用。2.3 MATLAB語言的特點 MATLAB自問世起,就以數(shù)值計算稱雄。MATLAB進行數(shù)值計算的基本處理單位是復(fù)數(shù)數(shù)組(或稱陣列),并且數(shù)組維數(shù)是自動按照規(guī)則確定的。這一方面使MATLAB程序可以被高度“向量化”,另方面使用戶易寫易讀。 MATLAB指令是簡單的,但其內(nèi)涵卻遠(yuǎn)遠(yuǎn)超出了普通教科書的范圍,其計算的快速性、準(zhǔn)確性和穩(wěn)定性都是普通程序所遠(yuǎn)不及的。數(shù)據(jù)類型的變革,面向?qū)ο缶幊碳夹g(shù)的采用,所產(chǎn)生的影響是廣泛而深層的。這種影響首先表現(xiàn)在MATLAB的自身。新版MATLAB的控制流新增了多分支結(jié)構(gòu)switc

18、h-case、try-catch結(jié)構(gòu)和警告提示指令error、warning,這進一步提高了程序的可讀性和運行可靠性。新版的函數(shù)類型大大豐富,適應(yīng)編制和管理復(fù)雜程度不同的程序。而子函數(shù)、私用函數(shù)的增添,使得復(fù)雜函數(shù)比較容易組織,既提高了軟件的“重用度”,又避免了眾多內(nèi)存變量名的沖突、龐大工具庫的函數(shù)名沖突。2.4 MATLAB的工作環(huán)境 所謂工作環(huán)境是指:幫助系統(tǒng)、工作內(nèi)存管理、指令和函數(shù)管理、搜索路徑管理、操作系統(tǒng)、程序調(diào)試和性能剖析工具等。2.5 工作環(huán)境的特點(1)大量引入圖形用戶界面(2)引入了全方位幫助系統(tǒng)(3)M文件編輯、調(diào)試的集成環(huán)境(4)Notebook新的安裝方式3 MATL

19、AB在數(shù)字信號處理教學(xué)中的應(yīng)用3.1 MATLAB的應(yīng)用現(xiàn)狀MATLAB的函數(shù)和命令幾乎可以實現(xiàn)C或FORTRAN語言的全部功能,用戶不懂C或者FOR2TRAN等高級語言也能開發(fā)出功能強大、界面友好、穩(wěn)定可靠的程序來,開發(fā)周期大大縮短。若用戶熟悉C或FORTRAN ,MATLAB提供了相應(yīng)的接口,允許相互調(diào)用,因此MATLAB具有較好的開放性。MATLAB的高效編程還體現(xiàn)在各類學(xué)科的專家在各自的領(lǐng)域用MATLAB編寫的許多準(zhǔn)確、高效的工具箱,工具箱實際上是對MATLAB進行擴展應(yīng)用的一系列MATLAB函數(shù)(稱為M 文件) ,供用戶方便地使用,諸如信號處理、圖象處理、控制系統(tǒng)、工程優(yōu)化及神經(jīng)網(wǎng)絡(luò)

20、等工具箱。所以MATLAB 逐漸成為涉及數(shù)值分析的各類學(xué)科教學(xué)與科學(xué)研究必不可少的工具。SIMULINK是一個用來對動態(tài)系統(tǒng)進行建模、仿真和分析的軟件包,SIMULINK為用戶提供了用方框圖進行建模的圖形接口,采用這種結(jié)構(gòu)化模型就像用筆和紙來畫一樣容易。它與傳統(tǒng)的仿真軟件包用微分方程和差分方程建模相比,更具直觀、方便、靈活的優(yōu)點。目前,發(fā)達(dá)國家高等院校的工科類學(xué)生都把MATLAB作為必修課, 實驗室通常都配備裝有MATLAB的計算機供學(xué)生學(xué)習(xí)和研究使用。學(xué)生的許多作業(yè)都可以在計算機上完成,這些硬條件為許多課程的教學(xué)帶來了極大的靈活性和便利性。而我國工科類的教學(xué)還未能充分利用MATLAB強大功能

21、,現(xiàn)有的MATLAB書籍大都作為計算機應(yīng)用工具書出現(xiàn),未能與具體學(xué)科的教材有機地結(jié)合起來。3.2 MATLAB在數(shù)字信號處理教學(xué)中的應(yīng)用 數(shù)字信號處理是20世紀(jì)60年代以來, 隨著大規(guī)模集成電路和計算機技術(shù)的發(fā)展而迅速發(fā)展起來的一門新興學(xué)科。它以精度高、靈活性大、可靠性強、易于大規(guī)模集成等優(yōu)點在通信、雷達(dá)、地震、聲納、遙感和生物醫(yī)學(xué)等領(lǐng)域得到了越來越廣泛的應(yīng)用。它不僅是電子信息、通信類專業(yè)的主干課程, 也是工科學(xué)生受益較多的一門課程。數(shù)字信號處理研究的是用數(shù)字的方法, 正確快速地處理信號提取各類信息。該課程的特點是理論性強, 涉及到的數(shù)學(xué)理論、公式很多, 知識面非常廣泛, 既討論理論問題, 又

22、討論理論的應(yīng)用。該課程內(nèi)容比較抽象,尤其是課程中的許多章節(jié)的內(nèi)容,需要作圖才能理解有關(guān)概念和原理,學(xué)生學(xué)習(xí)起來難于理解, 學(xué)習(xí)的積極性和學(xué)習(xí)質(zhì)量都受到一定影響,教學(xué)質(zhì)量難以提高。我認(rèn)為現(xiàn)有的教材缺乏典型具體的實例,來全面系統(tǒng)地貫穿這些理論基礎(chǔ)知識。這就使得學(xué)生在學(xué)習(xí)時,一直停留于抽象的、表面的理解,不能與實際信號處理系統(tǒng)聯(lián)系起來,形成明確的解決問題的思路。鑒于教學(xué)中的這些問題,我認(rèn)為可從如下幾個方面來著手解決:(1)從專業(yè)課程設(shè)置上,建議給通信工程專業(yè)低年級學(xué)生開設(shè)計算機應(yīng)用教程,把MATLAB的基礎(chǔ)知識作為此課程的重要內(nèi)容。使得學(xué)生能夠掌握使用MATLAB 這類工程計算軟件的基本技術(shù),包括基

23、本數(shù)學(xué)計算、矩陣處理、計算結(jié)果的可視化和符號運算等。(2)現(xiàn)有的數(shù)字信號處理教材,應(yīng)適當(dāng)?shù)丶右愿隆Un程內(nèi)容應(yīng)緊密結(jié)合當(dāng)前電子信息學(xué)科發(fā)展的趨勢,不僅注重理論,而且還要側(cè)重于系統(tǒng)性強、有工程實際意義的實例,并且將MATLAB引入教學(xué)中。使得學(xué)生通過典型信號處理系統(tǒng)的數(shù)學(xué)建模、系統(tǒng)性能分析及設(shè)計,真正掌握信號系統(tǒng)理論解決工程問題的一套系統(tǒng)科學(xué)的方法。再次,教師在推動MATLAB的教學(xué)應(yīng)用中起著相當(dāng)重要的作用。教師應(yīng)該通過應(yīng)用MATLAB進行科研來提高自身的水平,只有通過科研才能深刻理解MATLAB強大的功能及其在工程中的應(yīng)用。這樣講課才能真正做到科研與教學(xué)相長??傊?MATLAB在電子信息領(lǐng)域的

24、應(yīng)用潛力極大,尤其在數(shù)字信號處理課程教學(xué)過程中的應(yīng)用,設(shè)計一些有典型代表意義的仿真實驗,幫助學(xué)生學(xué)習(xí)復(fù)雜的信號處理系統(tǒng)的數(shù)學(xué)模型建立、算法實現(xiàn)。此外,將MATLAB有效地貫穿于數(shù)字信號處理課程教學(xué)環(huán)節(jié)中,需不斷總結(jié)和積累經(jīng)驗,只有這樣,才能切實改進和提高教學(xué)質(zhì)量。3.3 在數(shù)字信號處理教學(xué)實驗中應(yīng)用MATLAB 的意義由于這門學(xué)科的抽象性,數(shù)字信號處理課程處于一種教難、學(xué)更難的境況中,主要因為:一方面本課程要求較好的數(shù)學(xué)基礎(chǔ),公式和推導(dǎo)很多,大量的算法適于在計算機上實現(xiàn),對于學(xué)生來說運算量大而繁瑣,學(xué)習(xí)者難以親手驗證,因而得不到形象化的結(jié)果,使得對理論的理解難以透徹;另一方面,學(xué)生難以把本課程

25、的理論應(yīng)用到實際當(dāng)中去,解決一些實際問題,從而無法提高對本課程的學(xué)習(xí)興趣。因此,針對課程教學(xué)中存在的上述問題,設(shè)計基于Matlab 軟件的數(shù)字信號處理課程實驗系統(tǒng),利用Matlab的圖形界面設(shè)計功能和相應(yīng)的信號處理工具箱, 將課程中枯燥的原理、理論及分析方法等內(nèi)容設(shè)計成一個完整的交互式實驗演示系統(tǒng), 以圖形的方式展示給學(xué)生, 一方面直觀地驗證了相關(guān)原理、方法的正確性, 有助于學(xué)生對抽象理論的理解, 另一方面加深了學(xué)生對所學(xué)知識的理解, 更重要的是激發(fā)了學(xué)生的學(xué)習(xí)興趣,又能彌補實驗手段的不足,從而達(dá)到提高課堂教學(xué)質(zhì)量目的3。4 數(shù)字信號處理虛擬實驗仿真平臺設(shè)計的必要性和可行性數(shù)字信號處理是電子通

26、信類相關(guān)專業(yè)的一門重要專業(yè)基礎(chǔ)課程, 是本科生后續(xù)課程和研究生課程的基礎(chǔ), 它在專業(yè)課程體系中占有重要地位. 該課程的主要任務(wù)是通過對數(shù)字信號處理理論知識的學(xué)習(xí),培養(yǎng)學(xué)生對數(shù)字信號處理系統(tǒng)的分析和設(shè)計能力、工程實踐能力和創(chuàng)新能力.課程的特點是:內(nèi)容豐富、理論性強、涉及知識面廣、信息量大、更新發(fā)展快,而且比較抽象,習(xí)題多、難度大,是具有一定深度和學(xué)習(xí)難度的課程,學(xué)生感到難學(xué),教師難教.顯然面對這樣一門課程,沿用傳統(tǒng)的“課堂講授+驗證性實驗”的教學(xué)方法是無法解決問題的.必須更新觀念,建立一套包括理論講授、計算機輔助教學(xué)、實踐教學(xué)在內(nèi)的全方位的課程教學(xué)新體系,充分調(diào)動教師和學(xué)生兩方面的積極性,利用各

27、種教學(xué)方法和手段,全面提高課程的教學(xué)質(zhì)量.4.1增加 MATLAB 內(nèi)容的必要性和可行性4.1.1 必要性數(shù)字信號處理是一門技術(shù)基礎(chǔ)課,需要將所學(xué)得理論應(yīng)用到實踐中去。有必要從一開始就讓學(xué)生以簡單的MATLAB語言學(xué)習(xí)用計算機如何建模,如何分析和設(shè)計函數(shù)等 ,以強化數(shù)字信號理論的應(yīng)用性,另一方面,MATLAB強大的可視化數(shù)據(jù)處理功能也能夠彌補數(shù)字信號處理理論課程授課時數(shù)的不足。例如 ,在數(shù)字信號處理理論課程中常采用各種圖形進行分析,這些圖形需要分析、計算、描繪點等過程,常常要花費不少的時間。如果采用MATLAB語言只需一條指令立刻就可以得到。舉例如下:對于定義在離散域的函數(shù),卷積定義為:,通過

28、MATLAB編程就可以實現(xiàn)兩個函數(shù)a,b進行卷積,卷積在MATLAB中的調(diào)用命令是conv(a,b)。a=input(Type in the first sequence =);b=input(Type in the second sequence =); %輸入?yún)?shù)a,bc=conv(a,b); % a,b進行卷積M=length(c)-1; %M的長度n=0:1:M; % n的取值范圍disp(output sequence =);disp(c) %顯示輸出數(shù)stem(n,c) %畫離散序列數(shù)據(jù)圖xlabel(Time index n); ylabel(Amplitude); %X表示抽樣

29、時間指數(shù),Y軸表示幅度在上面的程序中輸入a=1,2,3,b=4,5,6 。a,b進行卷積所得結(jié)果如下:圖1 卷積結(jié)果對于a=1,2,3與b=4,5,6的卷積可以通過手算得到結(jié)果:運算如下1 2 3 * 4 5 6 6 12 18 5 10 15 + 4 8 12 4 13 22 27 18 手算的結(jié)果與MATLAB所得結(jié)果一樣,證明用MATLAB做的結(jié)果是對的,并且MATLAB得到的結(jié)果更直觀,更生動,更快捷,不需要花費時間。實踐證明,由于教學(xué)內(nèi)容直觀性增強了,教材中的理論和公式更易于理解,教學(xué)質(zhì)量明顯提高。學(xué)生學(xué)會使用MATLAB語言之后,也能很容易地利用它繪制出各種圖形,有利于更好地理解數(shù)

30、字信號處理的基本原理和核心概念4。增加MATLAB語言內(nèi)容,可以促進數(shù)字信號處理理論的教學(xué),提高學(xué)生興趣,增強學(xué)生自己動手分析、設(shè)計系統(tǒng)的能力,而且老師在課堂可以直觀的演示使抽象的理論變成生動的圖形界面,而且還可以對系統(tǒng)的穩(wěn)定性進行分析使學(xué)生對于這門課程有一個全新的認(rèn)識??傊?,這將利于培養(yǎng)出知識面廣、動手能力強、綜合素質(zhì)高的學(xué)生 。4.1.2可行性MATLAB語言可在目前的各種類型的計算機上運行,安裝簡易。MATLAB語言比一般的高級語言(如C、FORTAN等)執(zhí)行效率低,而其編程效率與可讀性、可移植性要遠(yuǎn)遠(yuǎn)高于其他高級語言。將MATLAB加入到實驗教學(xué)中,一方面讓學(xué)生用簡單的MATLAB

31、語言學(xué)習(xí)用計算機如何建模如何分析和設(shè)計系統(tǒng)等以強化原理的應(yīng)用性,另一方面MATLAB強大的可視化數(shù)據(jù)處理功能也可以彌補課程授課時的不足以減少教師繪圖表的麻煩和不精確,還可避免傳統(tǒng)理論教學(xué)中教師在黑板畫圖耗費時間及手工畫圖的不精確性。在課程中增加MATLAB語言內(nèi)容可以促進電子信息工程的教學(xué)提高學(xué)生興趣增強學(xué)生自己動手分析MATLAB設(shè)計系統(tǒng)的能力,MATLAB這將有利于培養(yǎng)知識面更廣,動手能力更強,綜合素質(zhì)更高的學(xué)生,數(shù)字信號處理理論教學(xué)與MATLAB語言有機的結(jié)合是電子信息領(lǐng)域發(fā)展的潮流也順應(yīng)了通信與電子信息專業(yè)學(xué)生專業(yè)立足點高,知識更新,綜合素質(zhì)更突出的要求,因此在數(shù)字信號處理基礎(chǔ)課程中增

32、加MATLAB內(nèi)容不僅使學(xué)生掌握了理論教學(xué)的內(nèi)容同時也教學(xué)生一些應(yīng)用理論的手段5。4.2 用MATLAB做數(shù)字信號處理虛擬實驗仿真平臺的優(yōu)點4.2.1 數(shù)字信號處理課程實驗的教學(xué)現(xiàn)狀現(xiàn)代科學(xué)技術(shù)的迅速發(fā)展,促進了數(shù)字信號處理理論和技術(shù)的迅速發(fā)展,該課程以高等數(shù)學(xué)、工程數(shù)學(xué)、電路分析、信號與系統(tǒng)等課程為基礎(chǔ)背景,課程數(shù)學(xué)含量大,概念抽象,數(shù)學(xué)公式推導(dǎo)以及數(shù)學(xué)結(jié)果繁雜難以理解,長期以來一直采用單一的黑板式教學(xué),許多分析結(jié)果只能停留在復(fù)雜的數(shù)學(xué)表達(dá)式上,缺乏直觀表現(xiàn)。學(xué)生在理解和鞏固教學(xué)內(nèi)容的時候,經(jīng)常要耗費很大的精力在數(shù)學(xué)計算和計算公式的熟練使用上,注重數(shù)學(xué)推倒卻忽略變換過程的本質(zhì),工程概念薄弱,

33、理論與實際聯(lián)系不足。原理、方法與應(yīng)用脫節(jié),達(dá)不到課程本身要求培養(yǎng)學(xué)生綜合應(yīng)用能力的目的,也很難調(diào)動學(xué)生學(xué)習(xí)的積極性。 隨著教學(xué)改革的深入開展和計算機應(yīng)用技術(shù)的普及和提高,利用計算機進行輔助教學(xué)這種教學(xué)手段己經(jīng)逐步進入課堂教學(xué)領(lǐng)域。MATLAB是計算機輔助分析與設(shè)計的一個卓越平臺,具有開放的環(huán)境、功能極強的矩陣運算、圖形繪制、數(shù)據(jù)處理、各種工具箱等許多優(yōu)點,為教學(xué)提供了一個連續(xù)的、有實用價值的工具,對系統(tǒng)仿真和穩(wěn)定性分析等課程均可在這個平臺上進行教學(xué)改革。4.2.2 強大的作圖功能使抽象的概念一目了然數(shù)字信號處理課程學(xué)習(xí)離散信號頻域分析,離散富里葉變換快速算法解決信號分析問題,數(shù)字濾波器的設(shè)計原

34、理和實現(xiàn)方法,信號譜分析的基本方法,概念抽象,公式多,學(xué)習(xí)起來難度比較大。MATLAB強大的繪圖功能使得用圖形來驗證理論結(jié)果不再是一件繁瑣的事情,直觀、方便。時域分析法、頻域分析法及狀態(tài)空間分析法用MATLAB均能實現(xiàn)。4.2.3利用現(xiàn)代化的教學(xué)手段, 增強教學(xué)效果教學(xué)硬件設(shè)施的不斷加強和完善,為把計算機作為教學(xué)媒體引人課堂提供了條件,在課堂教學(xué)進行的過程中,適時地穿插應(yīng)用計算機進行演示教學(xué),用簡潔的文字、豐富的畫面、逼真的動畫以及聲音等形象直觀地呈現(xiàn)在學(xué)生面前,不僅提高了學(xué)生學(xué)習(xí)本課程的興趣,還使得一些比較抽象的概念和過去教學(xué)過程中學(xué)生反映難以理解和掌握的內(nèi)容,通過生動、形象的方法向?qū)W生闡明

35、,使學(xué)生更容易理解和掌握.5 基于matlab數(shù)字信號處理虛擬實驗仿真平臺整體構(gòu)建方案5.1仿真平臺應(yīng)用軟件設(shè)計實現(xiàn)5.1.1總體結(jié)構(gòu)設(shè)計軟件采用MATLAB開發(fā)平臺,利用其可視化編程能力的圖形用戶界面GUI,按照控制教學(xué)、實驗、應(yīng)用等內(nèi)容,設(shè)計出相應(yīng)的仿真平臺應(yīng)用軟件結(jié)構(gòu)圖,如圖2所示.系統(tǒng)主界面由10個主要子窗體模塊構(gòu)成,分別大綱要求的10個實驗.通過單擊主界面上子模塊相應(yīng)的按鈕即可啟動相應(yīng)的子窗體,MATLAB的應(yīng)用程序,以M文件形式出現(xiàn).各軟件模塊主要的功能是實現(xiàn)教學(xué)大綱要求做的實驗。MATLAB總體結(jié)構(gòu)圖:基于MATLAB的數(shù)字信號處理虛擬實驗仿真平臺構(gòu)建實驗一MATLAB基本操作實

36、驗二離散信號的時域運算實驗三因果離散線性系統(tǒng)時域分析實驗四DTFT變換的性質(zhì)及應(yīng)用實驗五Z變換的性質(zhì)及應(yīng)用實驗六離散時間系統(tǒng)的頻域分析實驗七DFT變換的性質(zhì)及應(yīng)用實驗八數(shù)字低通巴特沃斯濾波器的設(shè)計實驗九窗函數(shù)設(shè)計FIR濾波器實驗十基于FFT的圖象壓縮與放大圖2 基于MATLAB的數(shù)字信號處理虛擬實驗仿真平臺構(gòu)建5.1.2軟件實現(xiàn)要將系統(tǒng)結(jié)構(gòu)圖中的內(nèi)容在用戶界面里表現(xiàn)出來,就必須有參數(shù)輸入、結(jié)果輸出、圖形仿真輸出等,且這些都能進行對比分析,因此要求有個友好、操作簡單、可讀性強、易修改的圖形用戶界面,選擇MATLAB中具有可視化編程能力的圖形界面GUI,將它提供的工具與編程經(jīng)驗結(jié)合起來,完成軟件界

37、面的創(chuàng)建. 各級界面主要利用向?qū)Ь庉嬈鱃UIDE中提供的控件,利用圖標(biāo)及其對應(yīng)的功能來設(shè)計友好的交互式界面.使用Property Inspector修改控件屬性,如背景色、前景色、字體及大小、位置、標(biāo)志、類型等.借助GUI設(shè)計面板提供的控件布置編輯器“Align Ob-jects”,很容易的對所選對象進行水平、垂直和間隔排列布置.通過圖形界面中控件的操作來完成圖形界面的功能,這些操作是通過函數(shù)代碼的執(zhí)行來完成的.函數(shù)代碼的編制通過編寫回調(diào)函數(shù)時實現(xiàn),把函數(shù)代碼放在一個自定義的M文件中,而在“callback”中只寫上其文件名.當(dāng)操作該控件時,系統(tǒng)會自動執(zhí)行“callback”中所要求執(zhí)行的內(nèi)容

38、,將子菜單界面所保存的文件名與主界面的菜單名關(guān)聯(lián)起來,完成相應(yīng)的功能,從而實現(xiàn)整個軟件設(shè)計6。6 基于matlab的數(shù)字信號處理虛擬實驗仿真平臺的實現(xiàn)6.1 界面的設(shè)計方法6.1.1句柄圖形及圖形用戶界面句柄圖形(Handle Graphics)就是將一個圖形的每一個組件都視為一個對象(Object),每一個對象都有一個獨一無二的“句柄”(handle),根據(jù)這個句柄,就可以找到這個對象(即圖形組件)的各項屬性,并進而更改這些屬性,以產(chǎn)生不同的圖形呈現(xiàn)效果。圖形用戶界面GUI(Graphics User Interface)是由各種圖形對象,如圖形窗口、圖軸、菜單、按鈕、文本框等構(gòu)建的用戶界面

39、,是人機交流信息的工具和方法,在該界面內(nèi),用戶可以根據(jù)界面提示完成整個工程,卻不必去了解工程內(nèi)部是如何工作的。GUI設(shè)計即可以基本的MATLAB程序設(shè)計為主,也可以鼠標(biāo)為主利用GUIDE工具進行設(shè)計。利用GUIDE設(shè)計圖形用戶界面時,可通過GUI應(yīng)用屬性設(shè)置編輯器來設(shè)置對句柄操作的響應(yīng),findobj命令可以獲得所需對象的句柄7。6.1.2 GUIDE的設(shè)計過程1)GUI設(shè)計工具簡介在GUIDE設(shè)計環(huán)境中,需要用到的工具有屬性編輯器、控件布置編輯器、菜單編輯器、對象瀏覽器、網(wǎng)格標(biāo)尺設(shè)置編輯器以及GUI應(yīng)用屬性設(shè)置編輯器等。2)屬性編輯器(Properties Inspector)打開屬性編輯器

40、的方法有多種,最常用的,選中控件對象以后,點擊工具條上的屬性設(shè)置按鈕,即可打開屬性編輯器。通過該屬性編輯器來對所選圖形對象設(shè)置相關(guān)屬性。3)控件布置編輯器(Alignment Objects)在編輯CUI過程中,通過控件布置編輯器可以方便地設(shè)置面板上GUI控件的布局。選中需要對齊的對象,然后選擇工具條上的控件布置按鈕,即可打開控件布置編輯器。在控件布置編輯器中可以設(shè)置GUI控件水平以及垂直布局,包括對齊方式以及控件間距等。4)對象瀏覽器(Object Browser)在GUI面板中點擊對象瀏覽按鈕可打開對象瀏覽器,在該瀏覽器中可以方便地顯示出所有的圖形對象,單擊該對象則可以打開相應(yīng)的屬性編輯器

41、。5)菜單編輯器(Menu Editor)在GUI面板中點擊菜單編輯按鈕可打開菜單編輯器,通過菜單編輯器可以為圖形界面添加、設(shè)置和修改菜單項,以及為右鍵添加快捷菜單。6)網(wǎng)格標(biāo)尺設(shè)置編輯器(Grid and Rulers)通過網(wǎng)格標(biāo)尺設(shè)置編輯器,可以在GUI面板中添加網(wǎng)格以及標(biāo)尺,來方便用戶的界面設(shè)計。選擇GUIDE主菜單中的Tools/Grid and Rulers即可打開網(wǎng)標(biāo)尺設(shè)置編輯器。7) GUI應(yīng)用屬性設(shè)置編輯器(GUIDE Applica-tion Options)通過該編輯器可以設(shè)定GUI界面縮放形式、GUI對句柄操作的響應(yīng)方式,以及定義GUI的保存方式。選擇GUIDE主菜單中的

42、Tools/GUI Options即可打開GUI應(yīng)用屬性設(shè)置編輯器。8) GUI設(shè)計面板GUI設(shè)計面板是上述GUI設(shè)計工具應(yīng)用的平臺,如圖1所示,面板上部提供了菜單和常用工具按鈕,左邊提供了多種GUI控件,如按鈕、單選按鈕、復(fù)選框、文本框等。進行GUI設(shè)計時,首先單擊GUI面板左邊所需的控件,然后在右邊的圖形界面編輯區(qū)中再次單擊某一恰當(dāng)?shù)奈恢?這時將在該位置上為圖形界面添加一相應(yīng)的控件,接下來,通過屬性編輯器和對齊編輯器對各控件設(shè)置相關(guān)屬性和進行界面布置,以完善界面功能。圖圖3 GUI設(shè)計界面6.1.3 基于matlab的數(shù)字信號處理虛擬實驗仿真平臺主界面考慮到需要解決數(shù)據(jù)傳遞問題和編寫一些算

43、法,在GUIDE中很難實現(xiàn),而用m文件可以生成非常復(fù)雜的界面,可以容易實現(xiàn)在不同窗口尺寸下給對象以合適的位置,同時文件創(chuàng)建的對象,可以方便的在handle中存取數(shù)據(jù),因此本主界面的GUI是通過M腳本文件實現(xiàn)的8。利用M函數(shù)文件制作GUI,程序如下:h0=figure(toolbar,none,. menu,none,. color,0,1,1,. Visible,on, Resize, off,. NumberTitle,off, HandleVisibility, on, . position,198 56 800 500,. name,基于matlab的數(shù)字信號處理虛擬實驗仿真平臺);h1

44、=axes(parent,h0,. position,0.24 0.46 0.7 0.5,. visible,on);f=uicontrol(parent,h0,. style,frame,. position,5 2 90 455);f_23=uicontrol(parent,h0,. style,frame,. position,100 10 660 200);p1=uicontrol(parent,h0,. style,pushbutton,. position,110 160 40 40,. string,繪圖,. callback,. m=str2num(get(e1,string)

45、;,. n=str2num(get(e2,string);,. a=get(l1,value);,. x=m:0.1:n;,. if a=1,. plot(x,sin(x),. end,. if a=2,. plot(x,cos(x),. end,. if a=3,. plot(x,exp(x),. end); p2=uicontrol(parent,h0,. style,pushbutton,. position,700 10 40 40,. string,關(guān)閉,. callback,close);p3=uicontrol(parent,h0,. style,pushbutton,. pos

46、ition,160 160 140 40,. string,MATLAB基本操作,. callback,jibencao);p4=uicontrol(parent,h0,. style,pushbutton,. position,320 160 140 40,. string,離散信號的時域運算,. callback,shiyanyi);p5=uicontrol(parent,h0,. style,pushbutton,. position,540 160 190 40,. string,因果離散線性系統(tǒng)時域分析,. callback,shiyaner);p6=uicontrol(parent

47、,h0,. style,pushbutton,. position,110 110 190 40,. string,DTFT變換的性質(zhì)及應(yīng)用(略),. callback,. );p7=uicontrol(parent,h0,. style,pushbutton,. position,320 110 160 40,. string,Z變換的性質(zhì)及應(yīng)用(略),. callback,);p8=uicontrol(parent,h0,. style,pushbutton,. position,540 110 210 40,. string,離散時間系統(tǒng)的頻域分析(略),. callback,); p9

48、=uicontrol(parent,h0,. style,pushbutton,. position,110 60 180 40,. string,DFT變換的性質(zhì)及應(yīng)用,. callback,shiyansan); p10=uicontrol(parent,h0,. style,pushbutton,. position,320 60 220 40,. string,數(shù)字低通巴特沃斯濾波器的設(shè)計,. callback,shiyansi); p11=uicontrol(parent,h0,. style,pushbutton,. position,560 60 160 40,. string,

49、窗函數(shù)設(shè)計FIR濾波器,. callback,shiyanwu); p12=uicontrol(parent,h0,. style,pushbutton,. position,110 10 220 40,. string,基于FFT的圖象壓縮與放大(略),. callback,); l1=uicontrol(parent,h0,. style,listbox,. position,10 300 80 80,. string,sin(x)|cos(x)|exp(x),. value,1,. max,0.5,. min,0);f2=uicontrol(parent,h0,. style,text,

50、. string,選擇函數(shù),. fontsize,10,. position,10 380 80 20);r1=uicontrol(style,radio,. string,grid on,. value,0,. position,10 100 60 20,. callback,. grid on,. set(r1,value,1);,. set(r2,value,0);r2=uicontrol(style,radio,. string,grid off,. position,10 80 60 20,. value,1,. callback,. grid off,. set(r2,value,

51、1);,. set(r1,value,0);e1=uicontrol(parent,h0,. style,edit,. string,0,. position,20 210 60 20,. horizontalalignment,right);e2=uicontrol(parent,h0,. style,edit,. string,3,. position,20 150 60 20,. horizontalalignment,right);t1=uicontrol(parent,h0,. style,text,. string,X from,. fontsize,10,. position,20 230 60 20,. horizontalalignment,center);t2=uicontrol(parent,h0,. style,text,. string,To,. fontsize,10,. position,20 170 60 20,.horizontalalignment,center);這個程序運行以后就形成了圖4:圖4 數(shù)字信號處理虛擬實驗仿真平臺主界面6.1.4 基于MATLAB數(shù)字信號處理實驗設(shè)計實例1)數(shù)字

溫馨提示

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

評論

0/150

提交評論