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

下載本文檔

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

文檔簡介

1、摘要1基于基于 matlab 的信號系統(tǒng)實(shí)平臺設(shè)計(jì)的信號系統(tǒng)實(shí)平臺設(shè)計(jì) 摘摘 要要 本文概述了信號仿真系統(tǒng)的需求、總體結(jié)構(gòu)、基本功能。重點(diǎn)介紹了利用 matlab 軟件設(shè)計(jì)實(shí)現(xiàn)信號仿真系統(tǒng)的基本原理及功能,以及利用 matlab 軟件提供的圖形用戶界面(graphical user interfaces ,gui)設(shè)計(jì)具有人機(jī)交互、界面友好的用戶界面。本文采用 matlab 的圖形用戶界面設(shè)計(jì)功能, 開發(fā)出了各個(gè)實(shí)驗(yàn)界面。在該實(shí)驗(yàn)軟件中, 集成了信號處理中的多個(gè)實(shí)驗(yàn), 應(yīng)用效果良好。本系統(tǒng)是一種演示型軟件,用可視化的仿真工具,以圖形和動態(tài)仿真的方式演示部分基本信號的傳輸波形和變換,使學(xué)習(xí)人員直

2、觀、感性地了解和掌握信號與系統(tǒng)的基本知識。 關(guān)鍵詞關(guān)鍵詞 信號處理,matlab,圖形用戶界面,實(shí)驗(yàn)軟件based on matlab signaling system solid platform design student:yang shuilianlian wang haibo teacher:sun xiaoqiabstract: this article has outlined the signal simulation systems demand, the gross structure, the basic function. introduced with emphasi

3、s 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 user inte

4、rface. 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, with the vi

5、sualization 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 words: signal

6、processing,matlab,graphical user interface,experimental software目錄1目目 錄錄第一章 引言 .11.1 概述 .11.2 基于 matlab的信號與系統(tǒng)實(shí)驗(yàn)平臺開發(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

7、界面工具的選取 .63.3 模擬信號實(shí)驗(yàn)的軟件工具選擇 .63.4 設(shè)計(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)軟件平臺的設(shè)計(jì) .10目錄5.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

8、 測試概要.276.3.1 測試結(jié)果.276.3.2 測試分析.346.4 小結(jié).34第七章 結(jié)論 .35致 謝 .37參考文獻(xiàn) .38附錄:主要代碼 .39第一章 引言1第一章 引言1.1 概述隨著計(jì)算機(jī)的普及應(yīng)用以及科技的發(fā)達(dá),現(xiàn)代社會是信息的社會,對信息的研究變得非常重要,而對信號波形的模擬可以方便研究人員研究。以前的信號模擬是用硬件,對儀器和實(shí)驗(yàn)室的要求較高,不便于廣泛應(yīng)用,而且信號處理具有內(nèi)容繁多、概念抽象、設(shè)計(jì)復(fù)雜等特點(diǎn),學(xué)生在學(xué)習(xí)時(shí)常常會感到枯燥,難以理解和掌握。硬件模擬信號波形對設(shè)備要求較高,有時(shí)候受儀器或操作不對等因素的影響將無法正確直觀的看到波形,參數(shù)改變時(shí)不能立即看到波形

9、變化。而用軟件的形式對信號波形進(jìn)行仿真有著界面可視性強(qiáng),操作簡單方便;便于數(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 的信號與系統(tǒng)實(shí)驗(yàn)平臺開發(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)估

10、計(jì)、區(qū)間估計(jì)) ,假設(shè)檢驗(yàn)等等。林月美, 陳仁安研究了基于matlab 軟件的信號與系統(tǒng)實(shí)驗(yàn)平臺, 彌補(bǔ)了教學(xué)中的不足. 通過實(shí)驗(yàn), 加強(qiáng)學(xué)生對信號與系統(tǒng)課程的理解和掌握7。李世銀,辛?xí)喳?羅驅(qū)波,岳 婷基于matlab web server的遠(yuǎn)程仿真系統(tǒng)具有交互性強(qiáng)和使用簡單方便等優(yōu)點(diǎn)。介紹了matlab web server的基本原理及系統(tǒng)配置方法,并結(jié)合通信原理遠(yuǎn)程仿真程序的開發(fā)實(shí)例,重點(diǎn)討論了仿真系統(tǒng)的三個(gè)基本組成部分:m文檔,html輸入文檔和html輸出文檔開發(fā)的關(guān)鍵步驟和代碼,最后,給出了am調(diào)制的仿真結(jié)果21。初秀琴,何蕾,李玉山認(rèn)為matlab是一種高性能的用于工程計(jì)算的編程

