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

下載本文檔

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

文檔簡介

1、精品1基于基于 MATLABMATLAB 的信號(hào)與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)設(shè)計(jì)的信號(hào)與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)設(shè)計(jì) 摘摘 要要 本文主要介紹了信號(hào)與系統(tǒng)仿真系統(tǒng)的需求、總體結(jié)構(gòu)、基本功能。著重介紹了利用 Matlab 軟件設(shè)計(jì)實(shí)現(xiàn)信號(hào)仿真系統(tǒng)的基本原理及功能,利用 Matlab軟件提供圖形用戶界面(Graphical User Interfaces ,GUI)設(shè)計(jì)具有人機(jī)交互、界面友好的用戶界面。本設(shè)計(jì)采用 Matlab 的圖形用戶界面設(shè)計(jì)功能, 開發(fā)出了各個(gè)實(shí)驗(yàn)界面。在本實(shí)驗(yàn)軟件中, 集成了信號(hào)與系統(tǒng)中的多個(gè)實(shí)驗(yàn), 應(yīng)用效果良好。本系統(tǒng)是一種演示型軟件,用可視化的仿真工具,以圖形和動(dòng)態(tài)仿真的方式演示部分基本

2、信號(hào)的傳輸波形和變換,使學(xué)習(xí)人員直觀、感性地了解和掌握信號(hào)與系統(tǒng)的基本知識(shí)。 關(guān)鍵詞關(guān)鍵詞 信號(hào)與系統(tǒng),MATLAB,圖形用戶界面,實(shí)驗(yàn)軟件精品Based on Matlab signaling system solid platform design Abstract: This article has outlined the signal simulation systems demand, the gross structure, the basic function. Introduced with emphasis realizes the signal simulation sy

3、stem basic principle and the function using the matlab software design, as well as the graphical user interface which provides using the matlab software (Graphical User Interfaces, GUI) designs has the man-machine interaction, the contact surface friendly user interface. This article uses Matlab the

4、 graphical user interface design function, developed each experiment contact surface. In this experiment software, integrated in signal processing many experiments, the application effect has been good. This system is one kind of demonstration software, with the visualization simulation tool, by the

5、 graph and dynamic simulations way demonstration part elementary signals transmission profile and the transformation, causes the trainees direct-viewing, perceptually to understand and to know the correspondence principle the elementary knowledge.Key words: Signal Processing,MATLAB,Graphical user in

6、terface,Experimental Software精品1目目 錄錄第一章 引言 .11.1 概述 .11.2 基于 MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)開發(fā)現(xiàn)狀 .11.3 研究意義 .21.4 本文的主要工作 .2第二章 系統(tǒng)分析 .32.1 引言 .32.2 需求分析.32.3 可行性分析 .42.3.1 技術(shù)可行性 .42.3.2 經(jīng)濟(jì)可行性.42.3.3 操作可行性.42.4 系統(tǒng)主要目標(biāo)及功能.42.4.1 系統(tǒng)目標(biāo).42.4.2 系統(tǒng)主要功能.42.5 小結(jié).5第三章 方案選取 .63.1 引言 .63.2 界面工具的選取 .63.3 模擬信號(hào)實(shí)驗(yàn)的軟件工具選擇 .63.4 設(shè)

7、計(jì)方案選擇.6第四章 開發(fā)運(yùn)行環(huán)境 .74.1 系統(tǒng)開發(fā)環(huán)境和運(yùn)行環(huán)境 .74.2 開發(fā)語言和開發(fā)工具介紹.74.2.1 Windows XP.74.2.2 Matlab 7.0.74.2.3圖形用戶界面(GUI).8第五章 系統(tǒng)軟件平臺(tái)的設(shè)計(jì) .10精品III5.1 引言 .105.2 系統(tǒng)整體框圖 .105.3 系統(tǒng)設(shè)計(jì)步驟.115.4 系統(tǒng)模塊.115.4.1 模塊劃分簡介.115.4.2 模塊具體設(shè)計(jì).115.5 生成可執(zhí)行文件.265.6 小結(jié).26第六章 系統(tǒng)測試 .276.1 引言 .276.2 測試背景.276.3 測試概要.276.3.1 測試結(jié)果.276.3.2 測試分析.

8、346.4 小結(jié).34第七章 結(jié)論 .35致 謝 .37參考文獻(xiàn) .38附錄:主要代碼 .39精品1第一章 引言1.1 概述“信號(hào)與系統(tǒng)”在電子信息專業(yè)中是一門很重要的課程,它涉及的知識(shí)廣泛,包括微積分、概率論、信號(hào)與系統(tǒng)等。學(xué)生在學(xué)習(xí)這方面的內(nèi)容的時(shí)候,通常感覺比較抽象,對其中的基本理論和分析方法難以具體地理解和掌握。為此,我們借助一些優(yōu)良的軟件平臺(tái)(如 MATLAB 等)來解決這一實(shí)際問題,幫助學(xué)生更好地理解和掌握數(shù)字信號(hào)處理中的基本理論和分析方法,激發(fā)學(xué)生的的學(xué)習(xí)興趣,從而達(dá)到良好的教學(xué)效果。信號(hào)與系統(tǒng)實(shí)驗(yàn)環(huán)節(jié)在教學(xué)過程中是非常重要的,實(shí)驗(yàn)有助于學(xué)生理解和掌握所學(xué)的理論。MATLAB 是

9、用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級技術(shù)計(jì)算語言和交互式環(huán)境。作為強(qiáng)大的科學(xué)計(jì)算平臺(tái),它幾乎滿足所有的計(jì)算要求。隨著對仿真和程序設(shè)計(jì)通用性及可視化需求的日益增加,MATLAB 著重改善了圖形用戶界面的制作,極大地滿足了用戶的需求。MATLAB的 GUID 是專門用于圖形用戶界面的快速開發(fā)環(huán)境,本文利用該工具設(shè)計(jì)教學(xué)實(shí)驗(yàn)系統(tǒng),該系統(tǒng)將 MATLAB 軟件和多媒體硬件結(jié)合,將信號(hào)與系統(tǒng)的實(shí)驗(yàn)內(nèi)容融入進(jìn)去,形成一種新的計(jì)算機(jī)教學(xué)實(shí)驗(yàn)方式。該系統(tǒng)的形象直觀,總體界面友好,具有開放性,便于學(xué)生對所學(xué)理論知識(shí)的理解,大大提高教學(xué)的效果和效率。本次課程設(shè)計(jì)是以 MATLAB 為開發(fā)平臺(tái),保證

