基于MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)設(shè)計(jì)畢業(yè)論文.doc
《基于MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)設(shè)計(jì)畢業(yè)論文.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)設(shè)計(jì)畢業(yè)論文.doc(50頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、摘要 1 基于基于 Matlab 的信號(hào)系統(tǒng)實(shí)平臺(tái)設(shè)計(jì)的信號(hào)系統(tǒng)實(shí)平臺(tái)設(shè)計(jì) 摘摘 要要 本文概述了信號(hào)仿真系統(tǒng)的需求、總體結(jié)構(gòu)、基本功能。重點(diǎn)介紹了利 用 Matlab 軟件設(shè)計(jì)實(shí)現(xiàn)信號(hào)仿真系統(tǒng)的基本原理及功能,以及利用 Matlab 軟件提 供的圖形用戶界面(Graphical User Interfaces ,GUI)設(shè)計(jì)具有人機(jī)交互、界面友 好的用戶界面。本文采用 Matlab 的圖形用戶界面設(shè)計(jì)功能, 開(kāi)發(fā)出了各個(gè)實(shí)驗(yàn)界 面。在該實(shí)驗(yàn)軟件中, 集成了信號(hào)處理中的多個(gè)實(shí)驗(yàn), 應(yīng)用效果良好。本系統(tǒng)是一 種演示型軟件,用可視化的仿真工具,以圖形和動(dòng)態(tài)仿真的方式演示部分基本信號(hào)的 傳輸波形和變
2、換,使學(xué)習(xí)人員直觀、感性地了解和掌握信號(hào)與系統(tǒng)的基本知識(shí)。 關(guān)鍵詞關(guān)鍵詞 信號(hào)處理,MATLAB,圖形用戶界面,實(shí)驗(yàn)軟件 Based on Matlab signaling system solid platform design Student:Yang Shuilianlian Wang Haibo Teacher:Sun Xiaoqi Abstract: This article has outlined the signal simulation systems demand, the gross structure, the basic function. Introduced wi
3、th emphasis realizes the signal simulation system 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
4、 user interface. This article uses Matlab the 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, w
5、ith the visualization simulation tool, by the 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 wor
6、ds: Signal Processing,MATLAB,Graphical user interface,Experimental Software 目錄 1 目目 錄錄 第一章 引言 1 1.1 概述 1 1.2 基于 MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)開(kāi)發(fā)現(xiàn)狀 1 1.3 研究意義 2 1.4 本文的主要工作 2 第二章 系統(tǒng)分析 .3 2.1 引言 3 2.2 需求分析3 2.3 可行性分析 4 2.3.1 技術(shù)可行性 4 2.3.2 經(jīng)濟(jì)可行性4 2.3.3 操作可行性4 2.4 系統(tǒng)主要目標(biāo)及功能4 2.4.1 系統(tǒng)目標(biāo)4 2.4.2 系統(tǒng)主要功能4 2.5 小結(jié)5 第三章 方案選取
7、 .6 3.1 引言 6 3.2 界面工具的選取 6 3.3 模擬信號(hào)實(shí)驗(yàn)的軟件工具選擇 6 3.4 設(shè)計(jì)方案選擇6 第四章 開(kāi)發(fā)運(yùn)行環(huán)境 7 4.1 系統(tǒng)開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境 7 4.2 開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)工具介紹7 4.2.1 Windows XP.7 4.2.2 Matlab 7.0.7 4.2.3圖形用戶界面(GUI)8 第五章 系統(tǒng)軟件平臺(tái)的設(shè)計(jì) 10 目錄 5.1 引言 .10 5.2 系統(tǒng)整體框圖 .10 5.3 系統(tǒng)設(shè)計(jì)步驟.11 5.4 系統(tǒng)模塊.11 5.4.1 模塊劃分簡(jiǎn)介.11 5.4.2 模塊具體設(shè)計(jì).11 5.5 生成可執(zhí)行文件.26 5.6 小結(jié).26 第六章 系統(tǒng)測(cè)試
8、 27 6.1 引言 .27 6.2 測(cè)試背景.27 6.3 測(cè)試概要.27 6.3.1 測(cè)試結(jié)果.27 6.3.2 測(cè)試分析.34 6.4 小結(jié).34 第七章 結(jié)論 35 致 謝 .37 參考文獻(xiàn) 38 附錄:主要代碼 .39 第一章 引言 1 第一章 引言 1.1 概述 隨著計(jì)算機(jī)的普及應(yīng)用以及科技的發(fā)達(dá),現(xiàn)代社會(huì)是信息的社會(huì),對(duì)信息的研 究變得非常重要,而對(duì)信號(hào)波形的模擬可以方便研究人員研究。以前的信號(hào)模擬是 用硬件,對(duì)儀器和實(shí)驗(yàn)室的要求較高,不便于廣泛應(yīng)用,而且信號(hào)處理具有內(nèi)容繁 多、概念抽象、設(shè)計(jì)復(fù)雜等特點(diǎn),學(xué)生在學(xué)習(xí)時(shí)常常會(huì)感到枯燥,難以理解和掌握。 硬件模擬信號(hào)波形對(duì)設(shè)備要求較高
9、,有時(shí)候受儀器或操作不對(duì)等因素的影響將無(wú)法 正確直觀的看到波形,參數(shù)改變時(shí)不能立即看到波形變化。而用軟件的形式對(duì)信號(hào) 波形進(jìn)行仿真有著界面可視性強(qiáng),操作簡(jiǎn)單方便;便于數(shù)據(jù)修改,文件保存,實(shí)驗(yàn) 效率高,實(shí)驗(yàn)內(nèi)容豐富,結(jié)果直觀易懂,便于分析;而且系統(tǒng)容易擴(kuò)展新的實(shí)驗(yàn)項(xiàng) 目。所以仿真很有必要而且急為迫切。因而選擇此課題作為我們的畢業(yè)設(shè)計(jì)。 1.2 基于 Matlab 的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)開(kāi)發(fā)現(xiàn)狀 Matlab在全世界內(nèi)都很是流行,特別是在工程計(jì)算領(lǐng)域。近年來(lái)越來(lái)越多的國(guó) 人也喜愛(ài)上了這一套軟件。Matlab的toolbox中也含有概率統(tǒng)計(jì)方面的庫(kù)函數(shù)。概率 方面的庫(kù)函數(shù)主要有各種常見(jiàn)分布的分布函數(shù)、
10、概率密度、分布率以及生成服從各 種分布隨機(jī)數(shù)的函數(shù)統(tǒng)計(jì)方面的庫(kù)函數(shù)含蓋了簡(jiǎn)單隨機(jī)樣本下常見(jiàn)的參數(shù)估計(jì) (點(diǎn)估計(jì)、區(qū)間估計(jì)) ,假設(shè)檢驗(yàn)等等。 林月美, 陳仁安研究了基于Matlab 軟件的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái), 彌補(bǔ)了教學(xué) 中的不足. 通過(guò)實(shí)驗(yàn), 加強(qiáng)學(xué)生對(duì)信號(hào)與系統(tǒng)課程的理解和掌握7。李世銀,辛?xí)?麗,羅驅(qū)波,岳 婷基于MATLAB Web Server的遠(yuǎn)程仿真系統(tǒng)具有交互性強(qiáng)和使用簡(jiǎn) 單方便等優(yōu)點(diǎn)。介紹了Matlab Web Server的基本原理及系統(tǒng)配置方法,并結(jié)合通信 原理遠(yuǎn)程仿真程序的開(kāi)發(fā)實(shí)例,重點(diǎn)討論了仿真系統(tǒng)的三個(gè)基本組成部分:M文檔, HTML輸入文檔和HTML輸出文檔開(kāi)發(fā)的
11、關(guān)鍵步驟和代碼,最后,給出了AM調(diào)制的仿 真結(jié)果21。初秀琴,何蕾,李玉山認(rèn)為Matlab是一種高性能的用于工程計(jì)算的編程軟 件,它具有強(qiáng)大的數(shù)學(xué)計(jì)算、算法推導(dǎo)、建模仿真、圖形繪制等功能,但是這些功能 只能在Matlab本身所提供的平臺(tái)上使用,且具有代碼執(zhí)行速度慢的缺點(diǎn)。文中提出 了實(shí)現(xiàn)Matlab與其它編程語(yǔ)言之間接口的方案,并且對(duì)與VC之間的接口進(jìn)行了驗(yàn)證,解 決了Matlab函數(shù)只能在其本身所提供的平臺(tái)上使用的問(wèn)題,使得代碼的執(zhí)行速度和 石河子大學(xué)學(xué)士學(xué)位論文 2 安全保密性都大大提高。周傳勝等基于Matlab的Simulink工具箱、webserver工具 箱、虛擬現(xiàn)實(shí)工具箱和虛擬現(xiàn)實(shí)
12、語(yǔ)言(VRML)構(gòu)建了網(wǎng)絡(luò)交互式虛擬現(xiàn)實(shí)實(shí)驗(yàn)系統(tǒng), 系統(tǒng)由一個(gè)服務(wù)器和若干個(gè)客戶機(jī)組成。學(xué)生在客戶機(jī)上通過(guò)互聯(lián)網(wǎng)可瀏覽服務(wù)器 上的虛擬演示實(shí)驗(yàn),并可根據(jù)需要在客戶端實(shí)時(shí)地修改實(shí)驗(yàn)參數(shù),這些參數(shù)通過(guò)網(wǎng)絡(luò) 傳到服務(wù)器后,服務(wù)器會(huì)將更新的虛擬的實(shí)驗(yàn)現(xiàn)象和實(shí)驗(yàn)結(jié)果傳到客戶機(jī),從而完成 交互式虛擬現(xiàn)實(shí)實(shí)驗(yàn)過(guò)程20。 1.3 研究意義 Matlab 作為編程語(yǔ)言和可視化工具 , 用 Matlab 開(kāi)發(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)仿真過(guò)程 , 給人
13、以直觀的感受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)過(guò)程中 , 同學(xué)們對(duì)所 學(xué)的書(shū)本知識(shí)會(huì)有感性的認(rèn)識(shí)和直觀的驗(yàn)證 , 加深對(duì)“信號(hào)與系統(tǒng)”原理的理解。 本課題能避開(kāi)硬件系統(tǒng)的不足,巧妙的運(yùn)用軟件來(lái)仿真硬件才能實(shí)現(xiàn)的實(shí)驗(yàn)結(jié) 果,大大降低了實(shí)驗(yàn)設(shè)備要求,節(jié)約了人力和財(cái)力,而且有很多的庫(kù)函數(shù)可以在實(shí) 驗(yàn)時(shí)直接調(diào)用,避免了用硬件做實(shí)驗(yàn)的局限性??梢愿奖愕淖鲂盘?hào)系統(tǒng)實(shí)驗(yàn),為 教學(xué)和研究提供了方便。還能夠鍛煉一個(gè)人在面對(duì)一個(gè)具體的項(xiàng)目時(shí),遇到問(wèn)題, 分析問(wèn)題,解決問(wèn)題的能力;獲
14、得獨(dú)立策劃、實(shí)施課題,并按照既定計(jì)劃進(jìn)行開(kāi)發(fā) 的經(jīng)驗(yàn),以及查找相關(guān)文獻(xiàn)的能力。通過(guò)自己的努力使得對(duì)于 Matlab 有一個(gè)全面 的、深刻的認(rèn)識(shí),并且對(duì) Matlab 做界面的軟件有了一定的了解,對(duì)系統(tǒng)規(guī)劃有了初 步的認(rèn)識(shí)。為以后研發(fā)工作打下堅(jiān)實(shí)的基礎(chǔ),積累寶貴的經(jīng)驗(yàn)。 1.4 本文的主要工作 本文主要是針對(duì)以 Matlab 為軟件平臺(tái)的信號(hào)系統(tǒng)實(shí)驗(yàn)平臺(tái)的設(shè)計(jì),用 Matlab 語(yǔ)言編程開(kāi)發(fā)一個(gè)適合小型的信號(hào)系統(tǒng)實(shí)驗(yàn)平臺(tái),方便學(xué)生學(xué)習(xí)。具體的工作主要 有: 1)通信模擬仿真系統(tǒng)的設(shè)計(jì)分析。 2)通信模擬仿真系統(tǒng)的總體框架。 3)通信模擬仿真系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。 4)系統(tǒng)測(cè)試與分析。 5)編寫(xiě)文檔。
15、 第二章 系統(tǒng)分析 3 第二章第二章 系統(tǒng)分析系統(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ā)展 也必然受到限制,可見(jiàn)通信在現(xiàn)代生活中扮演的角色越來(lái)越重要,本課題以此為出 發(fā)點(diǎn),采用 Matlab 語(yǔ)言為工作環(huán)境,Matlab 語(yǔ)言稱為第四代編程語(yǔ)言,程序簡(jiǎn)潔、 可讀性很強(qiáng)而且調(diào)試十分容易,自 1984 年由美國(guó) MathWorks 公司推向市場(chǎng)以來(lái), 歷經(jīng)十幾年的發(fā)展,現(xiàn)已成為國(guó)際公認(rèn)的優(yōu)秀科技應(yīng)用軟件
16、,是數(shù)字信號(hào)處理方面 得天獨(dú)厚優(yōu)勢(shì)圖形開(kāi)發(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ù)的開(kāi)發(fā)維護(hù)工作變得有趣而輕 松,故編寫(xiě)本系統(tǒng)需求分析說(shuō)明書(shū);旨在開(kāi)發(fā)過(guò)程中進(jìn)行參考,使系統(tǒng)在需求的規(guī) 范之內(nèi),避免重復(fù)勞動(dòng),加快開(kāi)發(fā)進(jìn)度以及提高開(kāi)發(fā)效率;同時(shí)也是為以后系統(tǒng)維 護(hù)服務(wù)提供指南;由于時(shí)間倉(cāng)促,錯(cuò)誤之處在所難免,請(qǐng)見(jiàn)諒。 2.2 需求分析 通信在現(xiàn)今生活中已是普遍存在,在經(jīng)濟(jì)發(fā)展
17、,政治軍事活動(dòng),個(gè)人生活中的 應(yīng)運(yùn)以是相當(dāng)普遍,是社會(huì)發(fā)展不可缺少的工具,自 1844 年莫而斯在華盛頓和巴 爾的摩之間發(fā)送世界第一份電報(bào)以來(lái),通信已經(jīng)經(jīng)歷了 150 多年,發(fā)展到目前數(shù)字 通信趨于替代模擬通信的趨勢(shì)。 信號(hào)與系統(tǒng)課程,是高等理工科類院校通信與 電子信息工程等專業(yè)中一門(mén)十分重要的基礎(chǔ)理論課,也是電子信息工程專業(yè)許多后 續(xù)課程的重要理論基礎(chǔ)。以前的信號(hào)模擬是通過(guò)硬件,對(duì)儀器和實(shí)驗(yàn)室的要求較高, 不便于廣泛應(yīng)用,而且信號(hào)處理具有內(nèi)容繁多、概念抽象、設(shè)計(jì)復(fù)雜等特點(diǎn), 學(xué)生 在學(xué)習(xí)時(shí)常常會(huì)感到枯燥, 難以理解和掌握。 基于此種需求,本系統(tǒng)設(shè)計(jì)為教學(xué)演示型軟件,運(yùn)用 Matlab 軟件開(kāi)
18、發(fā),便于 學(xué)生直觀觀察信號(hào)系統(tǒng)中涉及的波形及特性的原理圖, 為后續(xù)課程的學(xué)習(xí),以及獨(dú) 石河子大學(xué)學(xué)士學(xué)位論文 4 立分析和設(shè)計(jì)新的系統(tǒng),打下基礎(chǔ)。 2.3 可行性分析 2.3.1 技術(shù)可行性 本課題所涉及的研究目標(biāo),在國(guó)內(nèi)外已經(jīng)有相當(dāng)成熟的理論基礎(chǔ)和技術(shù)基礎(chǔ)。 通過(guò)開(kāi)發(fā)人員的文獻(xiàn)調(diào)查,對(duì)于 Matlab 做用戶圖象界面和信號(hào)模擬所涉及到的技 術(shù)問(wèn)題進(jìn)行細(xì)致的分析,很大一部分可以使用電子信息工程的專業(yè)知識(shí)進(jìn)行構(gòu)建, 其他的部分則可以通過(guò)自學(xué),調(diào)用已經(jīng)開(kāi)發(fā)好的一些功能模塊來(lái)完成課題涉及到的 技術(shù)要求。 2.3.2 經(jīng)濟(jì)可行性 本課題通過(guò)對(duì)既有開(kāi)發(fā)平臺(tái)的使用,能夠設(shè)計(jì)出比較完善的信號(hào)系統(tǒng)實(shí)驗(yàn)平臺(tái),
19、沒(méi)有任何經(jīng)濟(jì)上的負(fù)擔(dān),本課題可以自主開(kāi)發(fā)信號(hào)系統(tǒng)實(shí)驗(yàn)平臺(tái),為實(shí)驗(yàn)提供了靈 活性,擺脫了硬件可以看到實(shí)驗(yàn)結(jié)果,而且又可脫離 Matlab 來(lái)進(jìn)行仿真.為教學(xué)和研 究提供了方便,在經(jīng)濟(jì)上節(jié)約了實(shí)驗(yàn)開(kāi)支,鍛煉了學(xué)生的自我研發(fā)意識(shí)和自己動(dòng)手的 能力。 2.3.3 操作可行性 Matlab 程序流程簡(jiǎn)單明了,開(kāi)發(fā)率高,并且能夠結(jié)合其他多種開(kāi)發(fā)工具,共同 實(shí)現(xiàn)信號(hào)模擬功能。它易學(xué)易用,不需大量編程,能創(chuàng)作出一些高水平的模擬平臺(tái) 作品,對(duì)于非專業(yè)的開(kāi)發(fā)人員和專業(yè)開(kāi)發(fā)人員都是一個(gè)好的選擇。從可操作性的角 度來(lái)講,完全可行。 2.42.4 系統(tǒng)主要目標(biāo)及功能系統(tǒng)主要目標(biāo)及功能 2.4.1 系統(tǒng)目標(biāo) 本課題開(kāi)發(fā)目
20、標(biāo)是利用 Matlab 軟件開(kāi)發(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)生、卷積、傅立葉變換、濾波 第二章 系統(tǒng)分析 5 器設(shè)計(jì)。簡(jiǎn)單基礎(chǔ)地涵蓋了信號(hào)與系統(tǒng)部分主要章節(jié), 用可視化的仿真模擬圖 形為大家演示部分基本信號(hào)的傳輸波形和調(diào)制變換,部分交互式界面可直接輸入合 適的值使大家更直觀、感性地
21、了解和掌握信號(hào)系統(tǒng)的概念、傳輸性能、基本特征等,為 課程的學(xué)習(xí)打下基礎(chǔ)。界面上的文字說(shuō)明幫助大家了解本圖形的特性或功能。整套 系統(tǒng)采取圖文并茂、循序漸進(jìn)、從感性到理性的方式,首先讓初學(xué)者在掌握基本信 號(hào)模擬和運(yùn)算。 2.52.5 小結(jié)小結(jié) 一個(gè)系統(tǒng)在開(kāi)發(fā)之前就需要進(jìn)行需求分析和可行性分析,本章重點(diǎn)闡述本設(shè)計(jì) 的需求分析、可行性分析和目的,對(duì)這個(gè)系統(tǒng)的需求有了一個(gè)比較有力的證明。 石河子大學(xué)學(xué)士學(xué)位論文 6 第三章第三章 方案選取方案選取 3.13.1 引言引言 本設(shè)計(jì)研究的信號(hào)系統(tǒng)實(shí)驗(yàn)平臺(tái)是一個(gè)可執(zhí)行的系統(tǒng),可以脫離它的開(kāi)發(fā)軟件 Matlab 而獨(dú)立運(yùn)行。本系統(tǒng)的關(guān)鍵是實(shí)現(xiàn)參數(shù)的傳遞和生成可執(zhí)
22、行文件,這對(duì)剛接 觸 Matlab 的我們來(lái)是說(shuō)比較困難,老師為我們提出了一些參考方案來(lái)完成設(shè)計(jì), 本章將在根據(jù)我們實(shí)力的基礎(chǔ)上,給出本課題最適合選用的一種方案。 3.23.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.33.3 模擬信號(hào)實(shí)驗(yàn)的軟件工具選擇模擬信號(hào)實(shí)
23、驗(yàn)的軟件工具選擇 我們?cè)趯W(xué)習(xí)信號(hào)與系統(tǒng)和數(shù)字信號(hào)處理課程時(shí),做實(shí)驗(yàn)的時(shí)候用的是 Matlab 軟件來(lái)實(shí)現(xiàn)信號(hào)波形的模擬以及處理,可以比較直觀準(zhǔn)確的看到波形,對(duì) Matlab 軟件也有了初步的認(rèn)識(shí),也可以用它編寫(xiě)一些比較簡(jiǎn)單的程序來(lái)。在信號(hào)波 形模擬的領(lǐng)域中,我們只接觸過(guò) Matlab 軟件,所以在編寫(xiě)模擬信號(hào)波形這個(gè)模塊 中我們選擇 Matlab 軟件。Matlab 是 Math 和 Works 公司推出的一個(gè)為工程計(jì)算和 數(shù)據(jù)分析而專門(mén)設(shè)計(jì)的高級(jí)交互式軟件包,利用它能容易地解決在系統(tǒng)仿真領(lǐng)域教 學(xué)與研究中遇到的問(wèn)題。 3.43.4 設(shè)計(jì)方案選擇設(shè)計(jì)方案選擇 在本系統(tǒng)的設(shè)計(jì)中, 界面布局設(shè)計(jì)采
24、用自頂向下的設(shè)計(jì)方法, 即先設(shè)計(jì)引導(dǎo)界 面和主界面, 再設(shè)計(jì)各個(gè)實(shí)驗(yàn)子界面。界面設(shè)計(jì)完成后, 只是一些靜態(tài)的畫(huà)面而已, 沒(méi)有什么內(nèi)涵, 還不能用于實(shí)驗(yàn)操作, 要想達(dá)到實(shí)驗(yàn)?zāi)康? 必須借助于函數(shù)調(diào)用。 在設(shè)計(jì)中, 各個(gè)回調(diào)函數(shù)的編寫(xiě)順序則是采用自底向上的設(shè)計(jì)方法, 即先編制各個(gè) 實(shí)驗(yàn)子界面的回調(diào)函數(shù), 再編寫(xiě)主界面和引導(dǎo)界面的回調(diào)函數(shù)。 第四章 開(kāi)發(fā)運(yùn)行環(huán)境 7 第四章第四章開(kāi)發(fā)運(yùn)行環(huán)境開(kāi)發(fā)運(yùn)行環(huán)境 4.14.1 系統(tǒng)開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境系統(tǒng)開(kāi)發(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 開(kāi)發(fā)工具:Matl
25、ab7.0 Matlab Gui 4.24.2 開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)工具介紹開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)工具介紹 4.2.1 Windows XP Windows XP,或視窗 XP 是微軟公司最新發(fā)布的一款視窗操作系統(tǒng)。它發(fā)行 于 2001 年 10 月 25 日,原來(lái)的名稱是 Whistler。微軟最初發(fā)行了兩個(gè)版本,家庭版 (Home)和專業(yè)版(Professional)。家庭版的消費(fèi)對(duì)象是家庭用戶,專業(yè)版則在家庭 版的基礎(chǔ)上添加了新的為面向商業(yè)的設(shè)計(jì)的網(wǎng)絡(luò)認(rèn)證、雙處理器等特性。且家庭版 只支持 1 個(gè)處理器,專業(yè)版則支持 2 個(gè)。字母 XP 表示英文單詞的“體驗(yàn)” (experience)。Windows
26、 XP 是基于 Windows 2000 代碼的產(chǎn)品,同時(shí)擁有一個(gè)新 的用戶圖形界面(叫做月神 Luna),它包括了一些細(xì)微的修改,其中一些看起來(lái)是從 Linux 的桌面環(huán)境(desktop environmen)諸如 KDE 中獲得的靈感。帶有用戶圖形的 登陸界面就是一個(gè)例子。此外,Windows XP 還引入了一個(gè)“基于人物”的用戶界 面,使得工具條可以訪問(wèn)任務(wù)的具體細(xì)節(jié)。 它包括了簡(jiǎn)化了的 Windows 2000 的用戶安全特性,并整合了防火墻,以用來(lái) 確保長(zhǎng)期以來(lái)以著困擾微軟的安全問(wèn)題。 4.2.2 Matlab 7.0 Matlab(MATrix LABoratory)語(yǔ)言是美國(guó)的
27、 Cleve Moler 博士構(gòu)思并開(kāi)發(fā)集命令 翻譯、科學(xué)計(jì)算于一身的一套交互式軟件系統(tǒng),是目前國(guó)際工程控制界應(yīng)用最廣、 最流行的一種控制系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)的軟件工具,它集成了計(jì)算功能,符號(hào)運(yùn)算, 石河子大學(xué)學(xué)士學(xué)位論文 8 數(shù)據(jù)可視化等功能,具有功能強(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)就是簡(jiǎn)
28、潔的,開(kāi)放式代碼。提供了更為直觀,符合人 們思維習(xí)慣的代碼,現(xiàn)簡(jiǎn)單介紹該軟件的主要特點(diǎn)。 1) 語(yǔ)言簡(jiǎn)單,代碼靈活,極其豐富的庫(kù)函數(shù)資源。在程序設(shè)計(jì)中該軟件對(duì)代 碼的書(shū)寫(xiě)形式?jīng)]有很嚴(yán)格的限制,同時(shí)利用豐富的庫(kù)函數(shù)簡(jiǎn)化了子程序的編寫(xiě)任務(wù), 利用極其豐富的庫(kù)函數(shù)可以使程序開(kāi)發(fā)避免繁雜的子程序編程任務(wù)避免了一些不必 要的錯(cuò)誤,提高了程序的可靠性。 2) 豐富靈活的運(yùn)算符。Matlab 提供了和 C 語(yǔ)言一樣多的運(yùn)算符,使用這些運(yùn) 算符可使程序短小、靈活。 3) 面向?qū)ο缶幊毯徒Y(jié)構(gòu)化控制功能。尤其是新版的 MATLAB7.0 軟件在可視 化方面較以前版本有了很大程度的提高,使得界面編程更加自由,方便。
29、 4) 程序設(shè)計(jì)自由度大。在新版的 MATLAB7.0 軟件中,用戶無(wú)須對(duì)矩陣進(jìn)行 預(yù)定義就可以使用,對(duì)數(shù)組和變量的應(yīng)用也得到很大程度的擴(kuò)展。 5) 程序可移植性好,基本上可以不作修改就可以在各種型號(hào)的計(jì)算機(jī)和操作 系統(tǒng)上運(yùn)用。 6) 分門(mén)別類的工具箱是該軟件的又一大特點(diǎn)。核心工具箱和學(xué)科類的工具箱。 這些工具箱都是該學(xué)科的高水平的專業(yè)人士所編,所以用戶可以直接使用。提高了 編程效率。 7) 開(kāi)放的共享源代碼。開(kāi)放性的代碼是該軟件最受歡迎的另一大特點(diǎn)。所有 的核心文件和工具箱文件都是可讀可該的源代碼。所以 matlab 語(yǔ)言被稱為第四代 編程語(yǔ)言3。 4.2.3圖形用戶界面(GUI) 圖形用戶
30、界面(GUI)是用戶與計(jì)算機(jī)程序之間的交互方式,是用戶與計(jì)算機(jī) 進(jìn)行信息交流的方式。計(jì)算機(jī)在屏幕顯示圖形和文本,若有揚(yáng)聲器還可產(chǎn)生聲音。 用戶通過(guò)輸入設(shè)備,如:鍵盤(pán)、鼠標(biāo)、跟蹤球、繪制板或麥克風(fēng),與計(jì)算機(jī)通訊。 用戶界面設(shè)定了如何觀看和如何感知計(jì)算機(jī)、操作系統(tǒng)或應(yīng)用程序。通常,多是根 據(jù)悅目的結(jié)構(gòu)和用戶界面功能的有效性來(lái)選擇計(jì)算機(jī)或程序。圖形用戶界面或 GUI 是包含圖形對(duì)象,如:窗口、圖標(biāo)、菜單和文本的用戶界面。以某種方式選擇或激 活這些對(duì)象,通常引起動(dòng)作或發(fā)生變化。最常見(jiàn)的激活方法是用鼠標(biāo)或其它點(diǎn)擊設(shè) 備去控制屏幕上的鼠標(biāo)指針的運(yùn)動(dòng)。按下鼠標(biāo)按鈕,標(biāo)志著對(duì)象的選擇或其它動(dòng)作。 第四章 開(kāi)發(fā)
31、運(yùn)行環(huán)境 9 Matlab 在 demo 命令中包含了 GUI 功能的極好例子。Matlab 為表現(xiàn)其基本功 能而設(shè)計(jì)的演示程序 demo 是使用圖形界面的最好范例。Matlab 的用戶,在指令 窗中運(yùn)行 demo 打開(kāi)那圖形界面后,只要用鼠標(biāo)進(jìn)行選擇和點(diǎn)擊,就可瀏覽那豐富 多彩的內(nèi)容。如: demo 研究該命令,以了解 uimenu 和 uicontrol 如何給 MATLAB 函數(shù)提供交互輸入。 在運(yùn)行了 demo 例子后,很可能會(huì)問(wèn)“為什么要在 MATLAB 中建立一個(gè) GUI?”這是一個(gè)很好的問(wèn)題,簡(jiǎn)單的回答是可能并不需要使用 MATLAB 來(lái)分析 數(shù)據(jù),求解問(wèn)題,繪制結(jié)果的絕大多數(shù)的
32、人,并不會(huì)發(fā)現(xiàn) GUI 工具很有用。但另 一方面,GUI 可以在 MATLAB 中生成非常有效的工具和應(yīng)用程序,或是建立演示工 作的交互式界面。 對(duì)“句柄圖形”的理解是設(shè)計(jì)和實(shí)現(xiàn) GUI 的先決條件。 由圖形命令生成的每一事物是一個(gè)圖形對(duì)象。圖形對(duì)象不僅包括 uimenu 和 uicontrol 對(duì)象,而且還包括圖形、坐標(biāo)軸和他們的子對(duì)象。讓我們從另一個(gè)角度來(lái) 看這一層次結(jié)構(gòu)。計(jì)算機(jī)的屏幕本身是根結(jié)點(diǎn),圖形是根對(duì)象的子對(duì)象,坐標(biāo)軸, uimenu ,uicontrol 是圖形的子對(duì)象。根可以包括多個(gè)圖形,每個(gè)圖形含有一組或 多組坐標(biāo)軸以及其子對(duì)象,每個(gè)圖形也可以有一個(gè)或多個(gè)與坐標(biāo)軸無(wú)關(guān)的 ui
33、menu 和 uicontrol。雖然 uicontrol 對(duì)象無(wú)子對(duì)象結(jié)點(diǎn),但他們確實(shí)具有多種類型。 uimenu 對(duì)象常將其它的 uimenu 對(duì)象作為其子對(duì)象。 石河子大學(xué)學(xué)士學(xué)位論文 10 第五章第五章 系統(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)友好、美化的界面的設(shè)計(jì)要求。因此,在設(shè) 計(jì)界面的時(shí)候,采用一個(gè)主界面和若干子界面,每個(gè)子界面是一個(gè)模塊,實(shí)現(xiàn)一個(gè) 實(shí)驗(yàn)或功能,并通過(guò)主界面調(diào)用子界面的設(shè)計(jì)方法。 5.25.2 系統(tǒng)整體框圖系統(tǒng)整體框圖 本實(shí)驗(yàn)系統(tǒng)整體結(jié)構(gòu)設(shè)
34、計(jì)由兩部分組成: 界面模塊設(shè)計(jì)和菜單模塊設(shè)計(jì)。其中, 界面模塊總共包括八個(gè)模塊: 開(kāi)始引導(dǎo)模塊、主模塊、序列基本計(jì)算模塊、基本信 號(hào)的產(chǎn)生模塊、卷積模塊、傅里葉變換模塊、濾波器設(shè)計(jì)模塊和說(shuō)明模塊。一個(gè)實(shí) 驗(yàn)界面模塊下面又有下一級(jí)實(shí)驗(yàn)界面模塊, 如濾波器設(shè)計(jì)模塊下面還有 FIR 濾波 器設(shè)計(jì)模塊和 IIR 濾波器設(shè)計(jì)模塊, 其中 FIR 濾波器模塊又包含 FIR 濾波器線性 的判斷實(shí)驗(yàn)界面、窗函數(shù)的頻率響應(yīng)實(shí)驗(yàn)界面和 FIR 濾波器的設(shè)計(jì)實(shí)驗(yàn)界面; IIR 濾波器模塊又包含完全 IIR 濾波器的設(shè)計(jì)實(shí)驗(yàn)界面和典型 IIR 濾波器實(shí)驗(yàn)界面; 主界面中還包含了說(shuō)明模塊。在菜單設(shè)計(jì)時(shí), 在實(shí)驗(yàn)子界面中
35、除使用系統(tǒng)約定的菜 單條外, 還增加了幾個(gè)控制背景和退出實(shí)驗(yàn)的菜單。系統(tǒng)的整體結(jié)構(gòu)如圖 5-1 所示。 圖 5-1 系統(tǒng)的整體結(jié)構(gòu) 開(kāi)始引導(dǎo)界面 開(kāi)始界面 序列基本計(jì) 算 基本信號(hào)產(chǎn) 生 卷積 卷積 傅立葉變換 濾波器設(shè) 計(jì) 系統(tǒng)說(shuō)明 第五章 系統(tǒng)軟件平臺(tái)的設(shè)計(jì) 11 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)的開(kāi)始引 導(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)的說(shuō)明界面及其各 個(gè)實(shí)驗(yàn)的說(shuō)明界面。 3)分別編寫(xiě)
36、各個(gè)子界面的各個(gè)控件對(duì)象的回調(diào)函數(shù), 來(lái)實(shí)現(xiàn)控件相應(yīng)控制功 能, 達(dá)到直接通過(guò)界面上各個(gè)控件就可以控制數(shù)據(jù)的輸入輸出, 并可以方便地對(duì)實(shí) 驗(yàn)結(jié)果的數(shù)據(jù)及其圖形進(jìn)行讀取和分析的目的。 4)編寫(xiě)主界面的回調(diào)函數(shù), 將各個(gè)實(shí)驗(yàn)子界面整合在信號(hào)處理系統(tǒng)實(shí)驗(yàn)主界 面中, 即通過(guò)主界面就可以進(jìn)入任何一個(gè)實(shí)驗(yàn)子界面進(jìn)行實(shí)驗(yàn)。 5)編寫(xiě)開(kāi)始引導(dǎo)界面的回調(diào)函數(shù), 實(shí)現(xiàn)從引導(dǎo)界面直接進(jìn)入主界面。 5.5.4 4 系統(tǒng)模塊系統(tǒng)模塊 5.4.1 模塊劃分簡(jiǎn)介 本系統(tǒng)根據(jù)要實(shí)現(xiàn)的實(shí)驗(yàn)類別、個(gè)數(shù)的要求來(lái)規(guī)劃模塊,在設(shè)計(jì)的時(shí)候本著界 面美觀、簡(jiǎn)潔的原則。各個(gè)模塊可以相互切換,每個(gè)實(shí)驗(yàn)時(shí)可以完成參數(shù)的傳遞, 5.4.2 模塊
37、具體設(shè)計(jì) 1)系統(tǒng)歡迎模塊??梢曊{(diào)用的方法有 pushbuttondownfcn closerequestfcn createfcn delectfcn keypressfcn resizefcn,在 label 選框中為其命名,調(diào)用某一個(gè) m 函數(shù), functionUntitledcallball 中寫(xiě)入函數(shù)名。 主窗體對(duì)象的層次圖如圖 5-2。 根對(duì)象 (計(jì)算機(jī)屏幕) 圖形框架窗口對(duì)象 Uimenu對(duì)象Uicontrol對(duì)象坐標(biāo)系對(duì)象 影象對(duì)象線條對(duì)象貼片對(duì)象文本對(duì)象曲面對(duì)象 圖形框架窗口對(duì)象 坐標(biāo)系對(duì)象 圖 5-2 主窗體對(duì)象的層次圖 系統(tǒng)歡迎界面如圖 5-3 所示。 石河子大學(xué)學(xué)士學(xué)
38、位論文 12 圖 5-3 系統(tǒng)主界面 圖 5-3 中可以看出這個(gè)系統(tǒng)的主要模塊,簡(jiǎn)潔明了,對(duì)每個(gè)模塊都有詳細(xì)的說(shuō) 明,在做實(shí)驗(yàn)之前可以參考說(shuō)明以便能順利的進(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)算。下面來(lái)主要介紹這單位階躍序列和 指數(shù)序列及其設(shè)計(jì)方法。 a單位階躍序列 單位階躍序列的公式 (5-1) )0(0 )0(1 n n nu 第五章 系統(tǒng)軟件平臺(tái)的
39、設(shè)計(jì) 13 類似于連續(xù)時(shí)間系統(tǒng)中的單位階躍信號(hào),但應(yīng)注意在點(diǎn)發(fā)生跳變,往tutu0t 往不予定義(或定義為) ,而在=0 點(diǎn)明確規(guī)定為。在該子界面的單 2 1 tun 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
40、+7; fk=(k-t)=0; stem(k,fk) title(單位階躍序列) b指數(shù)序列 指數(shù)序列是公式是 (5-2) nuanx n 當(dāng)1 時(shí)序列是發(fā)散的, 0 序列都取正值, 0,信號(hào)將隨著時(shí)間而增長(zhǎng),若 a/extern/lib/win32/mglinstallar.exel 拷貝到到待運(yùn)行機(jī)器上 第五章 系統(tǒng)軟件平臺(tái)的設(shè)計(jì) 27 4)在機(jī)器上先運(yùn)行 mglinstallar.exe, 然后選擇解壓目錄,將在指定目錄下解壓縮出 bin 和 toolbox 兩子目錄,其中在 binwin32 目錄下就是數(shù)學(xué)庫(kù)和圖形庫(kù)脫離 MATLAB 運(yùn)行所需的所有動(dòng)態(tài)連接庫(kù),共有 37 個(gè)??梢詫⑦@
41、些.dll 考入 system32, 也可以直接放在應(yīng)用程序目錄下。而 toolbox 目錄則必須與應(yīng)用程序同一目錄。 5)大功告成。 5.6 小結(jié) 本章討論了軟件平臺(tái)的整體設(shè)計(jì),給出了系統(tǒng)整體框圖和各模塊的界面和設(shè)計(jì) 方法,詳細(xì)介紹了各個(gè)模塊產(chǎn)生波形的原理,并分析了最后生成可執(zhí)行文件的方法。 第六章第六章 系統(tǒng)測(cè)試 6.1 引言 經(jīng)過(guò)為期六周的緊張工作,我們終于按照用戶要求完成了一系列的程序設(shè)計(jì), 為了更好的對(duì)本軟件的正確性做出客觀公正的評(píng)價(jià),為了更進(jìn)一步的對(duì)本軟件進(jìn)行 驗(yàn)證,為了能給用戶一個(gè)滿意的軟件,讓用戶更好的使用本軟件,也為了發(fā)現(xiàn)軟件 本身隱蔽的一系列問(wèn)題從而提高用戶的工作效率。為此
42、本測(cè)試組對(duì)此軟件做了詳細(xì) 的測(cè)試。本報(bào)告最終的用戶是此軟件的開(kāi)發(fā)者以及此軟件的最終維護(hù)者,為軟件以 后升級(jí)和修改提供參考。特此對(duì)以下模塊進(jìn)行了測(cè)試:基本序列計(jì)算模塊,基本信 號(hào)產(chǎn)生模塊,卷積仿真模塊, 信號(hào)的傅立葉分析模塊,通過(guò)多次測(cè)試作以下說(shuō)明。 注:本測(cè)試報(bào)告在系統(tǒng)經(jīng)過(guò)較為嚴(yán)格測(cè)試的基礎(chǔ)上編寫(xiě)。 6.2 測(cè)試背景 被測(cè)試軟件的名稱為:信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)。 石河子大學(xué)信息科學(xué)與技術(shù)學(xué)院信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)已經(jīng)調(diào)試成功,在未正式 運(yùn)行之前,完全有必要進(jìn)行全面的測(cè)試,以檢驗(yàn)軟件的可靠性,正確性,及穩(wěn)定性。 這也是開(kāi)發(fā)項(xiàng)目的最基本規(guī)范。軟件的測(cè)試具有真實(shí)性,所以本系統(tǒng)測(cè)試有較強(qiáng)的 說(shuō)服力。 石河子大
43、學(xué)學(xué)士學(xué)位論文 28 6.3 測(cè)試概要 6.3.1 測(cè)試結(jié)果 1)測(cè)試界面鏈接 測(cè)試本系統(tǒng)最主要的就是看能否正確實(shí)現(xiàn)信號(hào)的模擬并且動(dòng)態(tài)的反映參數(shù)改變 時(shí)波形的變化。雙擊已經(jīng)生成的可執(zhí)行文件后出現(xiàn)主界面如圖 6-1,可以看到此系 統(tǒng)的主要模塊,在主界面里可以鏈接到其他子界面。如在主界面內(nèi)點(diǎn)擊按鈕“傅立 葉變換”則彈出它的子界面如圖 6-2。 圖 6-1 系統(tǒng)主界面 圖 6-2 傅立葉變換子界面 主界面和各子界面的鏈接可以實(shí)現(xiàn),并且各個(gè)模塊可以很容易的切換,這部分 符合要求。 第六章 系統(tǒng)測(cè)試 29 2)測(cè)試波形。下面具體測(cè)試各個(gè)模塊的波形 A基本序列計(jì)算模塊。在本模塊中,我們選擇指數(shù)序列為例。
44、測(cè)試一:能否正確顯示波形。 在第五章我們已經(jīng)介紹過(guò)了指數(shù)序列的公式,根據(jù)公式我們可以輕松的得到它 的波形。在本系統(tǒng)的主界面里點(diǎn)擊“序列基本計(jì)算”按鈕,出現(xiàn)序列基本計(jì)算模塊 的子界面,在指數(shù)序列那欄內(nèi)輸入底數(shù) 3,出現(xiàn)如圖 6-3 波形: 圖 6-3 底數(shù)為 3 時(shí)的指數(shù)序列 根據(jù)公式可以知道改波形顯示正確。 nuanx n 測(cè)試二:參數(shù)改變時(shí)看波形能否正確的相應(yīng)變化。 在本系統(tǒng)的主界面里點(diǎn)擊“序列基本計(jì)算”按鈕,出現(xiàn)序列基本計(jì)算模塊的子 界面,在指數(shù)序列那欄內(nèi)輸入底數(shù) 6,出現(xiàn)如圖 6-4 所示波形: 圖 6-4 底數(shù)為 6 時(shí)的指數(shù)序列 根據(jù)圖 6-3 和 6-4 可知波形出現(xiàn)變化,根據(jù)公式
45、 n=10 時(shí),由可得 nuanx n ,圖示波形正確無(wú)誤。 10610 10u x 石河子大學(xué)學(xué)士學(xué)位論文 30 B基本信號(hào)產(chǎn)生模塊。由于此系統(tǒng)中做的基本信號(hào)類型比較多,在這里我們選擇 正弦信號(hào)為例。 測(cè)試一:能否正確顯示波形。 正弦信號(hào),一般寫(xiě)做 (6-1)tKtfsin 式中 K 為振幅,是角頻率,為初相位。 正弦信號(hào)是周期信號(hào),其周期 T 與角頻率和頻率滿足下列關(guān)系式 (6-2) f T 12 在初中我們就開(kāi)始接觸正弦信號(hào)了,可以根據(jù)函數(shù)來(lái)輕易畫(huà)出波形。在式(6-1) 中如果我們?nèi)?1, =1,=0 的時(shí)候式(6-1)就可以寫(xiě)成K (6-3)ttfsin 這是最簡(jiǎn)單的正弦函數(shù),它的波形
46、應(yīng)該如圖 6-5 所示。 圖 6-5 的波形ttfsin 在本系統(tǒng)的基本信號(hào)產(chǎn)生模塊中,正弦信號(hào)的輸入?yún)?shù)如圖 6-6 所示,在 A,W,P 各自的編輯框內(nèi)輸入值會(huì)即可出現(xiàn)相應(yīng)的波形,其中 A,W,P 分別為式(6-1)中 的 K,在編輯框按圖 6-5 內(nèi)輸入 1,1,0 即和式(6-3)是一個(gè)函數(shù)。 圖 6-6 正弦信號(hào)變量輸入框 第六章 系統(tǒng)測(cè)試 31 圖 6-7 正弦信號(hào)變量輸入 1,1,1 輸入?yún)?shù)后點(diǎn)擊“正弦信號(hào)”按鈕即可看見(jiàn)波形如圖 6-8 所示: 圖 6-8 的波形0*1sin*1ttf 可以看出圖 6-5 和圖 6-8 所描繪的波形是同一個(gè)函數(shù),即波形準(zhǔn)確。 測(cè)試二:參數(shù)改變時(shí)
47、看波形能否正確的相應(yīng)變化。 在圖 6-6 所示的編輯框 A,W,P 內(nèi)分別輸入 2,2,2,即如圖 6-9 所示,此時(shí) 的正弦函數(shù)是 (6-4)22sin2ttf 然后點(diǎn)擊“正弦信號(hào)”按鈕,出現(xiàn)波形如圖 6-10 所示。 圖 6-9 石河子大學(xué)學(xué)士學(xué)位論文 32 圖 6-10 的波形22sin2ttf 可以輕易的看出圖 6-8 和圖 6-10 的區(qū)別,后者的頻率和振幅均變大了 2 倍,且向左 移了兩個(gè)單元。則波形可以正確的根據(jù)參數(shù)的變化而變化。 C卷積模塊 卷積方法的原理就是將信號(hào)分解為沖激信號(hào)之和,借助系統(tǒng)的沖激響應(yīng),th 求解系統(tǒng)對(duì)任意激勵(lì)信號(hào)的零響應(yīng)。在設(shè)計(jì)的時(shí)候我們限定了兩個(gè)函數(shù),改變
48、參數(shù) 的時(shí)候只能改變卷積幅度。 測(cè)試一:能否正確顯示波形。 在卷積子界面內(nèi)輸入卷積幅度 3,出現(xiàn)如圖 6-11 所示波形: 圖 6-11 卷積幅度為 3 時(shí)的 f1(t)*f2(t) 在界面里可知函數(shù) 1 和函數(shù) 2 的表達(dá)式,利用卷積定義 可知結(jié)果正確。 dtfftf 21 第六章 系統(tǒng)測(cè)試 33 測(cè)試二:參數(shù)改變時(shí)看波形能否正確的相應(yīng)變化。 在卷積子界面中把卷積幅度修改為 6,即出現(xiàn)如圖 6-12 的波形:: 圖 6-12 卷積幅度為 6 時(shí)的 f1(t)*f2(t) 比較圖 6-11 和 6-12 可知幅度增加了一倍,可以實(shí)現(xiàn)此功能。 D傅立葉變換分析模塊 本系統(tǒng)設(shè)計(jì)了方波傅立葉變換、快
49、速傅立葉變換和離散傅立葉變換三個(gè)實(shí)驗(yàn)。在這 個(gè)模塊里我們以快速傅立葉變換為例來(lái)測(cè)試。 測(cè)試一:能否正確顯示波形。 在本系統(tǒng)的主界面里點(diǎn)擊“傅立葉變換”按鈕,出現(xiàn)傅立葉變換模塊的子界面, 在離散傅立葉變換那欄內(nèi)輸入周期延拓?cái)?shù)-0.9,出現(xiàn)以下波形: 圖 6-13 底數(shù)為-0.9 時(shí)的離散傅立葉變換 測(cè)試結(jié)果正確。 測(cè)試二:參數(shù)改變時(shí)看波形能否正確的相應(yīng)變化。 在周期延拓?cái)?shù)后的編輯框內(nèi)把-0.9 修改為-0.6,出現(xiàn)如下波形: 石河子大學(xué)學(xué)士學(xué)位論文 34 圖 6-14 底數(shù)為-0.6 時(shí)的離散傅立葉變換 在圖 6-13 和圖 6-14 里比較,結(jié)果正確。 6.3.2 測(cè)試分析 1) 序列基本計(jì)算
50、模塊的測(cè)試:可以基本完成要求的功能。 2) 基本信號(hào)產(chǎn)生模塊的測(cè)試: 能夠?qū)崿F(xiàn)的波形較豐富,可以實(shí)現(xiàn)參數(shù)的傳遞,能清楚、直觀的看見(jiàn)波形隨這 參數(shù)的改變而呈現(xiàn)相應(yīng)的變化,從整體來(lái)說(shuō),滿足實(shí)驗(yàn)要求,可以基本完成要求的 功能。 3) 卷積模塊的測(cè)試: 可以實(shí)驗(yàn)一些基本函數(shù)的卷積,可以方便的看到實(shí)驗(yàn)結(jié)果,方便分析波形變化。 可以基本完成要求的功能。 5) 傅立葉變換模塊的測(cè)試: 可以完成一些簡(jiǎn)單函數(shù)的快速傅立葉變換、離散傅立葉變換、連續(xù)傅立葉變換, 呈現(xiàn)出它們的傅立葉變換波形??梢曰就瓿梢蟮墓δ堋?6.4 小結(jié) 我們完成的功能是仿真, 對(duì)信號(hào)波形的動(dòng)態(tài)仿真、基本序列計(jì)算、基本信號(hào)的 產(chǎn)生過(guò)程、傅立
51、葉變換分析、信號(hào)卷積等?;拘蛄械娜藱C(jī)交互,基本信號(hào)產(chǎn)生模 塊的人機(jī)交互,卷積分析的人機(jī)交互,濾波器設(shè)計(jì)模塊的人機(jī)交互,信號(hào)的傅立葉 變換模塊的人機(jī)交互。當(dāng)輸入數(shù)據(jù)之后,結(jié)果會(huì)以可視化的方式顯示出來(lái)。其他的 就是一些靜態(tài)的演示圖,通過(guò)編程顯示出來(lái),主要實(shí)現(xiàn)的內(nèi)容包括基本信號(hào)的波形 產(chǎn)生例如正弦波形,三角波形,脈沖波形。各種濾波器的設(shè)計(jì)低通濾波器、高通濾 波器和巴特沃斯濾波器。通過(guò)測(cè)試,本軟件具有良好的系統(tǒng)穩(wěn)定性。經(jīng)過(guò)大量數(shù)據(jù) 第六章 系統(tǒng)測(cè)試 35 測(cè)試,我們發(fā)現(xiàn)了一些問(wèn)題,并及時(shí)地對(duì)其作了修改,我們邊測(cè)試邊調(diào)試。目前系 統(tǒng)能夠完全按要求正常運(yùn)行,通過(guò)測(cè)試也使我們明白了:編寫(xiě)一個(gè)功能完善的軟件
52、 是需要經(jīng)過(guò)多次的測(cè)試調(diào)試才能夠正常運(yùn)行的。程序編寫(xiě)的完成只是整個(gè)開(kāi)發(fā)過(guò)程 中的小部分,我們所進(jìn)行的單元測(cè)試和集成測(cè)試是軟件的開(kāi)發(fā)過(guò)程中較為繁重的一 個(gè)環(huán)節(jié)。在測(cè)試過(guò)程中出現(xiàn)的某些故障都是出乎意料的,有些問(wèn)題的解決也許并不 困難,但要周密的考慮過(guò)程。 第七章第七章 結(jié)論 在孫小齊老師的指導(dǎo)下,本次畢業(yè)設(shè)計(jì),就要畫(huà)上一個(gè)句號(hào)了。通過(guò)對(duì)信號(hào)與 系統(tǒng)實(shí)驗(yàn)平臺(tái)這個(gè)課題的開(kāi)發(fā),我們?cè)陂_(kāi)發(fā)能力上有了實(shí)質(zhì)性地提高。 鑒于本文開(kāi)發(fā)的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)為個(gè)人計(jì)算機(jī),其性能有限,故暫不能做 大規(guī)模的精確系統(tǒng)測(cè)試。雖然信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)已經(jīng)順利完工并能夠正常運(yùn)行, 但想要成為一個(gè)能夠在大范圍內(nèi)廣泛應(yīng)用的實(shí)驗(yàn)平臺(tái),本
53、系統(tǒng)還需要投入更多的人 力和物力,引入更多的技術(shù)才能進(jìn)一步完善,使得系統(tǒng)更加健壯。 Matlab 實(shí)驗(yàn)平臺(tái)發(fā)展到現(xiàn)在,雖然時(shí)間不長(zhǎng),然現(xiàn)如今已經(jīng)發(fā)展成為信息產(chǎn)業(yè) 中一個(gè)大的研究熱點(diǎn)。更是由于次實(shí)驗(yàn)系統(tǒng)的復(fù)雜性和所具有的挑戰(zhàn)性,才使得有 更多的 Matlab 愛(ài)好者投身其中,為基于 Matlab 的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)的發(fā)展貢獻(xiàn) 力量。 希望通過(guò)本文,給喜歡 Matlab 的愛(ài)好者提供一些可以借鑒的材料,以此共勉! 1)團(tuán)隊(duì)開(kāi)發(fā)的認(rèn)識(shí)。 要在最短的時(shí)間內(nèi)做出最成功的軟件,僅靠個(gè)人的能力是不夠的。軟件英雄時(shí) 代已經(jīng)結(jié)束。Matlab 軟件有這很好的圖象處理功能,。其特點(diǎn)是開(kāi)發(fā)效率高,和其 他工具軟件
54、配合較好。我們此次的畢業(yè)設(shè)計(jì)就是在 Matlab 環(huán)境中開(kāi)發(fā)的。如果所 實(shí)現(xiàn)的波形較多則可顯示出非常高的效率和使用價(jià)值。 2)編程和系統(tǒng)規(guī)劃的認(rèn)識(shí)。 熟練使用開(kāi)發(fā)工具不等于編程,或許掌握一種開(kāi)發(fā)工具并不容易。使用開(kāi)發(fā)工 具并不能提高編程水平。我們的程序是利用 Matlab 的用戶圖象功能來(lái)編寫(xiě)界面, 并且規(guī)劃了這個(gè)系統(tǒng)的各個(gè)板塊,各個(gè)板塊互相獨(dú)立,條理清晰,能方便快捷的在 各個(gè)板塊中切換。這次畢業(yè)設(shè)計(jì)是我們第一次嘗試這做一個(gè)系統(tǒng),一個(gè)比較完整和 石河子大學(xué)學(xué)士學(xué)位論文 36 優(yōu)秀的系統(tǒng)是有很好的規(guī)劃的。雖然是第一次嘗試,可也大概實(shí)現(xiàn)了一個(gè)具備的條 理和功能。 在編程的時(shí)候我們遇到一些麻煩,因?yàn)?/p>
55、對(duì) Matlab 軟件本來(lái)就很陌生,且并不 是任何工具都可以寫(xiě)出高效的代碼。當(dāng)然這是我們的弱項(xiàng),我們或許無(wú)權(quán)去評(píng)判。 3)不足和提高。 畢業(yè)設(shè)計(jì)期間,我們對(duì)自己有了更加理性的了解,我們的軟件工程的思想是有 限的,軟件需求的能力也是有限的,編程能力和系統(tǒng)規(guī)劃能力有待提高。盡管這樣, 我們還是盡量運(yùn)用了軟件工程的思想。我們的編程能力在開(kāi)發(fā)當(dāng)中得到了很大提高, 可以寫(xiě)出高效緊湊的代碼,當(dāng)然這是我們每個(gè)人都可以做到的。 4)設(shè)計(jì)心得 大學(xué)畢業(yè)設(shè)計(jì)是我們所必須面對(duì)的。過(guò)幾周的奮戰(zhàn)我的畢業(yè)設(shè)計(jì)終于完成了。 在沒(méi)有做畢業(yè)設(shè)計(jì)以前覺(jué)得畢業(yè)設(shè)計(jì)只是對(duì)這幾年來(lái)所學(xué)知識(shí)的單純總結(jié),但是通 過(guò)這次做畢業(yè)設(shè)計(jì)發(fā)現(xiàn)自己的
56、看法有點(diǎn)太片面。畢業(yè)設(shè)計(jì)不僅是對(duì)前面所學(xué)知識(shí)的 一種檢驗(yàn),而且也是對(duì)自己能力的一種提高。通過(guò)這次畢業(yè)設(shè)計(jì)使我明白了自己原 來(lái)知識(shí)還比較欠缺。自己要學(xué)習(xí)的東西還太多,以前老是覺(jué)得自己什么東西都會(huì), 什么東西都懂,有點(diǎn)眼高手低。通過(guò)這次畢業(yè)設(shè)計(jì),我才明白學(xué)習(xí)是一個(gè)長(zhǎng)期積累 的過(guò)程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識(shí)和綜合素質(zhì)。 畢業(yè)設(shè)計(jì)過(guò)程中所學(xué)到的東西是這次畢業(yè)設(shè)計(jì)的最大收獲和財(cái)富,使我終身受益。 第七章 結(jié)論 37 致 謝 本論文是在我們導(dǎo)師孫小齊的悉心指導(dǎo)下完成。都給我們留下了很深的印象。 在整個(gè)作課題的過(guò)程中,孫老師不時(shí)給予我們熱情的鼓勵(lì)和實(shí)驗(yàn)設(shè)施上的大力支持, 這是我
57、們的課題順利完成的保障。 首先,我要向我的導(dǎo)師孫小齊老師,表示最衷心的感謝。從本論文一開(kāi)始設(shè)計(jì), 到系統(tǒng)的最初規(guī)劃,程序編寫(xiě)以及最后的論文撰寫(xiě)過(guò)程中都給于了我許多得建議和 指正。 另外,還要感謝這四年來(lái)所有老師對(duì)我的辛苦培育。還有這四年來(lái)所有關(guān)心我 的人。 參考文獻(xiàn) 38 參考文獻(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):237242. 3 劉瑞楨.MATLAB簡(jiǎn)介J電腦編程技巧與維護(hù),1997,7(1):4851. 4 楊世文,許小健.MATLAB 優(yōu)化工具箱在結(jié)構(gòu)優(yōu)
58、化設(shè)計(jì)中的應(yīng)用J科學(xué)技術(shù)與工程, 2008,8(5):13471349. 5 劉勤讓,羅小武.基于MATLAB的信號(hào)處理仿真J. 信息工程大學(xué)學(xué)報(bào),2000,1(1):3840. 6 高飛,汪浩.基于MATLAB的“信號(hào)與系統(tǒng)”仿真實(shí)驗(yàn)及其性能分析J南民族學(xué)院學(xué)報(bào) (自然科學(xué)版),2001,10(2):266269. 7 林月美, 陳仁安,基于MATLAB 的信號(hào)與系統(tǒng)軟件實(shí)驗(yàn)平臺(tái)J集美大學(xué)學(xué)報(bào), 2001,6(3): 51254. 8 夏平基于matlab的信號(hào)與系統(tǒng)、數(shù)字信號(hào)處理實(shí)驗(yàn)體系J.教學(xué)實(shí)驗(yàn),2004,26(5): 7376. 致謝 39 9 李蘊(yùn)華基于Matlab的信號(hào)與系統(tǒng)頻域
59、分析J.武漢科技學(xué)院學(xué)報(bào),2006,19(5): 2124. 10 任亞莉MATLAB 在信號(hào)與系統(tǒng)仿真實(shí)驗(yàn)中的應(yīng)用J.編程園地,2006,16(2):3436. 11 許艷惠基于MA丁LAB的信號(hào)系統(tǒng)仿真及應(yīng)用J. 儀器儀表用戶,2006:9697. 12 呂鋒,劉泉,江雪梅基于MATLAB 的信號(hào)與系統(tǒng)軟件實(shí)驗(yàn)平臺(tái)J. 理工高教研究, 2006 ,4 (25):9899. 13 羅朝明,李文,李延平,劉杰基于Matlab 和VB 的信號(hào)與系統(tǒng)虛擬實(shí)驗(yàn)系統(tǒng)J. 湖南理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2007,20(1):5962. 14 馬蕾,任全會(huì)基于MATLAB 的信號(hào)與系統(tǒng)頻域方面仿真教學(xué)J
60、. SCIENCE gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, xljbjs_OpeningFcn, . gui_OutputFcn, xljbjs_OutputFcn, . gui_LayoutFcn, , . gui_Callback, ); if nargin end if nargout varargout1:nargout = 附錄 40 gui_mainfcn(gui_State, varargin:); else gui_mainfcn(gui_
61、State, varargin:); end function xljbjs_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; guidata(hObject, handles); function varargout = xljbjs_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output; function pushbutton1_Callback(hObject, eventdata, handles) t=s
62、tr2num(get(handles.edit1,String); k=t-5:t+5; fk=(k-t)=0; stem(k,fk) title() function pushbutton2_Callback(hObject, eventdata, handles) t=str2num(get(handles.edit2,String) 2基本信號(hào)產(chǎn)生 function varargout = jbxhcs(varargin) gui_Singleton = 1; gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Sin
63、gleton, . gui_OpeningFcn, jbxhcs_OpeningFcn, . gui_OutputFcn, jbxhcs_OutputFcn, . gui_LayoutFcn, , . gui_Callback, ); if nargin end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:); else gui_mainfcn(gui_State, varargin:); end function jbxhcs_OpeningFcn(hObject, eventdata, handles, v
64、arargin) handles.output = hObject; guidata(hObject, handles); function varargout =jbxhcs_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output; function pushbutton1_Callback(hObject, eventdata, handles) clc A=str2num(get(handles.edit6,String); a=str2num(get(handles.edit4,String); t=0:.001:10; ft=A*exp(a*t); plot(t,ft),grid title(A*exp(a*t) function pushbutton2_Callback(hObject, eventdata, handles) clc A=str2num(get(handles.edit3,String); W=str2num(get(handles.edit2,String); P=str2num(get(handles.ed
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024《增值稅法》全文學(xué)習(xí)解讀(規(guī)范增值稅的征收和繳納保護(hù)納稅人的合法權(quán)益)
- 2024《文物保護(hù)法》全文解讀學(xué)習(xí)(加強(qiáng)對(duì)文物的保護(hù)促進(jìn)科學(xué)研究工作)
- 銷售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見(jiàn)問(wèn)題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說(shuō)話方式
- 汽車銷售績(jī)效管理規(guī)范
- 銷售技巧培訓(xùn)課件:絕對(duì)成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營(yíng)銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