11、軟件,它具有強(qiáng)大的數(shù)學(xué)計(jì)算、算法推導(dǎo)、建模仿真、圖形繪制等功能,但是這些功能只能在matlab本身所提供的平臺上使用,且具有代碼執(zhí)行速度慢的缺點(diǎn)。文中提出了實(shí)現(xiàn)matlab與其它編程語言之間接口的方案,并且對與vc之間的接口進(jìn)行了驗(yàn)證,解決了matlab函數(shù)只能在其本身所提供的平臺上使用的問題,使得代碼的執(zhí)行速度和石河子大學(xué)學(xué)士學(xué)位論文2安全保密性都大大提高。周傳勝等基于matlab的simulink工具箱、webserver工具箱、虛擬現(xiàn)實(shí)工具箱和虛擬現(xiàn)實(shí)語言(vrml)構(gòu)建了網(wǎng)絡(luò)交互式虛擬現(xiàn)實(shí)實(shí)驗(yàn)系統(tǒng),系統(tǒng)由一個(gè)服務(wù)器和若干個(gè)客戶機(jī)組成。學(xué)生在客戶機(jī)上通過互聯(lián)網(wǎng)可瀏覽服務(wù)器上的虛擬演示實(shí)驗(yàn)

12、,并可根據(jù)需要在客戶端實(shí)時(shí)地修改實(shí)驗(yàn)參數(shù),這些參數(shù)通過網(wǎng)絡(luò)傳到服務(wù)器后,服務(wù)器會將更新的虛擬的實(shí)驗(yàn)現(xiàn)象和實(shí)驗(yàn)結(jié)果傳到客戶機(jī),從而完成交互式虛擬現(xiàn)實(shí)實(shí)驗(yàn)過程20。1.3 研究意義matlab 作為編程語言和可視化工具 , 用 matlab 開發(fā)的實(shí)驗(yàn)為學(xué)生提供了“信號分析”、“信號抽樣”、“系統(tǒng)仿真”、“系統(tǒng)特性”、“濾波器設(shè)計(jì)”及“傅立葉變換”等實(shí)驗(yàn)?zāi)K 。 它的界面演示框如同通用示波器 , 顯示了信號分析與系統(tǒng)設(shè)計(jì)的動態(tài)仿真過程 , 給人以直觀的感受1。在教學(xué)中它能為同學(xué)們提供了大量的實(shí)例, 同時(shí)它也為同學(xué)們留下了動在實(shí)驗(yàn)中同學(xué)們可以改變信號、模塊、仿真子系統(tǒng)等的參數(shù) , 并觀察信號與系統(tǒng)的

13、相應(yīng)變化. 在實(shí)驗(yàn)過程中 , 同學(xué)們對所學(xué)的書本知識會有感性的認(rèn)識和直觀的驗(yàn)證 , 加深對“信號與系統(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)的局限性??梢愿奖愕淖鲂盘栂到y(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)識,并且對 matlab 做界面的軟

14、件有了一定的了解,對系統(tǒng)規(guī)劃有了初步的認(rèn)識。為以后研發(fā)工作打下堅(jiān)實(shí)的基礎(chǔ),積累寶貴的經(jīng)驗(yàn)。1.4 本文的主要工作本文主要是針對以 matlab 為軟件平臺的信號系統(tǒng)實(shí)驗(yàn)平臺的設(shè)計(jì),用 matlab語言編程開發(fā)一個(gè)適合小型的信號系統(tǒng)實(shí)驗(yàn)平臺,方便學(xué)生學(xué)習(xí)。具體的工作主要有: 1)通信模擬仿真系統(tǒng)的設(shè)計(jì)分析。2)通信模擬仿真系統(tǒng)的總體框架。3)通信模擬仿真系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。 4)系統(tǒng)測試與分析。5)編寫文檔。第二章 系統(tǒng)分析3第二章第二章 系統(tǒng)分析系統(tǒng)分析2.1 引言現(xiàn)代社會,通信與傳感、仿真計(jì)算技術(shù)緊密結(jié)合,信息成為社會的高級“神經(jīng)中樞” ,隨著我國科學(xué)技術(shù)的發(fā)展和國內(nèi)外合作的加強(qiáng),對通信水平的

15、要求也日益增加,如果通信水平跟不上,社會成員之間的合作程度就受到限制,生產(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)用軟件,是數(shù)字信號處理方面得天獨(dú)厚優(yōu)勢圖形開發(fā)工具.本軟件設(shè)計(jì)目標(biāo)是以配合教學(xué)為出發(fā)點(diǎn),主要是面對通信工程專業(yè)的初學(xué)者,用簡單,可視化的仿真模擬圖形給大家演示部分基本波的傳輸特性,以及在信道中的傳輸特性。使他們直觀,感性