10、了該系統(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ì)算等,都能較簡單的解決。該實(shí)驗(yàn)系統(tǒng)為學(xué)生提供了一個(gè)形象而全面的演示,激發(fā)學(xué)生的學(xué)習(xí)興趣,加深學(xué)生對數(shù)字信號(hào)處理課程中理論知識(shí)的理解,并且而用軟件的形式對信號(hào)波形進(jìn)行仿真有著界面可視性強(qiáng),操作簡單方便;便于數(shù)據(jù)修改,文件保存,實(shí)驗(yàn)效率高,實(shí)驗(yàn)內(nèi)容豐富,結(jié)果

11、直觀易懂,便于分析;而且系統(tǒng)容易擴(kuò)展新的實(shí)驗(yàn)項(xiàng)目。所以仿真很有必要而且急為迫切。因而選擇此課題作為我們的畢業(yè)設(shè)計(jì)。精品- 1 -1.2 基于 Matlab 的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)開發(fā)現(xiàn)狀Matlab在全世界內(nèi)都很是流行,特別是在工程計(jì)算領(lǐng)域。近年來越來越多的國人也喜愛上了這一套軟件。Matlab的toolbox中也含有概率統(tǒng)計(jì)方面的庫函數(shù)。概率方面的庫函數(shù)主要有各種常見分布的分布函數(shù)、概率密度、分布率以及生成服從各種分布隨機(jī)數(shù)的函數(shù)統(tǒng)計(jì)方面的庫函數(shù)含蓋了簡單隨機(jī)樣本下常見的參數(shù)估計(jì)(點(diǎn)估計(jì)、區(qū)間估計(jì)) ,假設(shè)檢驗(yàn)等等?,F(xiàn)代社會(huì),通信與傳感、仿真計(jì)算技術(shù)緊密結(jié)合,信息成為社會(huì)的高級“神經(jīng)中樞” 。

12、隨著我國科學(xué)技術(shù)的發(fā)展和國內(nèi)外合作的加強(qiáng),對通信水平的要求也日益增加,如果通信水平跟不上,社會(huì)成員之間的合作程度就受到限制,生產(chǎn)力的發(fā)展也必然受到限制,可見通信在現(xiàn)代生活中扮演的角色越來越重要,本課題以此為出發(fā)點(diǎn),采用Matlab語言作為工作環(huán)境,Matlab語言成為第四代編程語言,程序簡潔、可讀性很強(qiáng)而且調(diào)試十分容易,自1984年由美國MathWorks公司推向市場以來,歷經(jīng)十幾年的發(fā)展,現(xiàn)成為國際公認(rèn)的優(yōu)秀科技應(yīng)用軟件,是信號(hào)與系統(tǒng)方面得天獨(dú)厚優(yōu)勢圖形開發(fā)工具,本軟件設(shè)計(jì)目標(biāo)是以配合教學(xué)為出發(fā)點(diǎn)。主要是面對通信專業(yè)的初學(xué)者,用簡單,可視化的仿真模擬圖形給大家演示部分基本波形的傳輸特性,以及

13、在信道中的傳輸特性。使他們直觀,感謝地了解和掌握通信系統(tǒng)的概念,傳輸性能等。1.3 研究意義Matlab 作為編程語言和可視化工具 , 用 Matlab 開發(fā)的實(shí)驗(yàn)為學(xué)生提供了“信號(hào)分析”、“信號(hào)抽樣”、“系統(tǒng)仿真”、“系統(tǒng)特性”、“濾波器設(shè)計(jì)”及“傅立葉變換”等實(shí)驗(yàn)?zāi)K 。 它的界面演示框如同通用示波器 , 顯示了信號(hào)分析與系統(tǒng)設(shè)計(jì)的動(dòng)態(tài)仿真過程 , 給人以直觀的感受1。在教學(xué)中它能為同學(xué)們提供了大量的實(shí)例, 同時(shí)它也為同學(xué)們留下了動(dòng)在實(shí)驗(yàn)中同學(xué)們可以改變信號(hào)、模塊、仿真子系統(tǒng)等的參數(shù) , 并觀察信號(hào)與系統(tǒng)的相應(yīng)變化. 在實(shí)驗(yàn)過程中 , 同學(xué)們對所學(xué)的書本知識(shí)會(huì)有感性的認(rèn)識(shí)和直觀的驗(yàn)證 ,

14、加深對“信號(hào)與系統(tǒng)”原理的理解。本課題能避開硬件系統(tǒng)的不足,巧妙的運(yùn)用軟件來仿真硬件才能實(shí)現(xiàn)的實(shí)驗(yàn)結(jié)果,大大降低了實(shí)驗(yàn)設(shè)備要求,節(jié)約了人力和財(cái)力,而且有很多的庫函數(shù)可以在實(shí)驗(yàn)時(shí)直接調(diào)用,避免了用硬件做實(shí)驗(yàn)的局限性。可以更方便的做信號(hào)系統(tǒng)實(shí)驗(yàn),為教學(xué)和研究提供了方便。還能夠鍛煉一個(gè)人在面對一個(gè)具體的項(xiàng)目時(shí),遇到問題,分析問題,解決問題的能力;獲得獨(dú)立策劃、實(shí)施課題,并按照既定計(jì)劃進(jìn)行開發(fā)的經(jīng)驗(yàn),以及查找相關(guān)文獻(xiàn)的能力。通過自己的努力使得對于 Matlab 有一個(gè)全面的、深刻的認(rèn)識(shí),并且對 Matlab 做界面的軟件有了一定的了解,對系統(tǒng)規(guī)劃有了初精品- 2 -步的認(rèn)識(shí)。為以后研發(fā)工作打下堅(jiān)實(shí)的基

15、礎(chǔ),積累寶貴的經(jīng)驗(yàn)。1.4 本文的主要工作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è)子界面,設(shè)計(jì)系統(tǒng)的說明界面及其各個(gè)實(shí)驗(yàn)的說明界面。2、完成分別編寫各個(gè)子界面的各個(gè)控件對象的回調(diào)函數(shù), 來實(shí)現(xiàn)控件相應(yīng)控制功能, 達(dá)到直接通過界面上各個(gè)控件就可以控制數(shù)據(jù)的輸入輸出, 并可以方便地對實(shí)驗(yàn)結(jié)果的數(shù)據(jù)及其圖形進(jìn)行讀取和分析的目的。編寫主界面的回調(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)。3、編寫開始引導(dǎo)界面的回調(diào)函數(shù), 實(shí)現(xiàn)從引導(dǎo)界面直接進(jìn)

16、入主界面,完成基本信號(hào)的產(chǎn)生、實(shí)驗(yàn)結(jié)果、序列的基本運(yùn)算、生成可執(zhí)行文件等。4、調(diào)試界面同時(shí)進(jìn)行修改和完善。第二章第二章 系統(tǒng)分析系統(tǒng)分析2.1 引言現(xiàn)代社會(huì),通信與傳感、仿真計(jì)算技術(shù)緊密結(jié)合,信息成為社會(huì)的高級“神經(jīng)中樞” ,隨著我國科學(xué)技術(shù)的發(fā)展和國內(nèi)外合作的加強(qiáng),對通信水平的要求也日益增加,如果通信水平跟不上,社會(huì)成員之間的合作程度就受到限制,生產(chǎn)力的發(fā)展也必然受到限制,可見通信在現(xiàn)代生活中扮演的角色越來越重要,本課題以此為出發(fā)點(diǎn),采用 Matlab 語言為工作環(huán)境,Matlab 語言稱為第四代編程語言,程序簡潔、可讀性很強(qiáng)而且調(diào)試十分容易,自 1984 年由美國 MathWorks 公司

17、推向市場以來,歷經(jīng)十幾年的發(fā)展,現(xiàn)已成為國際公認(rèn)的優(yōu)秀科技應(yīng)用軟件,是數(shù)字信號(hào)處理方面得天獨(dú)厚優(yōu)勢圖形開發(fā)工具.本軟件設(shè)計(jì)目標(biāo)是以配合教學(xué)為出發(fā)點(diǎn),主要是面對通信工程專業(yè)的初學(xué)者,用簡單,可視化的仿真模擬圖形給大家演示部分基本波的傳輸特性,以及在信道中的傳輸特性。使他們直觀,感性地了解和掌握通信系統(tǒng)的概念、傳輸性能等3。為了規(guī)范和條理的進(jìn)行本系統(tǒng)的設(shè)計(jì)以及使后續(xù)的開發(fā)維護(hù)工作變得有趣而輕松,故編寫本系統(tǒng)需求分析說明書;旨在開發(fā)過程中進(jìn)行參考,使系統(tǒng)在需求的規(guī)精品1范之內(nèi),避免重復(fù)勞動(dòng),加快開發(fā)進(jìn)度以及提高開發(fā)效率;同時(shí)也是為以后系統(tǒng)維護(hù)服務(wù)提供指南;由于時(shí)間倉促,錯(cuò)誤之處在所難免,請見諒。2.

18、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ù)字通信趨于替代模擬通信的趨勢。 信號(hào)與系統(tǒng)課程,是高等理工科類院校通信與電子信息工程等專業(yè)中一門十分重要的基礎(chǔ)理論課,也是電子信息工程專業(yè)許多后續(xù)課程的重要理論基礎(chǔ)。以前的信號(hào)模擬是通過硬件,對儀器和實(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é)演

19、示型軟件,運(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),在國內(nèi)外已經(jīng)有相當(dāng)成熟的理論基礎(chǔ)和技術(shù)基礎(chǔ)。通過開發(fā)人員的文獻(xiàn)調(diào)查,對于 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ì)可行性本課題通過對既有開發(fā)平臺(tái)的使用,能夠設(shè)計(jì)出比較完善的信號(hào)系統(tǒng)實(shí)驗(yàn)平臺(tái),沒有任何經(jīng)濟(jì)上的

20、負(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 程序流程簡單明了,開發(fā)率高,并且能夠結(jié)合其他多種開發(fā)工具,共同實(shí)現(xiàn)信號(hào)模擬功能。它易學(xué)易用,不需大量編程,能創(chuàng)作出一些高水平的模擬平臺(tái)精品作品,對于非專業(yè)的開發(fā)人員和專業(yè)開發(fā)人員都是一個(gè)好的選擇。從可操作性的角度來講,完全可行。2.42.4 系統(tǒng)主要目標(biāo)及功能系統(tǒng)主要目標(biāo)及功能2.4.1 系統(tǒng)目標(biāo)本課題開發(fā)目標(biāo)是利用 Matlab 軟件開發(fā)一

21、套集可視化圖形與動(dòng)態(tài)仿真為一體的教學(xué)演示型軟件,主要是面對初學(xué)者,用可視化的仿真模擬圖形配合老師的講課內(nèi)容給大家演示信號(hào)與系統(tǒng)課程中部分信號(hào)的傳輸波形、卷積、傅立葉變換以及濾波器設(shè)計(jì)等,幫助他們直觀、感性地了解和掌握信號(hào)系統(tǒng)的概念、基本特征等,深化對通信概念的理解。 2.4.2 系統(tǒng)主要功能本系統(tǒng)主要功能包括基本序列計(jì)算、基本信號(hào)產(chǎn)生、卷積、傅立葉變換、濾波器設(shè)計(jì)。簡單基礎(chǔ)地涵蓋了信號(hào)與系統(tǒng)部分主要章節(jié), 用可視化的仿真模擬圖形為大家演示部分基本信號(hào)的傳輸波形和調(diào)制變換,部分交互式界面可直接輸入合適的值使大家更直觀、感性地了解和掌握信號(hào)系統(tǒng)的概念、傳輸性能、基本特征等,為課程的學(xué)習(xí)打下基礎(chǔ)。界

22、面上的文字說明幫助大家了解本圖形的特性或功能。整套系統(tǒng)采取圖文并茂、循序漸進(jìn)、從感性到理性的方式,首先讓初學(xué)者在掌握基本信號(hào)模擬和運(yùn)算。2.52.5 小結(jié)小結(jié)一個(gè)系統(tǒng)在開發(fā)之前就需要進(jìn)行需求分析和可行性分析,本章重點(diǎn)闡述本設(shè)計(jì)的需求分析、可行性分析和目的,對這個(gè)系統(tǒng)的需求有了一個(gè)比較有力的證明。精品3第三章第三章 方案選取方案選取3.13.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í)行文件,這對剛接觸 Matlab 的我們來是說比較困難,老師為我們提出了一些參考方案來完成設(shè)計(jì),本章將在根據(jù)我們實(shí)