16、地了解和掌握通信系統(tǒng)的概念、傳輸性能等3。為了規(guī)范和條理的進(jìn)行本系統(tǒng)的設(shè)計(jì)以及使后續(xù)的開發(fā)維護(hù)工作變得有趣而輕松,故編寫本系統(tǒng)需求分析說明書;旨在開發(fā)過程中進(jìn)行參考,使系統(tǒng)在需求的規(guī)范之內(nèi),避免重復(fù)勞動,加快開發(fā)進(jìn)度以及提高開發(fā)效率;同時(shí)也是為以后系統(tǒng)維護(hù)服務(wù)提供指南;由于時(shí)間倉促,錯(cuò)誤之處在所難免,請見諒。2.2 需求分析通信在現(xiàn)今生活中已是普遍存在,在經(jīng)濟(jì)發(fā)展,政治軍事活動,個(gè)人生活中的應(yīng)運(yùn)以是相當(dāng)普遍,是社會發(fā)展不可缺少的工具,自 1844 年莫而斯在華盛頓和巴爾的摩之間發(fā)送世界第一份電報(bào)以來,通信已經(jīng)經(jīng)歷了 150 多年,發(fā)展到目前數(shù)字通信趨于替代模擬通信的趨勢。 信號與系統(tǒng)課程,是高

17、等理工科類院校通信與電子信息工程等專業(yè)中一門十分重要的基礎(chǔ)理論課,也是電子信息工程專業(yè)許多后續(xù)課程的重要理論基礎(chǔ)。以前的信號模擬是通過硬件,對儀器和實(shí)驗(yàn)室的要求較高,不便于廣泛應(yīng)用,而且信號處理具有內(nèi)容繁多、概念抽象、設(shè)計(jì)復(fù)雜等特點(diǎn), 學(xué)生在學(xué)習(xí)時(shí)常常會感到枯燥, 難以理解和掌握?;诖朔N需求,本系統(tǒng)設(shè)計(jì)為教學(xué)演示型軟件,運(yùn)用 matlab 軟件開發(fā),便于學(xué)生直觀觀察信號系統(tǒng)中涉及的波形及特性的原理圖, 為后續(xù)課程的學(xué)習(xí),以及獨(dú)石河子大學(xué)學(xué)士學(xué)位論文4立分析和設(shè)計(jì)新的系統(tǒng),打下基礎(chǔ)。2.3 可行性分析2.3.1 技術(shù)可行性本課題所涉及的研究目標(biāo),在國內(nèi)外已經(jīng)有相當(dāng)成熟的理論基礎(chǔ)和技術(shù)基礎(chǔ)。通過

18、開發(fā)人員的文獻(xiàn)調(diào)查,對于 matlab 做用戶圖象界面和信號模擬所涉及到的技術(shù)問題進(jìn)行細(xì)致的分析,很大一部分可以使用電子信息工程的專業(yè)知識進(jìn)行構(gòu)建,其他的部分則可以通過自學(xué),調(diào)用已經(jīng)開發(fā)好的一些功能模塊來完成課題涉及到的技術(shù)要求。2.3.2 經(jīng)濟(jì)可行性本課題通過對既有開發(fā)平臺的使用,能夠設(shè)計(jì)出比較完善的信號系統(tǒng)實(shí)驗(yàn)平臺,沒有任何經(jīng)濟(jì)上的負(fù)擔(dān),本課題可以自主開發(fā)信號系統(tǒng)實(shí)驗(yàn)平臺,為實(shí)驗(yàn)提供了靈活性,擺脫了硬件可以看到實(shí)驗(yàn)結(jié)果,而且又可脫離 matlab 來進(jìn)行仿真.為教學(xué)和研究提供了方便,在經(jīng)濟(jì)上節(jié)約了實(shí)驗(yàn)開支,鍛煉了學(xué)生的自我研發(fā)意識和自己動手的能力。2.3.3 操作可行性matlab 程序流

19、程簡單明了,開發(fā)率高,并且能夠結(jié)合其他多種開發(fā)工具,共同實(shí)現(xiàn)信號模擬功能。它易學(xué)易用,不需大量編程,能創(chuàng)作出一些高水平的模擬平臺作品,對于非專業(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ā)一套集可視化圖形與動態(tài)仿真為一體的教學(xué)演示型軟件,主要是面對初學(xué)者,用可視化的仿真模擬圖形配合老師的講課內(nèi)容給大家演示信號與系統(tǒng)課程中部分信號的傳輸波形、卷積、傅立葉變換以及濾波器設(shè)計(jì)等,幫助他們直觀、感性地了解和掌握信號系統(tǒng)的概念、基本特征等,深化對通信概念的理解。