23、力的基礎(chǔ)上,給出本課題最適合選用的一種方案。3.23.2 界面工具的選取界面工具的選取由于我們的課題是基于 Matlab 的信號(hào)系統(tǒng)平臺(tái),所以在選擇做界面的工具的時(shí)候也選擇 Matlab。如果用 VB 做界面的話在后面實(shí)現(xiàn)信號(hào)波形的時(shí)候需要建立VB 和 Matlab 的鏈接,那樣會(huì)增加工作量和工作難度,而且我們對他們的鏈接也是知之甚少,實(shí)際鏈接的時(shí)候會(huì)很麻煩,所以在權(quán)衡了各方面的因素我們選擇用Matlab 做界面。精品3.33.3 模擬信號(hào)實(shí)驗(yàn)的軟件工具選擇模擬信號(hào)實(shí)驗(yàn)的軟件工具選擇 我們在學(xué)習(xí)信號(hào)與系統(tǒng)和數(shù)字信號(hào)處理課程時(shí),做實(shí)驗(yàn)的時(shí)候用的是Matlab 軟件來實(shí)現(xiàn)信號(hào)波形的模擬以及處理,可

24、以比較直觀準(zhǔn)確的看到波形,對Matlab 軟件也有了初步的認(rèn)識(shí),也可以用它編寫一些比較簡單的程序來。在信號(hào)波形模擬的領(lǐng)域中,我們只接觸過 Matlab 軟件,所以在編寫模擬信號(hào)波形這個(gè)模塊中我們選擇 Matlab 軟件。Matlab 是 Math 和 Works 公司推出的一個(gè)為工程計(jì)算和數(shù)據(jù)分析而專門設(shè)計(jì)的高級交互式軟件包,利用它能容易地解決在系統(tǒng)仿真領(lǐng)域教學(xué)與研究中遇到的問題。3.43.4 設(shè)計(jì)方案選擇設(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)涵, 還不能用于

25、實(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)境開發(fā)運(yùn)行環(huán)境4.14.1 系統(tǒng)開發(fā)環(huán)境和運(yùn)行環(huán)境系統(tǒng)開發(fā)環(huán)境和運(yùn)行環(huán)境1) 硬件環(huán)境能運(yùn)行普通大型應(yīng)用程序的計(jì)算機(jī)一臺(tái)(要求能接入網(wǎng)絡(luò)) ;2)軟件環(huán)境操作系統(tǒng):Windows XP 開發(fā)工具:Matlab7.0 Matlab Gui精品14.24.2 開發(fā)語言和開發(fā)工具介紹開發(fā)語言和開發(fā)工具介紹4.2.1 Windows XPWindows XP,或視窗 XP 是微軟公司最新發(fā)布的一款

26、視窗操作系統(tǒng)。它發(fā)行于 2001 年 10 月 25 日,原來的名稱是 Whistler。微軟最初發(fā)行了兩個(gè)版本,家庭版(Home)和專業(yè)版(Professional)。家庭版的消費(fèi)對象是家庭用戶,專業(yè)版則在家庭版的基礎(chǔ)上添加了新的為面向商業(yè)的設(shè)計(jì)的網(wǎng)絡(luò)認(rèn)證、雙處理器等特性。且家庭版只支持 1 個(gè)處理器,專業(yè)版則支持 2 個(gè)。字母 XP 表示英文單詞的“體驗(yàn)”(experience)。Windows XP 是基于 Windows 2000 代碼的產(chǎn)品,同時(shí)擁有一個(gè)新的用戶圖形界面(叫做月神 Luna),它包括了一些細(xì)微的修改,其中一些看起來是從Linux 的桌面環(huán)境(desktop envir

27、onmen)諸如 KDE 中獲得的靈感。帶有用戶圖形的登陸界面就是一個(gè)例子。此外,Windows XP 還引入了一個(gè)“基于人物”的用戶界面,使得工具條可以訪問任務(wù)的具體細(xì)節(jié)。 它包括了簡化了的 Windows 2000 的用戶安全特性,并整合了防火墻,以用來確保長期以來以著困擾微軟的安全問題。4.2.2 Matlab 7.0Matlab(MATrix LABoratory)語言是美國的 Cleve Moler 博士構(gòu)思并開發(fā)集命令翻譯、科學(xué)計(jì)算于一身的一套交互式軟件系統(tǒng),是目前國際工程控制界應(yīng)用最廣、最流行的一種控制系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)的軟件工具,它集成了計(jì)算功能,符號(hào)運(yùn)算,數(shù)據(jù)可視化等功能,具

28、有功能強(qiáng)大、界面友好、配套工具箱完善等特點(diǎn),其SIMULINK 仿真環(huán)境及 S 函數(shù)的應(yīng)用為我們提供了有效實(shí)用的設(shè)計(jì)方法,該軟件先前的版本與 Visual C+和 Visual Basic 等可視化編程軟件相比功能較差,但是新版的 MATLAB 7.0 軟件已經(jīng)在這方面向這些軟件靠近,其可視化編程能力有了很大程度的提高.該軟件最突出的特點(diǎn)就是簡潔的,開放式代碼。提供了更為直觀,符合人們思維習(xí)慣的代碼,現(xiàn)簡單介紹該軟件的主要特點(diǎn)。1) 語言簡單,代碼靈活,極其豐富的庫函數(shù)資源。在程序設(shè)計(jì)中該軟件對代碼的書寫形式?jīng)]有很嚴(yán)格的限制,同時(shí)利用豐富的庫函數(shù)簡化了子程序的編寫任務(wù),利用極其豐富的庫函數(shù)可以

29、使程序開發(fā)避免繁雜的子程序編程任務(wù)避免了一些不必要的錯(cuò)誤,提高了程序的可靠性。2) 豐富靈活的運(yùn)算符。Matlab 提供了和 C 語言一樣多的運(yùn)算符,使用這些運(yùn)算符可使程序短小、靈活。3) 面向?qū)ο缶幊毯徒Y(jié)構(gòu)化控制功能。尤其是新版的 MATLAB7.0 軟件在可視化方面較以前版本有了很大程度的提高,使得界面編程更加自由,方便。精品4) 程序設(shè)計(jì)自由度大。在新版的 MATLAB7.0 軟件中,用戶無須對矩陣進(jìn)行預(yù)定義就可以使用,對數(shù)組和變量的應(yīng)用也得到很大程度的擴(kuò)展。5) 程序可移植性好,基本上可以不作修改就可以在各種型號(hào)的計(jì)算機(jī)和操作系統(tǒng)上運(yùn)用。6) 分門別類的工具箱是該軟件的又一大特點(diǎn)。核心

30、工具箱和學(xué)科類的工具箱。這些工具箱都是該學(xué)科的高水平的專業(yè)人士所編,所以用戶可以直接使用。提高了編程效率。7) 開放的共享源代碼。開放性的代碼是該軟件最受歡迎的另一大特點(diǎn)。所有的核心文件和工具箱文件都是可讀可該的源代碼。所以 matlab 語言被稱為第四代編程語言3。4.2.3圖形用戶界面(GUI)圖形用戶界面(GUI)是用戶與計(jì)算機(jī)程序之間的交互方式,是用戶與計(jì)算機(jī)進(jìn)行信息交流的方式。計(jì)算機(jī)在屏幕顯示圖形和文本,若有揚(yáng)聲器還可產(chǎn)生聲音。用戶通過輸入設(shè)備,如:鍵盤、鼠標(biāo)、跟蹤球、繪制板或麥克風(fēng),與計(jì)算機(jī)通訊。用戶界面設(shè)定了如何觀看和如何感知計(jì)算機(jī)、操作系統(tǒng)或應(yīng)用程序。通常,多是根據(jù)悅目的結(jié)構(gòu)和

31、用戶界面功能的有效性來選擇計(jì)算機(jī)或程序。圖形用戶界面或 GUI是包含圖形對象,如:窗口、圖標(biāo)、菜單和文本的用戶界面。以某種方式選擇或激活這些對象,通常引起動(dòng)作或發(fā)生變化。最常見的激活方法是用鼠標(biāo)或其它點(diǎn)擊設(shè)備去控制屏幕上的鼠標(biāo)指針的運(yùn)動(dòng)。按下鼠標(biāo)按鈕,標(biāo)志著對象的選擇或其它動(dòng)作。Matlab 在 demo 命令中包含了 GUI 功能的極好例子。Matlab 為表現(xiàn)其基本功能而設(shè)計(jì)的演示程序 demo 是使用圖形界面的最好范例。Matlab 的用戶,在指令窗中運(yùn)行 demo 打開那圖形界面后,只要用鼠標(biāo)進(jìn)行選擇和點(diǎn)擊,就可瀏覽那豐富多彩的內(nèi)容。如: demo 研究該命令,以了解 uimenu 和

32、 uicontrol 如何給 MATLAB 函數(shù)提供交互輸入。在運(yùn)行了 demo 例子后,很可能會(huì)問“為什么要在 MATLAB 中建立一個(gè)GUI?”這是一個(gè)很好的問題,簡單的回答是可能并不需要使用 MATLAB 來分析數(shù)據(jù),求解問題,繪制結(jié)果的絕大多數(shù)的人,并不會(huì)發(fā)現(xiàn) GUI 工具很有用。但另一方面,GUI 可以在 MATLAB 中生成非常有效的工具和應(yīng)用程序,或是建立演示工作的交互式界面。 對“句柄圖形”的理解是設(shè)計(jì)和實(shí)現(xiàn) GUI 的先決條件。 由圖形命令生成的每一事物是一個(gè)圖形對象。圖形對象不僅包括 uimenu 和精品3uicontrol 對象,而且還包括圖形、坐標(biāo)軸和他們的子對象。讓我

33、們從另一個(gè)角度來看這一層次結(jié)構(gòu)。計(jì)算機(jī)的屏幕本身是根結(jié)點(diǎn),圖形是根對象的子對象,坐標(biāo)軸,uimenu ,uicontrol 是圖形的子對象。根可以包括多個(gè)圖形,每個(gè)圖形含有一組或多組坐標(biāo)軸以及其子對象,每個(gè)圖形也可以有一個(gè)或多個(gè)與坐標(biāo)軸無關(guān)的 uimenu和 uicontrol。雖然 uicontrol 對象無子對象結(jié)點(diǎn),但他們確實(shí)具有多種類型。uimenu 對象常將其它的 uimenu 對象作為其子對象。第五章第五章 系統(tǒng)軟件平臺(tái)的設(shè)計(jì)系統(tǒng)軟件平臺(tái)的設(shè)計(jì)5.15.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)友好、美化的界面

34、的設(shè)計(jì)要求。因此,在設(shè)計(jì)界面的時(shí)候,采用一個(gè)主界面和若干子界面,每個(gè)子界面是一個(gè)模塊,實(shí)現(xiàn)一個(gè)實(shí)驗(yàn)或功能,并通過主界面調(diào)用子界面的設(shè)計(jì)方法。精品15.25.2 系統(tǒng)整體框圖系統(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)界面模塊下面又有下一級實(shí)驗(yàn)界面模塊, 如濾波器設(shè)計(jì)模塊下面還有 FIR 濾波器設(shè)計(jì)模塊和 IIR 濾波器設(shè)計(jì)模塊, 其中 FIR 濾波器模塊又包含 FIR 濾波器線性的判斷實(shí)驗(yàn)界面、窗函數(shù)的頻率