20、 2.4.2 系統(tǒng)主要功能本系統(tǒng)主要功能包括基本序列計(jì)算、基本信號產(chǎn)生、卷積、傅立葉變換、濾波第二章 系統(tǒng)分析5器設(shè)計(jì)。簡單基礎(chǔ)地涵蓋了信號與系統(tǒng)部分主要章節(jié), 用可視化的仿真模擬圖形為大家演示部分基本信號的傳輸波形和調(diào)制變換,部分交互式界面可直接輸入合適的值使大家更直觀、感性地了解和掌握信號系統(tǒng)的概念、傳輸性能、基本特征等,為課程的學(xué)習(xí)打下基礎(chǔ)。界面上的文字說明幫助大家了解本圖形的特性或功能。整套系統(tǒng)采取圖文并茂、循序漸進(jìn)、從感性到理性的方式,首先讓初學(xué)者在掌握基本信號模擬和運(yùn)算。2.52.5 小結(jié)小結(jié)一個(gè)系統(tǒng)在開發(fā)之前就需要進(jìn)行需求分析和可行性分析,本章重點(diǎn)闡述本設(shè)計(jì)的需求分析、可行性分析

21、和目的,對這個(gè)系統(tǒng)的需求有了一個(gè)比較有力的證明。石河子大學(xué)學(xué)士學(xué)位論文6第三章第三章 方案選取方案選取3.13.1 引言引言本設(shè)計(jì)研究的信號系統(tǒng)實(shí)驗(yàn)平臺是一個(gè)可執(zhí)行的系統(tǒng),可以脫離它的開發(fā)軟件matlab 而獨(dú)立運(yùn)行。本系統(tǒng)的關(guān)鍵是實(shí)現(xiàn)參數(shù)的傳遞和生成可執(zhí)行文件,這對剛接觸 matlab 的我們來是說比較困難,老師為我們提出了一些參考方案來完成設(shè)計(jì),本章將在根據(jù)我們實(shí)力的基礎(chǔ)上,給出本課題最適合選用的一種方案。3.23.2 界面工具的選取界面工具的選取由于我們的課題是基于 matlab 的信號系統(tǒng)平臺,所以在選擇做界面的工具的時(shí)候也選擇 matlab。如果用 vb 做界面的話在后面實(shí)現(xiàn)信號波形

22、的時(shí)候需要建立vb 和 matlab 的鏈接,那樣會增加工作量和工作難度,而且我們對他們的鏈接也是知之甚少,實(shí)際鏈接的時(shí)候會很麻煩,所以在權(quán)衡了各方面的因素我們選擇用matlab 做界面。3.33.3 模擬信號實(shí)驗(yàn)的軟件工具選擇模擬信號實(shí)驗(yàn)的軟件工具選擇 我們在學(xué)習(xí)信號與系統(tǒng)和數(shù)字信號處理課程時(shí),做實(shí)驗(yàn)的時(shí)候用的是matlab 軟件來實(shí)現(xiàn)信號波形的模擬以及處理,可以比較直觀準(zhǔn)確的看到波形,對matlab 軟件也有了初步的認(rèn)識,也可以用它編寫一些比較簡單的程序來。在信號波形模擬的領(lǐng)域中,我們只接觸過 matlab 軟件,所以在編寫模擬信號波形這個(gè)模塊中我們選擇 matlab 軟件。matlab

23、是 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)涵, 還不能用于實(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)境7第四章第四章開發(fā)運(yùn)行環(huán)境開

24、發(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ī)一臺(要求能接入網(wǎng)絡(luò)) ;2)軟件環(huán)境操作系統(tǒng):windows xp 開發(fā)工具:matlab7.0 matlab gui4.24.2 開發(fā)語言和開發(fā)工具介紹開發(fā)語言和開發(fā)工具介紹4.2.1 windows xpwindows xp,或視窗 xp 是微軟公司最新發(fā)布的一款視窗操作系統(tǒng)。它發(fā)行于 2001 年 10 月 25 日,原來的名稱是 whistler。微軟最初發(fā)行了兩個(gè)版本,家庭版(home)和專業(yè)版(professional)。家庭版的消費(fèi)對象是家庭用戶,專業(yè)版則在家庭版的基

25、礎(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 environmen)諸如 kde 中獲得的靈感。帶有用戶圖形的登陸界面就是一個(gè)例子。此外,windows xp 還引入了一個(gè)“基于人物”的用戶界面,使得工具條可以訪問任務(wù)的具體細(xì)節(jié)。 它包括了簡化了的 windows 2000