35、響應(yīng)實(shí)驗(yàn)界面和 FIR 濾波器的設(shè)計(jì)實(shí)驗(yàn)界面; IIR 濾波器模塊又包含完全 IIR 濾波器的設(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 所示。 圖 5-1 系統(tǒng)的整體結(jié)構(gòu)5.35.3 系統(tǒng)設(shè)計(jì)步驟系統(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)的說

36、明界面及其各個(gè)實(shí)驗(yàn)的說明界面。3)分別編寫各個(gè)子界面的各個(gè)控件對象的回調(diào)函數(shù), 來實(shí)現(xiàn)控件相應(yīng)控制功能, 達(dá)到直接通過界面上各個(gè)控件就可以控制數(shù)據(jù)的輸入輸出, 并可以方便地對實(shí)驗(yàn)結(jié)果的數(shù)據(jù)及其圖形進(jìn)行讀取和分析的目的。4)編寫主界面的回調(diào)函數(shù), 將各個(gè)實(shí)驗(yàn)子界面整合在信號(hào)處理系統(tǒng)實(shí)驗(yàn)主界開始引導(dǎo)界面開始界面序列基本計(jì)算基本信號(hào)產(chǎn)生 卷積卷積傅立葉變換濾波器設(shè)計(jì)系統(tǒng)說明精品面中, 即通過主界面就可以進(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.5.4 4 系統(tǒng)模塊系統(tǒng)模塊5.4.1 模塊劃分簡介本系統(tǒng)根據(jù)要實(shí)現(xiàn)的實(shí)驗(yàn)類別、個(gè)數(shù)的要求來規(guī)劃模塊

37、,在設(shè)計(jì)的時(shí)候本著界面美觀、簡潔的原則。各個(gè)模塊可以相互切換,每個(gè)實(shí)驗(yàn)時(shí)可以完成參數(shù)的傳遞,5.4.2 模塊具體設(shè)計(jì)1)系統(tǒng)歡迎模塊??梢曊{(diào)用的方法有 pushbuttondownfcn closerequestfcn createfcn delectfcn keypressfcn resizefcn,在 label 選框中為其命名,調(diào)用某一個(gè)m 函數(shù), functionUntitledcallball 中寫入函數(shù)名。 主窗體對象的層次圖如圖 5-2。根對象(計(jì)算機(jī)屏幕)圖形框架窗口對象Uimenu對象Uicontrol對象坐標(biāo)系對象影象對象線條對象貼片對象文本對象曲面對象圖形框架窗口對象坐標(biāo)

38、系對象圖 5-2 主窗體對象的層次圖系統(tǒng)歡迎界面如圖 5-3 所示。圖 5-3 系統(tǒng)主界面精品3圖 5-3 中可以看出這個(gè)系統(tǒng)的主要模塊,簡潔明了,對每個(gè)模塊都有詳細(xì)的說明,在做實(shí)驗(yàn)之前可以參考說明以便能順利的進(jìn)行實(shí)驗(yàn),在主界面上選擇任何一個(gè)實(shí)驗(yàn)都可以切換到它的子界面。2)序列基本計(jì)算模塊 A序列基本計(jì)算模塊界面如圖 5-4 所示。圖 5-4 序列基本計(jì)算模塊界面由圖 5-4 可以看出在這個(gè)模塊里包括了單位脈沖序列、單位階躍序列、指數(shù)序列一共三個(gè)序列,并且還給出了序列卷積這個(gè)運(yùn)算。下面來主要介紹這單位階躍序列和指數(shù)序列及其設(shè)計(jì)方法。a單位階躍序列單位階躍序列的公式 (5-1) )0(0)0(1

39、nnnu類似于連續(xù)時(shí)間系統(tǒng)中的單位階躍信號(hào),但應(yīng)注意在點(diǎn)發(fā)生跳變,往tutu0t往不予定義(或定義為) ,而在=0 點(diǎn)明確規(guī)定為。在該子界面的單21tun 10 u位階躍序列那欄里輸入位移量 3 如圖 5-5 所示。圖 5-5 單位階躍變量輸入框然后點(diǎn)擊“單位階躍序列”按鈕,即出現(xiàn)如圖 5-6 所示的波形。精品圖 5-6 位移量為 3 的單位階躍序列單位階躍序列關(guān)鍵程序:function pushbutton2_Callback(hObject, eventdata, handles)t=str2num(get(handles.edit2,String); k=t-3:t+7; fk=(k-t

40、)=0; stem(k,fk)title(單位階躍序列)b指數(shù)序列指數(shù)序列是公式是 (5-2) nuanxn當(dāng)1 時(shí)序列是發(fā)散的, 0 序列都取正值, 0,信號(hào)將隨著時(shí)間而增長,若 a0,信號(hào)則隨時(shí)間衰減。常數(shù) K 表示指數(shù)信號(hào)在 t=0 點(diǎn)的初始值。b指數(shù)信號(hào)的運(yùn)行結(jié)果如圖 5-12 所示:圖 5-12 指數(shù)函數(shù)運(yùn)行界面c指數(shù)信號(hào)的部分程序:function pushbutton1_Callback(hObject, eventdata, handles)clcA=str2num(get(handles.edit6,String);a=str2num(get(handles.edit4,St

41、ring);t=0:.001:10;ft=A*exp(a*t);plot(t,ft),gridtitle(A*exp(a*t)例三:符號(hào)函數(shù)a符號(hào)函數(shù)的公式符號(hào)函數(shù)(或稱正負(fù)號(hào)函數(shù))以符號(hào)記,其表示式為 (5-6))0(1)0(0)0(1sgntttttf由式(5-6)可以看出,這種信號(hào)不滿足絕對可積條件,但它卻存在傅立葉變換。b符號(hào)函數(shù)的運(yùn)行界面如圖 5-13 所示精品9圖 5-13 符號(hào)函數(shù)運(yùn)行界面c符號(hào)信號(hào)部分程序:function pushbutton5_Callback(hObject, eventdata, handles)t=str2num(get(handles.edit7,S

42、tring)-1:.001:str2num(get(handles.edit7,String)+1;ft=sign(t-str2num(get(handles.edit7,String);axis(str2num(get(handles.edit7,String)-2,str2num(get(handles.edit7,String)+2,-1.2,1.2)plot(t,ft),gridtitle(sgn(t-t0)4)卷積模塊A卷積定義對于任意兩個(gè)信號(hào)和,兩者做卷積運(yùn)算定義為tf1tf2 (5-7) dtfftf21做一變量代換不難證明 (5-8) tftftftfdtfftf122112*

43、式中是兩函數(shù)作卷積運(yùn)算的簡寫符號(hào),也可以寫成。這里的tftf21*tftf21積分取和,這是由于對和的作用時(shí)間范圍沒有加以限制。實(shí)際由于tf1tf2系統(tǒng)的因果性或激勵(lì)信號(hào)存在時(shí)間的局限性,其積分限會(huì)有變化,這一點(diǎn)借助卷積的圖形解釋可以看得很清楚??梢哉f卷積積分中積分限的確定是非常關(guān)鍵的。B卷積模塊的子界面如圖 5-14 所示:精品圖 5-14 卷積子界面c卷積部分程序:function pushbutton4_Callback(hObject, eventdata, handles)clc t=str2num(get(handles.edit1,String); t11=0; t12=1; t

44、21=0; t22=2; t1=t11:0.001:t12;ft1=2*rectpuls(t1-0.5,1);t2=t21:0.001:t22;ft2=t2;t3=t11+t21:0.001:t12+t22;ft3=conv(ft1,ft2); ft3=t*ft3*0.001;plot(t3,ft3)title(f1(t)*f2(t)5)傅立葉變換模塊A傅立葉變換的原理如果以周期矩形信號(hào)為例,當(dāng)周期 T1 無限增大時(shí),則周期信號(hào)就轉(zhuǎn)化為非周期性的單脈沖信號(hào)。所以可以把非周期信號(hào)看成是周期 T1趨于無限大的周期信號(hào)。當(dāng)周期信號(hào)的周期 T1增大時(shí),譜線的間隔變小,若周期 T1無限大,則譜112Tw

45、線的間隔趨于無限小,這樣,離散頻譜就變成連續(xù)頻譜了。同時(shí),由于周期趨于無限大,譜線的長度趨于零。這就是說,頻譜將化為烏有,失去應(yīng)有的意義。但是,從物理概念上考慮,既然成為一個(gè)信號(hào),必然含有一定的能量,無論信號(hào)怎樣分解,其所含能量是不變的。所以不管周期增大到什么程度,頻譜的分布依然存在?;蛘邚臄?shù)學(xué)角度看,在極限情況下,無限多的無窮小量之和,仍可等于一有限值,此有精品11限值的大小取決于信號(hào)的能量。設(shè)有一周期信號(hào)及其復(fù)數(shù)頻譜,將展成tf1nwFtf (5-9)dtetfTnwFtjnwTT11212111兩邊乘以 T1,得到 (5-10)dtetfnFTnFtjnTT1112211112對于非周期

46、信號(hào),重復(fù)周期,重復(fù)頻率,譜線間隔,1T01dn1而離散頻率變成連續(xù)頻率。在這種極限情況下,但量1n01nF可望不趨于零,而趨近于有限值,且變成一個(gè)連續(xù)函數(shù),通常記作,112nF F這樣式(5-8)在非周期信號(hào)的情況下將變成 (5-11) dtetfFtjn1同樣,傅立葉級數(shù) (5-12)tjnnenFtf11在極限的情況下,傅立葉級數(shù)變成積分形式,它等于 (5-13) deFtftj21通常式(5-11)稱為傅立葉正變換,式(5-13)稱為傅立葉逆變換。B傅立葉變換的公式通常式稱為傅立葉正變換,式稱為傅立葉逆變換。為書寫方便習(xí)慣上采用如下符號(hào):傅立葉正變換 (5-14) dtetfFtjn1

47、傅立葉逆變換 (5-15) deFtftj21信號(hào)的傅立變換模塊是將時(shí)域信號(hào)通過傅立葉變換轉(zhuǎn)變?yōu)轭l域信號(hào).它分為連續(xù)信號(hào)的傅立葉變換窗體和離散信號(hào)窗體的傅立葉變換調(diào)用窗體是通過控件pushbutton 回調(diào) exp3_1.m 和 exp3_2.m。c傅立葉變換模塊的子界面如圖 5-15 所示:精品圖 5-15 傅立葉變換子界面若想求方波傅立葉變換,則只需要在第一欄里輸入方波的幅度,比如輸入 2,即出現(xiàn)以下波形:圖 5-16 幅度為 2 時(shí)的方波傅立葉變換另外的快速傅立葉變換和離散傅立葉變換的操作和方波傅立葉分析一樣。D傅立葉變換部分程序:a方波傅立葉分析:function pushbutton

48、9_Callback(hObject, eventdata, handles)%p137clc1.f=str2num(get(handles.edit3,String);t=0:0.01:2*pi;y=f*sin(t);plot(t,y),hold ony=f*(sin(t)+sin(3*t)/3);精品13plot(t,y),hold ony=f*(sin(t)+sin(3*t)/3+sin(5*t)/5);plot(t,y),hold ony=f*(sin(t)+sin(3*t)/3+sin(5*t)/5+sin(7*t)/7);plot(t,y),hold ony=f*(sin(t)+s

49、in(3*t)/3+sin(5*t)/5+sin(7*t)/7+sin(9*t)/9);plot(t,y),hold ony=f*(sin(t)+sin(3*t)/3+sin(5*t)/5+sin(7*t)/7+sin(9*t)/9+sin(11*t)/11);plot(t,y),gridtitle(方波傅立葉分析)b快速傅立葉變換:function pushbutton8_Callback(hObject, eventdata, handles)N=str2num(get(handles.edit2,String);x0=sin(N*2*pi*1:8/8)*5;dt=2*pi/8;w=lin

50、space(0,2*pi,1000)/dt;x0=x0*exp(-j*1:length(x0)*w) *dt;plot(w,abs(x0)title(快速傅立葉變換)c離散傅立葉變換:function pushbutton2_Callback(hObject, eventdata, handles)%xp70t=str2num(get(handles.edit1,String);n=-5:5;x=t.n;k=-200:200;w=(pi/100)*k;X=x*(exp(-j*pi/100).(n*k);p=abs(X);plot(w/pi,p),gridtitle(離散傅立葉變換);6)濾波器

51、設(shè)計(jì)模塊濾波器是數(shù)字信號(hào)處理的重要基礎(chǔ),是使用最為廣泛的一種線性系統(tǒng)。描述數(shù)字濾波器的結(jié)構(gòu)只需要三種基本元件:加法器,乘法器,延遲元件。模擬濾波器的設(shè)計(jì)是其他濾波器設(shè)計(jì)的基礎(chǔ),模擬低通濾波器的設(shè)計(jì),主要包括巴特沃斯濾波器,切比雪夫?yàn)V波器和橢圓濾波器。數(shù)字濾波器是數(shù)字信號(hào)處理的重要基礎(chǔ),是使用最為廣泛的一種線性系統(tǒng)。是完成信號(hào)濾波處理功能的,用有限精度算法實(shí)現(xiàn)的離散時(shí)間線性非時(shí)變系統(tǒng)。其輸入是一組模擬信號(hào)取樣的數(shù)字量,其輸出是另一組數(shù)字量。在此系統(tǒng)中我們設(shè)計(jì)了低通 FIR 濾波器、高通 FIR 濾波器和巴特沃斯高通濾波器。精品A濾波器設(shè)計(jì)模塊的子界面如圖 5-17。圖 5-17 濾波器設(shè)計(jì)界面從

52、圖 5-17 可以看出,這個(gè)模塊包括低通 FIR 濾波器、高通 FIR 濾波器和巴特沃斯高通濾波器三個(gè)部分。若想觀察低通 FIR 濾波器的波形,可以在這一欄里輸入截止頻率 WC,再點(diǎn)擊“低通 FIR 濾波器”按鈕,左邊出現(xiàn)相應(yīng)波形,例:輸入截止頻率 12,則波形如圖 5-18 所示。圖 5-18 截止頻率為 12 的 FIRB濾波器設(shè)計(jì)模塊關(guān)鍵程序:a低通 FIR 濾波器:function pushbutton4_Callback(hObject, eventdata, handles)wc=str2num(get(handles.edit6,String)*pi;精品15N=21;n=0:N

53、-1;r=(N-1)/2;hdn=sin(wc*(n-r)/pi./(n-r);if rem(N,2)=0 hdn(r+1)=wc/pi;endwn1=boxcar(N);hn1=hdn.*wn1;wn2=hamming(N);hn2=hdn.*wn2;hw=fft(hdn,512);w=2*0:511/512;plot(w,20*log10(abs(hw);gridtitle(低通 FIR 濾波器)b高通 FIR 濾波器:function pushbutton1_Callback(hObject, eventdata, handles)t=str2num(get(handles.edit2,

54、String);f=0,t,t,1;m=0,0,1,1;b=fir2(30,f,m);n=0:30;h,w=freqz(b,1,256);plot(w/pi,20*log10(abs(h);gridtitle(高通 FIR 濾波器)7) 實(shí)驗(yàn)系統(tǒng)說明模塊A本系統(tǒng)所設(shè)計(jì)的幫助模塊主要是解釋每個(gè)實(shí)驗(yàn)的原理,幫助系統(tǒng)使用人員更清楚實(shí)驗(yàn)的原理和步驟,可以更輕松的操作。這個(gè)模塊是每個(gè)系統(tǒng)必須的它的界面如圖 5-19 所示。圖 5-19 幫助模塊界面比如點(diǎn)擊基本信號(hào)產(chǎn)生說明則彈出它的界面如圖 5-20 所示,它介紹了正弦函數(shù)、精品指數(shù)函數(shù)等基本信號(hào)的公式,并對公式內(nèi)每個(gè)參數(shù)進(jìn)行說明,讓使用者一目了然。圖

55、5-20 基本信號(hào)產(chǎn)生說明界面B本模塊主要程序function varargout = help(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, help_OpeningFcn, . gui_OutputFcn, help_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui

56、_Callback = str2func(varargin1);end8)系統(tǒng)退出模塊系統(tǒng)退出界面如圖 5-21 所示:圖 5-21 系統(tǒng)退出界面精品175.5 生成可執(zhí)行文件本系統(tǒng)要求最終結(jié)果要脫離開發(fā)工具(Matlab)軟件獨(dú)立運(yùn)行,我們在做 GUI的時(shí)候主要參考了別人生成可執(zhí)行文件的方法。首先在 matlab 命令行窗口中輸入 guide,打開 gui 設(shè)計(jì)的圖形界面。然后拖入所要的圖形控件,按需要修改外觀直至滿足要求。點(diǎn)擊 guide 界面上方的 Run 按鈕,會(huì)生成一個(gè) fig 文件,一個(gè) m 文件,其中 fig 文件是你界面的圖形,m 文件是你界面的回調(diào)函數(shù),在 m 文件里每個(gè)控件

57、的回調(diào)函數(shù)都已經(jīng)自動(dòng)生成,把我們自己的m 代碼填在相應(yīng)的回調(diào)函數(shù)里即可。我們在做本系統(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 請鍵入 help mcc 看幫助。 在做的過程中我們還用到了打包等細(xì)節(jié)技術(shù),打包的步驟是

58、在 matlab 下的workspace 里打 comtool,點(diǎn) file-open project 將我們先前建好的 comtest.cbl 工程文件打開,再點(diǎn) component-package component 就實(shí)現(xiàn)了打包,此時(shí)到comtestdistrib 文件夾里看,生成的 comtest.exe 就是打包后的解壓程序,雙擊它會(huì)解壓出一些文件,再點(diǎn)擊解壓出來的_install.bat 就可以實(shí)現(xiàn)安裝。另外,把 gui 生成 exe 還有其他方法,比如1)在 matlab 的 command 窗口中輸入 mcc -B sgl GUI.m 2)將上步生成的文件包括*m 文件和*.f

59、ig 文件一起考到待運(yùn)行的機(jī)器 此時(shí)仍需 matlab 所必需的動(dòng)態(tài)連接庫。3) 將 /extern/lib/win32/mglinstallar.exel 拷貝到到待運(yùn)行機(jī)器上4)在機(jī)器上先運(yùn)行 mglinstallar.exe, 然后選擇解壓目錄,將在指定目錄下解壓縮出bin 和 toolbox 兩子目錄,其中在 binwin32 目錄下就是數(shù)學(xué)庫和圖形庫脫離MATLAB 運(yùn)行所需的所有動(dòng)態(tài)連接庫,共有 37 個(gè)??梢詫⑦@些.dll 考入 system32, 也可以直接放在應(yīng)用程序目錄下。而 toolbox 目錄則必須與應(yīng)用程序同一目錄。5)大功告成。 5.6 小結(jié)本章討論了軟件平臺(tái)的整體

60、設(shè)計(jì),給出了系統(tǒng)整體框圖和各模塊的界面和設(shè)計(jì)方法,詳細(xì)介紹了各個(gè)模塊產(chǎn)生波形的原理,并分析了最后生成可執(zhí)行文件的方法。精品0第六章第六章 系統(tǒng)測試6.1 引言經(jīng)過為期六周的緊張工作,我們終于按照用戶要求完成了一系列的程序設(shè)計(jì),為了更好的對本軟件的正確性做出客觀公正的評價(jià),為了更進(jìn)一步的對本軟件進(jìn)行驗(yàn)證,為了能給用戶一個(gè)滿意的軟件,讓用戶更好的使用本軟件,也為了發(fā)現(xiàn)軟件本身隱蔽的一系列問題從而提高用戶的工作效率。為此本測試組對此軟件做了詳細(xì)的測試。本報(bào)告最終的用戶是此軟件的開發(fā)者以及此軟件的最終維護(hù)者,為軟件以后升級和修改提供參考。特此對以下模塊進(jìn)行了測試:基本序列計(jì)算模塊,基本信號(hào)產(chǎn)生模塊,卷積仿真模

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論