26、 的用戶安全特性,并整合了防火墻,以用來確保長期以來以著困擾微軟的安全問題。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ì)算功能,符號運(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 等可

27、視化編程軟件相比功能較差,但是新版的 matlab 7.0 軟件已經(jīng)在這方面向這些軟件靠近,其可視化編程能力有了很大程度的提高.該軟件最突出的特點(diǎn)就是簡潔的,開放式代碼。提供了更為直觀,符合人們思維習(xí)慣的代碼,現(xiàn)簡單介紹該軟件的主要特點(diǎn)。1) 語言簡單,代碼靈活,極其豐富的庫函數(shù)資源。在程序設(shè)計(jì)中該軟件對代碼的書寫形式?jīng)]有很嚴(yán)格的限制,同時(shí)利用豐富的庫函數(shù)簡化了子程序的編寫任務(wù),利用極其豐富的庫函數(shù)可以使程序開發(fā)避免繁雜的子程序編程任務(wù)避免了一些不必要的錯(cuò)誤,提高了程序的可靠性。2) 豐富靈活的運(yùn)算符。matlab 提供了和 c 語言一樣多的運(yùn)算符,使用這些運(yùn)算符可使程序短小、靈活。3) 面向

28、對象編程和結(jié)構(gòu)化控制功能。尤其是新版的 matlab7.0 軟件在可視化方面較以前版本有了很大程度的提高,使得界面編程更加自由,方便。4) 程序設(shè)計(jì)自由度大。在新版的 matlab7.0 軟件中,用戶無須對矩陣進(jìn)行預(yù)定義就可以使用,對數(shù)組和變量的應(yīng)用也得到很大程度的擴(kuò)展。5) 程序可移植性好,基本上可以不作修改就可以在各種型號的計(jì)算機(jī)和操作系統(tǒng)上運(yùn)用。6) 分門別類的工具箱是該軟件的又一大特點(diǎn)。核心工具箱和學(xué)科類的工具箱。這些工具箱都是該學(xué)科的高水平的專業(yè)人士所編,所以用戶可以直接使用。提高了編程效率。7) 開放的共享源代碼。開放性的代碼是該軟件最受歡迎的另一大特點(diǎn)。所有的核心文件和工具箱文件

29、都是可讀可該的源代碼。所以 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)和用戶界面功能的有效性來選擇計(jì)算機(jī)或程序。圖形用戶界面或 gui是包含圖形對象,如:窗口、圖標(biāo)、菜單和文本的用戶界面。以某種方式選擇或激活這些對象,通常引起動作或發(fā)生變化。最常見的激活方法是用鼠標(biāo)或其

30、它點(diǎn)擊設(shè)備去控制屏幕上的鼠標(biāo)指針的運(yùn)動。按下鼠標(biāo)按鈕,標(biāo)志著對象的選擇或其它動作。第四章 開發(fā)運(yùn)行環(huán)境9matlab 在 demo 命令中包含了 gui 功能的極好例子。matlab 為表現(xiàn)其基本功能而設(shè)計(jì)的演示程序 demo 是使用圖形界面的最好范例。matlab 的用戶,在指令窗中運(yùn)行 demo 打開那圖形界面后,只要用鼠標(biāo)進(jìn)行選擇和點(diǎn)擊,就可瀏覽那豐富多彩的內(nèi)容。如: demo 研究該命令,以了解 uimenu 和 uicontrol 如何給 matlab 函數(shù)提供交互輸入。在運(yùn)行了 demo 例子后,很可能會問“為什么要在 matlab 中建立一個(gè)gui?”這是一個(gè)很好的問題,簡單的回

31、答是可能并不需要使用 matlab 來分析數(shù)據(jù),求解問題,繪制結(jié)果的絕大多數(shù)的人,并不會發(fā)現(xiàn) gui 工具很有用。但另一方面,gui 可以在 matlab 中生成非常有效的工具和應(yīng)用程序,或是建立演示工作的交互式界面。 對“句柄圖形”的理解是設(shè)計(jì)和實(shí)現(xiàn) gui 的先決條件。 由圖形命令生成的每一事物是一個(gè)圖形對象。圖形對象不僅包括 uimenu 和uicontrol 對象,而且還包括圖形、坐標(biāo)軸和他們的子對象。讓我們從另一個(gè)角度來看這一層次結(jié)構(gòu)。計(jì)算機(jī)的屏幕本身是根結(jié)點(diǎn),圖形是根對象的子對象,坐標(biāo)軸,uimenu ,uicontrol 是圖形的子對象。根可以包括多個(gè)圖形,每個(gè)圖形含有一組或多組

32、坐標(biāo)軸以及其子對象,每個(gè)圖形也可以有一個(gè)或多個(gè)與坐標(biāo)軸無關(guān)的 uimenu和 uicontrol。雖然 uicontrol 對象無子對象結(jié)點(diǎn),但他們確實(shí)具有多種類型。uimenu 對象常將其它的 uimenu 對象作為其子對象。石河子大學(xué)學(xué)士學(xué)位論文10第五章第五章 系統(tǒng)軟件平臺的設(shè)計(jì)系統(tǒng)軟件平臺的設(shè)計(jì)5.15.1 引言引言信號系統(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.25.2 系

33、統(tǒng)整體框圖系統(tǒng)整體框圖本實(shí)驗(yàn)系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)由兩部分組成: 界面模塊設(shè)計(jì)和菜單模塊設(shè)計(jì)。其中, 界面模塊總共包括八個(gè)模塊: 開始引導(dǎo)模塊、主模塊、序列基本計(jì)算模塊、基本信號的產(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ù)的頻率響應(yīng)實(shí)驗(yàn)界面和 fir 濾波器的設(shè)計(jì)實(shí)驗(yàn)界面; iir 濾波器模塊又包含完全 iir 濾波器的設(shè)計(jì)實(shí)驗(yàn)界面和典型 iir 濾波器實(shí)驗(yàn)界面; 主界面中還包含了說明模

34、塊。在菜單設(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)開始引導(dǎo)界面開始界面序列基本計(jì)算基本信號產(chǎn)生 卷積卷積傅立葉變換濾波器設(shè)計(jì)系統(tǒng)說明第五章 系統(tǒng)軟件平臺的設(shè)計(jì)115.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)信號處理課程中具體實(shí)驗(yàn)的各個(gè)子界面。2)運(yùn)用 matlab 的圖形用戶界面(gui)設(shè)計(jì)方法, 設(shè)計(jì)系統(tǒng)的說明界面及其各個(gè)實(shí)驗(yàn)的說明界面。3)分別編寫各個(gè)子界

35、面的各個(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)子界面整合在信號處理系統(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.5.4 4 系統(tǒng)模塊系統(tǒng)模塊5.4.1 模塊劃分簡介本系統(tǒng)根據(jù)要實(shí)現(xiàn)的實(shí)驗(yàn)類別、個(gè)數(shù)的要求來規(guī)劃模塊,在設(shè)計(jì)的時(shí)候本著界面美觀、簡潔的原則。各個(gè)模塊可以相互切換,每個(gè)實(shí)驗(yàn)時(shí)可以完成參數(shù)的傳遞,5.4.2 模塊具體設(shè)計(jì)1)系統(tǒng)歡迎模塊。可

36、視調(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)系對象圖 5-2 主窗體對象的層次圖系統(tǒng)歡迎界面如圖 5-3 所示。石河子大學(xué)學(xué)士學(xué)位論文12圖 5-3 系統(tǒng)主界面圖 5-3 中可以看

37、出這個(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(1nnnu第五章 系統(tǒng)軟件平臺的設(shè)計(jì)13類似于連續(xù)時(shí)間系統(tǒng)中的單位階躍信號,但應(yīng)注意在點(diǎn)發(fā)生跳變,往tutu0t往不予

38、定義(或定義為) ,而在=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)=0; stem(k,fk)title(單位階躍序列)b指數(shù)序列指數(shù)序列是公式是 (5-

39、2) nuanxn當(dāng)1 時(shí)序列是發(fā)散的, 0 序列都取正值, 0,信號將隨著時(shí)間而增長,若 a0,信號則隨時(shí)間衰減。常數(shù) k 表示指數(shù)信號在 t=0 點(diǎn)的初始值。b指數(shù)信號的運(yùn)行結(jié)果如圖 5-12 所示:圖 5-12 指數(shù)函數(shù)運(yùn)行界面c指數(shù)信號的部分程序:function pushbutton1_callback(hobject, eventdata, handles)clca=str2num(get(handles.edit6,string);a=str2num(get(handles.edit4,string);t=0:.001:10;ft=a*exp(a*t);plot(t,ft),gr

40、idtitle(a*exp(a*t)例三:符號函數(shù)a符號函數(shù)的公式符號函數(shù)(或稱正負(fù)號函數(shù))以符號記,其表示式為石河子大學(xué)學(xué)士學(xué)位論文18 (5-6))0(1)0(0)0(1sgntttttf由式(5-6)可以看出,這種信號不滿足絕對可積條件,但它卻存在傅立葉變換。b符號函數(shù)的運(yùn)行界面如圖 5-13 所示圖 5-13 符號函數(shù)運(yùn)行界面c符號信號部分程序:function pushbutton5_callback(hobject, eventdata, handles)t=str2num(get(handles.edit7,string)-1:.001:str2num(get(handles.e

41、dit7,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è)信號和,兩者做卷積運(yùn)算定義為tf1tf2 (5-7) dtfftf21做一變量代換不難證明 (5-8) tftftftfdtfftf122112*式中是兩函數(shù)作卷積運(yùn)算的簡寫符號,也可以寫成。這里的tftf21*tf

42、tf21積分取和,這是由于對和的作用時(shí)間范圍沒有加以限制。實(shí)際由于tf1tf2第五章 系統(tǒng)軟件平臺的設(shè)計(jì)19系統(tǒng)的因果性或激勵(lì)信號存在時(shí)間的局限性,其積分限會有變化,這一點(diǎn)借助卷積的圖形解釋可以看得很清楚。可以說卷積積分中積分限的確定是非常關(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; t21=0; t22=2; t1=t11:0.

43、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傅立葉變換的原理如果以周期矩形信號為例,當(dāng)周期 t1 無限增大時(shí),則周期信號就轉(zhuǎn)化為非周期性的單脈沖信號。所以可以把非周期信號看成是周期 t1趨于無限大的周期信號。當(dāng)周期信號的周期 t1增大時(shí),譜線的間隔變小,若周期 t1無限大,則譜112tw線的間隔趨于無限小,這樣,離散頻譜就變成連續(xù)

44、頻譜了。同時(shí),由于周期趨于無石河子大學(xué)學(xué)士學(xué)位論文20限大,譜線的長度趨于零。這就是說,頻譜將化為烏有,失去應(yīng)有的意義。但是,從物理概念上考慮,既然成為一個(gè)信號,必然含有一定的能量,無論信號怎樣分解,其所含能量是不變的。所以不管周期增大到什么程度,頻譜的分布依然存在。或者從數(shù)學(xué)角度看,在極限情況下,無限多的無窮小量之和,仍可等于一有限值,此有限值的大小取決于信號的能量。設(shè)有一周期信號及其復(fù)數(shù)頻譜,將展成tf1nwftf (5-9)dtetftnwftjnwtt11212111兩邊乘以 t1,得到 (5-10)dtetfnftnftjntt1112211112對于非周期信號,重復(fù)周期,重復(fù)頻率,

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

46、 deftftj21第五章 系統(tǒng)軟件平臺的設(shè)計(jì)21信號的傅立變換模塊是將時(shí)域信號通過傅立葉變換轉(zhuǎn)變?yōu)轭l域信號.它分為連續(xù)信號的傅立葉變換窗體和離散信號窗體的傅立葉變換調(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

47、9_callback(hobject, eventdata, handles)%p137石河子大學(xué)學(xué)士學(xué)位論文22clc1.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);plot(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*

48、(sin(t)+sin(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*p

49、i/8;w=linspace(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(離散傅立葉

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

51、圖 5-17。圖 5-17 濾波器設(shè)計(jì)界面從圖 5-17 可以看出,這個(gè)模塊包括低通 fir 濾波器、高通 fir 濾波器和巴特沃斯高通濾波器三個(gè)部分。若想觀察低通 fir 濾波器的波形,可以在這一欄里輸入截止頻率 wc,再點(diǎn)擊“低通 fir 濾波器”按鈕,左邊出現(xiàn)相應(yīng)波形,例:輸入截止頻率 12,則波形如圖 5-18 所示。石河子大學(xué)學(xué)士學(xué)位論文24圖 5-18 截止頻率為 12 的 firb濾波器設(shè)計(jì)模塊關(guān)鍵程序:a低通 fir 濾波器:function pushbutton4_callback(hobject, eventdata, handles)wc=str2num(get(hand

52、les.edit6,string)*pi;n=21;n=0:n-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, handl

53、es)t=str2num(get(handles.edit2,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 所示。第五章 系統(tǒng)軟件平臺的設(shè)計(jì)25圖 5-19 幫助模塊界面比如點(diǎn)擊基本信號產(chǎn)生說明則彈出它的界面如圖 5-20 所示,它介紹

54、了正弦函數(shù)、指數(shù)函數(shù)等基本信號的公式,并對公式內(nèi)每個(gè)參數(shù)進(jìn)行說明,讓使用者一目了然。圖 5-20 基本信號產(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

55、nargin & ischar(varargin1) gui_state.gui_callback = str2func(varargin1);end8)系統(tǒng)退出模塊系統(tǒng)退出界面如圖 5-21 所示:石河子大學(xué)學(xué)士學(xué)位論文26圖 5-21 系統(tǒng)退出界面5.5 生成可執(zhí)行文件本系統(tǒng)要求最終結(jié)果要脫離開發(fā)工具(matlab)軟件獨(dú)立運(yùn)行,我們在做 gui的時(shí)候主要參考了別人生成可執(zhí)行文件的方法。首先在 matlab 命令行窗口中輸入 guide,打開 gui 設(shè)計(jì)的圖形界面。然后拖入所要的圖形控件,按需要修改外觀直至滿足要求。點(diǎn)擊 guide 界面上方的 run 按鈕,會生成一個(gè) fig

56、文件,一個(gè) m 文件,其中 fig 文件是你界面的圖形,m 文件是你界面的回調(diào)函數(shù),在 m 文件里每個(gè)控件的回調(diào)函數(shù)都已經(jī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 sglcp

57、p file.m 請鍵入 help mcc 看幫助。 在做的過程中我們還用到了打包等細(xì)節(jié)技術(shù),打包的步驟是在 matlab 下的workspace 里打 comtool,點(diǎn) file-open project 將我們先前建好的 comtest.cbl 工程文件打開,再點(diǎn) component-package component 就實(shí)現(xiàn)了打包,此時(shí)到comtestdistrib 文件夾里看,生成的 comtest.exe 就是打包后的解壓程序,雙擊它會解壓出一些文件,再點(diǎn)擊解壓出來的_install.bat 就可以實(shí)現(xiàn)安裝。另外,把 gui 生成 exe 還有其他方法,比如1)在 matlab 的

58、 command 窗口中輸入 mcc -b sgl gui.m 2)將上步生成的文件包括*m 文件和*.fig 文件一起考到待運(yùn)行的機(jī)器 此時(shí)仍需 matlab 所必需的動態(tài)連接庫。3) 將 /extern/lib/win32/mglinstallar.exel 拷貝到到待運(yùn)行機(jī)器上第五章 系統(tǒng)軟件平臺的設(shè)計(jì)274)在機(jī)器上先運(yùn)行 mglinstallar.exe, 然后選擇解壓目錄,將在指定目錄下解壓縮出bin 和 toolbox 兩子目錄,其中在 binwin32 目錄下就是數(shù)學(xué)庫和圖形庫脫離matlab 運(yùn)行所需的所有動態(tài)連接庫,共有 37 個(gè)。可以將這些.dll 考入 system32

59、, 也可以直接放在應(yīng)用程序目錄下。而 toolbox 目錄則必須與應(yīng)用程序同一目錄。5)大功告成。 5.6 小結(jié)本章討論了軟件平臺的整體設(shè)計(jì),給出了系統(tǒng)整體框圖和各模塊的界面和設(shè)計(jì)方法,詳細(xì)介紹了各個(gè)模塊產(chǎn)生波形的原理,并分析了最后生成可執(zhí)行文件的方法。第六章第六章 系統(tǒng)測試6.1 引言經(jīng)過為期六周的緊張工作,我們終于按照用戶要求完成了一系列的程序設(shè)計(jì),為了更好的對本軟件的正確性做出客觀公正的評價(jià),為了更進(jìn)一步的對本軟件進(jìn)行驗(yàn)證,為了能給用戶一個(gè)滿意的軟件,讓用戶更好的使用本軟件,也為了發(fā)現(xiàn)軟件本身隱蔽的一系列問題從而提高用戶的工作效率。為此本測試組對此軟件做了詳細(xì)的測試。本報(bào)告最終的用戶是此

60、軟件的開發(fā)者以及此軟件的最終維護(hù)者,為軟件以后升級和修改提供參考。特此對以下模塊進(jìn)行了測試:基本序列計(jì)算模塊,基本信號產(chǎn)生模塊,卷積仿真模塊, 信號的傅立葉分析模塊,通過多次測試作以下說明。注:本測試報(bào)告在系統(tǒng)經(jīng)過較為嚴(yán)格測試的基礎(chǔ)上編寫。6.2 測試背景被測試軟件的名稱為:信號與系統(tǒng)實(shí)驗(yàn)平臺。石河子大學(xué)信息科學(xué)與技術(shù)學(xué)院信號與系統(tǒng)實(shí)驗(yàn)平臺已經(jīng)調(diào)試成功,在未正式運(yùn)行之前,完全有必要進(jìn)行全面的測試,以檢驗(yàn)軟件的可靠性,正確性,及穩(wěn)定性。這也是開發(fā)項(xiàng)目的最基本規(guī)范。軟件的測試具有真實(shí)性,所以本系統(tǒng)測試有較強(qiáng)的說服力。石河子大學(xué)學(xué)士學(xué)位論文286.3 測試概要6.3.1 測試結(jié)果1)測試界面鏈接測試本系統(tǒng)最

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論