基于MATLAB的信號與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)設(shè)計(jì)畢業(yè)論文.doc
《基于MATLAB的信號與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)設(shè)計(jì)畢業(yè)論文.doc》由會員分享,可在線閱讀,更多相關(guān)《基于MATLAB的信號與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)設(shè)計(jì)畢業(yè)論文.doc(48頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、精品 1 基于 MATLAB的信號與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)設(shè)計(jì) 摘 要本文主要介紹了信號與系統(tǒng)仿真系統(tǒng)的需求、總體結(jié)構(gòu)、基本功能。著 重介紹了利用 Matlab 軟件設(shè)計(jì)實(shí)現(xiàn)信號仿真系統(tǒng)的基本原理及功能,利用 Matlab 軟件提供圖形用戶界面(Graphical User Interfaces ,GUI)設(shè)計(jì)具有人機(jī)交互、界 面友好的用戶界面。本設(shè)計(jì)采用 Matlab 的圖形用戶界面設(shè)計(jì)功能, 開發(fā)出了各個(gè) 實(shí)驗(yàn)界面。在本實(shí)驗(yàn)軟件中, 集成了信號與系統(tǒng)中的多個(gè)實(shí)驗(yàn), 應(yīng)用效果良好。本 系統(tǒng)是一種演示型軟件,用可視化的仿真工具,以圖形和動態(tài)仿真的方式演示部分基 本信號的傳輸波形和變換,使學(xué)習(xí)人員直
2、觀、感性地了解和掌握信號與系統(tǒng)的基本 知識。 關(guān)鍵詞信號與系統(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 system basic princip
3、le 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 graphical user in
4、terface 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 graph and dynamic
5、 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 interface,Experimen
6、tal Software 精品 1 目 錄 第一章 引言 ............................................................1 1.1 概述 ..............................................................1 1.2 基于 MATLAB的信號與系統(tǒng)實(shí)驗(yàn)平臺開發(fā)現(xiàn)狀 ............................1 1.3 研究意義 ..........................................................2 1.4 本文的主要工作
7、 ....................................................2 第二章 系統(tǒng)分析 .......................................................3 2.1 引言 ..............................................................3 2.2 需求分析 ..........................................................3 2.3 可行性分析 .............................
8、...........................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)目
9、標(biāo) ......................................................4 2.4.2 系統(tǒng)主要功能 ..................................................4 2.5 小結(jié) ..............................................................5 第三章 方案選取 .......................................................6 3.1 引言 .................................
10、.............................6 3.2 界面工具的選取 ....................................................6 3.3 模擬信號實(shí)驗(yàn)的軟件工具選擇 ........................................6 3.4 設(shè)計(jì)方案選擇 ......................................................6 第四章 開發(fā)運(yùn)行環(huán)境 ....................................................7 4.1 系統(tǒng)開發(fā)環(huán)境和
11、運(yùn)行環(huán)境 ............................................7 4.2 開發(fā)語言和開發(fā)工具介紹 ............................................7 4.2.1 Windows XP...................................................7 4.2.2 Matlab 7.0...................................................7 4.2.3 圖形用戶界面(GUI) ...............................
12、.............8 第五章 系統(tǒng)軟件平臺的設(shè)計(jì) ............................................10 精品 III 5.1 引言 .............................................................10 5.2 系統(tǒng)整體框圖 .....................................................10 5.3 系統(tǒng)設(shè)計(jì)步驟 .....................................................11 5.4 系統(tǒng)模塊 ...
13、......................................................11 5.4.1 模塊劃分簡介 .................................................11 5.4.2 模塊具體設(shè)計(jì) .................................................11 5.5 生成可執(zhí)行文件 ...................................................26 5.6 小結(jié) ........................................
14、.....................26 第六章 系統(tǒng)測試 ......................................................27 6.1 引言 .............................................................27 6.2 測試背景 .........................................................27 6.3 測試概要 .........................................................27 6
15、.3.1 測試結(jié)果 .....................................................27 6.3.2 測試分析 .....................................................34 6.4 小結(jié) .............................................................34 第七章 結(jié)論 ..........................................................35 致 謝 ........................
16、.........................................37 參考文獻(xiàn) ..............................................................38 附錄:主要代碼 .........................................................39 精品 1 第一章 引言 1.1概述 “信號與系統(tǒng)”在電子信息專業(yè)中是一門很重要的課程,它涉及的知識廣泛, 包括微積分、概率論、信號與系統(tǒng)等。學(xué)生在學(xué)習(xí)這方面的內(nèi)容的時(shí)候,通常感覺 比較抽象,對其中的基本理論和分析方法難以具體地理解和掌握
17、。為此,我們借助 一些優(yōu)良的軟件平臺(如 MATLAB 等)來解決這一實(shí)際問題,幫助學(xué)生更好地理 解和掌握數(shù)字信號處理中的基本理論和分析方法,激發(fā)學(xué)生的的學(xué)習(xí)興趣,從而達(dá) 到良好的教學(xué)效果。信號與系統(tǒng)實(shí)驗(yàn)環(huán)節(jié)在教學(xué)過程中是非常重要的,實(shí)驗(yàn)有助于 學(xué)生理解和掌握所學(xué)的理論。MATLAB 是用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析 以及數(shù)值計(jì)算的高級技術(shù)計(jì)算語言和交互式環(huán)境。作為強(qiáng)大的科學(xué)計(jì)算平臺,它幾 乎滿足所有的計(jì)算要求。隨著對仿真和程序設(shè)計(jì)通用性及可視化需求的日益增加, MATLAB 著重改善了圖形用戶界面的制作,極大地滿足了用戶的需求。 MATLAB 的 GUID 是專門用于圖形用戶界面的快速開
18、發(fā)環(huán)境,本文利用該工具設(shè)計(jì)教學(xué)實(shí)驗(yàn) 系統(tǒng),該系統(tǒng)將 MATLAB 軟件和多媒體硬件結(jié)合,將信號與系統(tǒng)的實(shí)驗(yàn)內(nèi)容融入進(jìn)去, 形成一種新的計(jì)算機(jī)教學(xué)實(shí)驗(yàn)方式。該系統(tǒng)的形象直觀,總體界面友好,具有開放 性,便于學(xué)生對所學(xué)理論知識的理解,大大提高教學(xué)的效果和效率。本次課程設(shè)計(jì) 是以 MATLAB 為開發(fā)平臺,保證了該系統(tǒng)具有一定的通用性,它采用圖形交互的 界面,不僅可以用于實(shí)驗(yàn)教學(xué),也可以用于輔助理論教學(xué),操作起來非常方便,形 象直觀。它開發(fā)了基本信號的產(chǎn)生,常用序列的計(jì)算,傅里葉變換,濾波器的設(shè)計(jì) 等 MATLAB 輔助分析與設(shè)計(jì)實(shí)驗(yàn)。通過這個(gè)實(shí)驗(yàn)系統(tǒng),可以將數(shù)字信號處理課程 中許多抽象的理論知識形
19、象地表示出來,使得原先實(shí)驗(yàn)中較難觀察到的現(xiàn)象以及繁 瑣的設(shè)計(jì)計(jì)算等,都能較簡單的解決。該實(shí)驗(yàn)系統(tǒng)為學(xué)生提供了一個(gè)形象而全面的 演示,激發(fā)學(xué)生的學(xué)習(xí)興趣,加深學(xué)生對數(shù)字信號處理課程中理論知識的理解,并 且而用軟件的形式對信號波形進(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 - 1.2基于 Matlab的信號與系統(tǒng)實(shí)驗(yàn)平臺開發(fā)現(xiàn)狀 Matlab在全世界內(nèi)都很是流行,特別是在工程計(jì)算領(lǐng)域。近年來越來越多的國 人也喜愛上
20、了這一套軟件。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)代社會,通信與傳感、仿真計(jì)算技術(shù)緊 密結(jié)合,信息成為社會的高級“神經(jīng)中樞” 。隨著我國科學(xué)技術(shù)的發(fā)展和國內(nèi)外合 作的加強(qiáng),對通信水平的要求也日益增加,如果通信水平跟不上,社會成員之間的 合作程度就受到限制,生產(chǎn)力的發(fā)展也必然受到限制,可見通信在現(xiàn)代生活中扮演 的角色越來越重要,本課題以此為出發(fā)點(diǎn),采用Matlab語言作為工作環(huán)境,Ma
21、tlab 語言成為第四代編程語言,程序簡潔、可讀性很強(qiáng)而且調(diào)試十分容易,自1984年由 美國MathWorks公司推向市場以來,歷經(jīng)十幾年的發(fā)展,現(xiàn)成為國際公認(rèn)的優(yōu)秀科 技應(yīng)用軟件,是信號與系統(tǒng)方面得天獨(dú)厚優(yōu)勢圖形開發(fā)工具,本軟件設(shè)計(jì)目標(biāo)是以 配合教學(xué)為出發(fā)點(diǎn)。主要是面對通信專業(yè)的初學(xué)者,用簡單,可視化的仿真模擬圖 形給大家演示部分基本波形的傳輸特性,以及在信道中的傳輸特性。使他們直觀, 感謝地了解和掌握通信系統(tǒng)的概念,傳輸性能等。 1.3研究意義 Matlab 作為編程語言和可視化工具 , 用 Matlab 開發(fā)的實(shí)驗(yàn)為學(xué)生提供了“信 號分析”、“信號抽樣”、“系統(tǒng)仿真”、“系統(tǒng)特性”、“濾
22、波器設(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)的相應(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)的局限性???/p>
23、以更方便的做信號系統(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 做界面的軟件有了一定的了解,對系統(tǒng)規(guī)劃有了初 精品 - 2 - 步的認(rèn)識。為以后研發(fā)工作打下堅(jiān)實(shí)的基礎(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)信號處理課程中具體實(shí)驗(yàn)的各個(gè)子界面,設(shè)計(jì)系統(tǒng)的
24、說明界面及其各個(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)子界面整合在信號處理系 統(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)入主界面,完成基本信號 的產(chǎn)生、實(shí)驗(yàn)結(jié)果、序列的基本運(yùn)算、生成可執(zhí)行文件等。 4、調(diào)試界面同時(shí)進(jìn)行修改和完善。 第二章 系統(tǒng)分析 2.1引言 現(xiàn)代社會,通信與傳感、仿真計(jì)算技術(shù)緊密結(jié)合,信
25、息成為社會的高級“神經(jīng) 中樞” ,隨著我國科學(xué)技術(shù)的發(fā)展和國內(nèi)外合作的加強(qiáng),對通信水平的要求也日益 增加,如果通信水平跟不上,社會成員之間的合作程度就受到限制,生產(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é)者
26、,用簡單,可視化的仿真模擬圖形給大家演示部分基本波的 傳輸特性,以及在信道中的傳輸特性。使他們直觀,感性地了解和掌握通信系統(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ù)勞動,加快開發(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 年莫而斯在華盛頓
27、和巴 爾的摩之間發(fā)送世界第一份電報(bào)以來,通信已經(jīng)經(jīng)歷了 150 多年,發(fā)展到目前數(shù)字 通信趨于替代模擬通信的趨勢。 信號與系統(tǒng)課程,是高等理工科類院校通信與 電子信息工程等專業(yè)中一門十分重要的基礎(chǔ)理論課,也是電子信息工程專業(yè)許多后 續(xù)課程的重要理論基礎(chǔ)。以前的信號模擬是通過硬件,對儀器和實(shí)驗(yàn)室的要求較高, 不便于廣泛應(yīng)用,而且信號處理具有內(nèi)容繁多、概念抽象、設(shè)計(jì)復(fù)雜等特點(diǎn), 學(xué)生 在學(xué)習(xí)時(shí)常常會感到枯燥, 難以理解和掌握。 基于此種需求,本系統(tǒng)設(shè)計(jì)為教學(xué)演示型軟件,運(yùn)用 Matlab 軟件開發(fā),便于 學(xué)生直觀觀察信號系統(tǒng)中涉及的波形及特性的原理圖, 為后續(xù)課程的學(xué)習(xí),以及獨(dú) 立分析和設(shè)計(jì)新的系
28、統(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 做用戶圖象界面和信號模擬所涉及到的技 術(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
29、來進(jìn)行仿真.為教學(xué)和研 究提供了方便,在經(jīng)濟(jì)上節(jié)約了實(shí)驗(yàn)開支,鍛煉了學(xué)生的自我研發(fā)意識和自己動手的 能力。 2.3.3 操作可行性 Matlab 程序流程簡單明了,開發(fā)率高,并且能夠結(jié)合其他多種開發(fā)工具,共同 實(shí)現(xiàn)信號模擬功能。它易學(xué)易用,不需大量編程,能創(chuàng)作出一些高水平的模擬平臺 精品 作品,對于非專業(yè)的開發(fā)人員和專業(yè)開發(fā)人員都是一個(gè)好的選擇。從可操作性的角 度來講,完全可行。 2.4 系統(tǒng)主要目標(biāo)及功能 2.4.1 系統(tǒng)目標(biāo) 本課題開發(fā)目標(biāo)是利用 Matlab 軟件開發(fā)一套集可視化圖形與動態(tài)仿真為一體 的教學(xué)演示型軟件,主要是面對初學(xué)者,用可視化的仿真模擬圖形配合老師的講課 內(nèi)容給大家演示
30、信號與系統(tǒng)課程中部分信號的傳輸波形、卷積、傅立葉變換以 及濾波器設(shè)計(jì)等,幫助他們直觀、感性地了解和掌握信號系統(tǒng)的概念、基本特征等, 深化對通信概念的理解。 2.4.2 系統(tǒng)主要功能 本系統(tǒng)主要功能包括基本序列計(jì)算、基本信號產(chǎn)生、卷積、傅立葉變換、濾波 器設(shè)計(jì)。簡單基礎(chǔ)地涵蓋了信號與系統(tǒng)部分主要章節(jié), 用可視化的仿真模擬圖 形為大家演示部分基本信號的傳輸波形和調(diào)制變換,部分交互式界面可直接輸入合 適的值使大家更直觀、感性地了解和掌握信號系統(tǒng)的概念、傳輸性能、基本特征等,為 課程的學(xué)習(xí)打下基礎(chǔ)。界面上的文字說明幫助大家了解本圖形的特性或功能。整套 系統(tǒng)采取圖文并茂、循序漸進(jìn)、從感性到理性的方式,首
31、先讓初學(xué)者在掌握基本信 號模擬和運(yùn)算。 2.5 小結(jié) 一個(gè)系統(tǒng)在開發(fā)之前就需要進(jìn)行需求分析和可行性分析,本章重點(diǎn)闡述本設(shè)計(jì) 的需求分析、可行性分析和目的,對這個(gè)系統(tǒng)的需求有了一個(gè)比較有力的證明。 精品 3 第三章 方案選取 3.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.2 界面工具的選取 由于我們的課題是基于 Matlab 的信
32、號系統(tǒng)平臺,所以在選擇做界面的工具的 時(shí)候也選擇 Matlab。如果用 VB 做界面的話在后面實(shí)現(xiàn)信號波形的時(shí)候需要建立 VB 和 Matlab 的鏈接,那樣會增加工作量和工作難度,而且我們對他們的鏈接也是 知之甚少,實(shí)際鏈接的時(shí)候會很麻煩,所以在權(quán)衡了各方面的因素我們選擇用 Matlab 做界面。 精品 3.3 模擬信號實(shí)驗(yàn)的軟件工具選擇 我們在學(xué)習(xí)信號與系統(tǒng)和數(shù)字信號處理課程時(shí),做實(shí)驗(yàn)的時(shí)候用的是 Matlab 軟件來實(shí)現(xiàn)信號波形的模擬以及處理,可以比較直觀準(zhǔn)確的看到波形,對 Matlab 軟件也有了初步的認(rèn)識,也可以用它編寫一些比較簡單的程序來。在信號波 形模擬的領(lǐng)域中,我們只接觸過 M
33、atlab 軟件,所以在編寫模擬信號波形這個(gè)模塊 中我們選擇 Matlab 軟件。 Matlab 是 Math 和 Works 公司推出的一個(gè)為工程計(jì)算和 數(shù)據(jù)分析而專門設(shè)計(jì)的高級交互式軟件包,利用它能容易地解決在系統(tǒng)仿真領(lǐng)域教 學(xué)與研究中遇到的問題。 3.4 設(shè)計(jì)方案選擇 在本系統(tǒng)的設(shè)計(jì)中, 界面布局設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法, 即先設(shè)計(jì)引導(dǎo)界 面和主界面, 再設(shè)計(jì)各個(gè)實(shí)驗(yàn)子界面。界面設(shè)計(jì)完成后, 只是一些靜態(tài)的畫面而已, 沒有什么內(nèi)涵, 還不能用于實(shí)驗(yàn)操作, 要想達(dá)到實(shí)驗(yàn)?zāi)康? 必須借助于函數(shù)調(diào)用。 在設(shè)計(jì)中, 各個(gè)回調(diào)函數(shù)的編寫順序則是采用自底向上的設(shè)計(jì)方法, 即先編制各個(gè) 實(shí)驗(yàn)子界面的
34、回調(diào)函數(shù), 再編寫主界面和引導(dǎo)界面的回調(diào)函數(shù)。 第四章 開發(fā)運(yùn)行環(huán)境 4.1 系統(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 Gui 精品 1 4.2 開發(fā)語言和開發(fā)工具介紹 4.2.1 Windows XP Windows XP,或視窗 XP 是微軟公司最新發(fā)布的一款視窗操作系統(tǒng)。它發(fā)行 于 2001 年 10 月 25 日,原來的名稱是 Whistler。微軟最初發(fā)行了兩個(gè)版本,家庭版 (Home)和專業(yè)版(Professional) 。家庭
35、版的消費(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 environmen)諸如 KDE 中獲得的靈感。帶有用戶圖形的 登陸界面就是一個(gè)例子。此外,Windows XP 還引入了一個(gè)“基于人物”的用戶界 面,使得工具條可以訪問任
36、務(wù)的具體細(xì)節(jié)。 它包括了簡化了的 Windows 2000 的用戶安全特性,并整合了防火墻,以用來 確保長期以來以著困擾微軟的安全問題。 4.2.2 Matlab 7.0 Matlab(MATrix LABoratory)語言是美國的 Cleve Moler 博士構(gòu)思并開發(fā)集命令 翻譯、科學(xué)計(jì)算于一身的一套交互式軟件系統(tǒng),是目前國際工程控制界應(yīng)用最廣、 最流行的一種控制系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)的軟件工具,它集成了計(jì)算功能,符號運(yùn)算, 數(shù)據(jù)可視化等功能,具有功能強(qiáng)大、界面友好、配套工具箱完善等特點(diǎn),其 SIMULINK 仿真環(huán)境及 S 函數(shù)的應(yīng)用為我們提供了有效實(shí)用的設(shè)計(jì)方法,該軟件先 前的版本與 V
37、isual 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ù)可以使程序開發(fā)避免繁雜的子程序編程任務(wù)避免了一些不必 要的錯(cuò)誤,提高了程序的可靠性。 2) 豐富靈活的運(yùn)算符。Matlab 提供了和
38、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) 程序可移植性好,基本上可以不作修改就可以在各種型號的計(jì)算機(jī)和操作 系統(tǒng)上運(yùn)用。 6) 分門別類的工具箱是該軟件的又一大特點(diǎn)。核心工具箱和學(xué)科類的工具箱。 這些工具箱都是該學(xué)科的高水平的專業(yè)人士所編,所以用戶可以直接使用。提高了 編程效率
39、。 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)和用戶界面功能的有效性來選擇計(jì)算機(jī)或程序。圖形用戶界面或 GUI 是包含圖形對象,如
40、:窗口、圖標(biāo)、菜單和文本的用戶界面。以某種方式選擇或激 活這些對象,通常引起動作或發(fā)生變化。最常見的激活方法是用鼠標(biāo)或其它點(diǎn)擊設(shè) 備去控制屏幕上的鼠標(biāo)指針的運(yùn)動。按下鼠標(biāo)按鈕,標(biāo)志著對象的選擇或其它動作。 Matlab 在 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ù)提供交互輸入。 在
41、運(yùn)行了 demo 例子后,很可能會問“為什么要在 MATLAB 中建立一個(gè) GUI?”這是一個(gè)很好的問題,簡單的回答是可能并不需要使用 MATLAB 來分析 數(shù)據(jù),求解問題,繪制結(jié)果的絕大多數(shù)的人,并不會發(fā)現(xiàn) GUI 工具很有用。但另 一方面,GUI 可以在 MATLAB 中生成非常有效的工具和應(yīng)用程序,或是建立演示工 作的交互式界面。 對“句柄圖形”的理解是設(shè)計(jì)和實(shí)現(xiàn) GUI 的先決條件。 由圖形命令生成的每一事物是一個(gè)圖形對象。圖形對象不僅包括 uimenu 和 精品 3 uicontrol 對象,而且還包括圖形、坐標(biāo)軸和他們的子對象。讓我們從另一個(gè)角度來 看這一層次結(jié)構(gòu)。計(jì)算機(jī)的屏
42、幕本身是根結(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)軟件平臺的設(shè)計(jì) 5.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è)主界面和若干
43、子界面,每個(gè)子界面是一個(gè)模塊,實(shí)現(xiàn)一個(gè) 實(shí)驗(yàn)或功能,并通過主界面調(diào)用子界面的設(shè)計(jì)方法。 精品 1 5.2 系統(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
44、 濾波器模塊又包含完全 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.3 系統(tǒng)設(shè)計(jì)步驟 設(shè)計(jì)的具體步驟如下: 1)運(yùn)用 Matlab 的圖形用戶界面(GUI)設(shè)計(jì)方法, 設(shè)計(jì)整個(gè)實(shí)驗(yàn)系統(tǒng)的開始引 導(dǎo)界面、實(shí)驗(yàn)主界面及其實(shí)現(xiàn)信號處理課程中具體實(shí)驗(yàn)的各個(gè)子界面。 2)運(yùn)用 Matlab 的圖形用戶界面(GUI)設(shè)計(jì)方法, 設(shè)計(jì)系統(tǒng)的說明界面及
45、其各 個(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)子界面整合在信號處理系統(tǒng)實(shí)驗(yàn)主界 開始引導(dǎo)界面 開始界面 序列基本計(jì)算 基本信號產(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.4 系統(tǒng)模塊 5.4.1 模塊劃分簡介 本系統(tǒng)根據(jù)要實(shí)現(xiàn)的實(shí)驗(yàn)類別、
46、個(gè)數(shù)的要求來規(guī)劃模塊,在設(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對 象 Uicon
47、trol對 象 坐 標(biāo) 系 對 象 影 象 對 象 線 條 對 象 貼 片 對 象 文 本 對 象 曲 面 對 象 圖 形 框 架 窗 口 對 象 坐 標(biāo) 系 對 象 圖 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ì)算模塊
48、 A序列基本計(jì)算模塊界面如圖 5-4 所示。 圖 5-4 序列基本計(jì)算模塊界面 由圖 5-4 可以看出在這個(gè)模塊里包括了單位脈沖序列、單位階躍序列、指數(shù)序列一 共三個(gè)序列,并且還給出了序列卷積這個(gè)運(yùn)算。下面來主要介紹這單位階躍序列和 指數(shù)序列及其設(shè)計(jì)方法。 a單位階躍序列 單位階躍序列的公式 (5-1))0(1nu 類似于連續(xù)時(shí)間系統(tǒng)中的單位階躍信號 ,但應(yīng)注意 在 點(diǎn)發(fā)生跳變,往tutu0 往不予定義(或定義為 ) ,而 在 =0 點(diǎn)明確規(guī)定為 。在該子界面的單21t 1 位階躍序列那欄里輸入位移量 3 如圖 5-5 所示。 圖 5-5 單位階躍變量輸入框 然后點(diǎn)擊“單位階躍序
49、列”按鈕,即出現(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-2)nuax 當(dāng) 1 時(shí)序列是發(fā)散的, 0 序列都取正值, 0,信號將隨著時(shí)間而增長,若 a
50、<0,信號則隨時(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) 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)) 例三:符號函數(shù) a符號
51、函數(shù)的公式 符號函數(shù)(或稱正負(fù)號函數(shù))以符號記,其表示式為 (5-6) )0(1sgnttttf 由式(5-6)可以看出,這種信號不滿足絕對可積條件,但它卻存在傅立葉變換。 b符號函數(shù)的運(yùn)行界面如圖 5-13 所示 精品 9 圖 5-13 符號函數(shù)運(yùn)行界面 c符號信號部分程序: function pushbutton5_Callback(hObject, eventdata, handles) t=str2num(get(handles.edit7,String))- 1:.001:str2num(get(handles.edit7,String))+1; ft=sign(t-
52、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),grid title(sgn(t-t0)) 4)卷積模塊 A卷積定義 對于任意兩個(gè)信號 和 ,兩者做卷積運(yùn)算定義為tf1tf2 (5-7)d1 做一變量代換不難證明 (5-8)tftftftf 12112 ** 式中 是兩函數(shù)作卷積運(yùn)算的簡寫符號,也可以寫成 。這里的tf21* tf2 積分取 和 ,這是由于對 和 的
53、作用時(shí)間范圍沒有加以限制。實(shí)際由于tf1tf2 系統(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.
54、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 無限大,則譜12w 線的間隔趨于無限
55、小,這樣,離散頻譜就變成連續(xù)頻譜了。同時(shí),由于周期趨于無 限大,譜線的長度趨于零。這就是說,頻譜將化為烏有,失去應(yīng)有的意義。但是, 從物理概念上考慮,既然成為一個(gè)信號,必然含有一定的能量,無論信號怎樣分解, 其所含能量是不變的。所以不管周期增大到什么程度,頻譜的分布依然存在?;蛘?從數(shù)學(xué)角度看,在極限情況下,無限多的無窮小量之和,仍可等于一有限值,此有 精品 11 限值的大小取決于信號的能量。 設(shè)有一周期信號 及其復(fù)數(shù)頻譜 ,將 展成tf1nwFtf (5-9)dtetfTnwFj1121 兩邊乘以 T1,得到 (5-10)dtetfnjn T11211 對于非周期信號,重復(fù)周期
56、,重復(fù)頻率 ,譜線間隔 ,01dn1 而離散頻率 變成連續(xù)頻率 。在這種極限情況下, ,但量1n 01F 可望不趨于零,而趨近于有限值,且變成一個(gè)連續(xù)函數(shù),通常記作 ,12F F 這樣式(5-8)在非周期信號的情況下將變成 (5-11)dtetfjn1 同樣,傅立葉級數(shù) (5-12)tjnneFtf1 在極限的情況下,傅立葉級數(shù)變成積分形式,它等于 (5-13)detftj2 通常式(5-11)稱為傅立葉正變換,式(5-13 )稱為傅立葉逆變換。 B傅立葉變換的公式 通常式稱為傅立葉正變換,式稱為傅立葉逆變換。為書寫方便習(xí)慣上采用如下 符號: 傅立
57、葉正變換 (5-14)dtetfFjn1 傅立葉逆變換 (5-15)tftj2 信號的傅立變換模塊是將時(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傅立葉變換部分程
58、序: a方波傅立葉分析: function pushbutton9_Callback(hObject, eventdata, handles)%p137 clc 1. f=str2num(get(handles.edit3,String)); t=0:0.01:2*pi; y=f*sin(t); plot(t,y),hold on y=f*(sin(t)+sin(3*t)/3); 精品 13 plot(t,y),hold on y=f*(sin(t)+sin(3*t)/3+sin(5*t)/5); plot(t,y),hold on y=f*(sin(t)+sin(3*t)/3+sin(5*t
59、)/5+sin(7*t)/7); plot(t,y),hold on y=f*(sin(t)+sin(3*t)/3+sin(5*t)/5+sin(7*t)/7+sin(9*t)/9); plot(t,y),hold on y=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),grid title(方波傅立葉分析 ) b快速傅立葉變換: function pushbutton8_Callback(hObject, eventdata, handles) N=str2num(get(hand
60、les.edit2,String)); x0=sin(N*2*pi*1:8/8)*5; dt=2*pi/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)%xp70 t=str2num(get(handles.edit1,String)); n=-5:5; x=t.n; k=-200:200; w=(pi/100)*k
61、; X=x*(exp(-j*pi/100)).(n*k); p=abs(X); plot(w/pi,p),grid title(離散傅立葉變換); 6)濾波器設(shè)計(jì)模塊 濾波器是數(shù)字信號處理的重要基礎(chǔ),是使用最為廣泛的一種線性系統(tǒng)。描述數(shù) 字濾波器的結(jié)構(gòu)只需要三種基本元件:加法器,乘法器,延遲元件。模擬濾波器的 設(shè)計(jì)是其他濾波器設(shè)計(jì)的基礎(chǔ),模擬低通濾波器的設(shè)計(jì),主要包括巴特沃斯濾波器, 切比雪夫?yàn)V波器和橢圓濾波器。數(shù)字濾波器是數(shù)字信號處理的重要基礎(chǔ),是使用最 為廣泛的一種線性系統(tǒng)。是完成信號濾波處理功能的,用有限精度算法實(shí)現(xiàn)的離散 時(shí)間線性非時(shí)變系統(tǒng)。其輸入是一組模擬信號取樣的數(shù)字量,其輸出是另
62、一組數(shù)字 量。在此系統(tǒng)中我們設(shè)計(jì)了低通 FIR 濾波器、高通 FIR 濾波器和巴特沃斯高通濾波 器。 精品 A濾波器設(shè)計(jì)模塊的子界面如圖 5-17。 圖 5-17 濾波器設(shè)計(jì)界面 從圖 5-17 可以看出,這個(gè)模塊包括低通 FIR 濾波器、高通 FIR 濾波器和巴特 沃斯高通濾波器三個(gè)部分。若想觀察低通 FIR 濾波器的波形,可以在這一欄里輸入 截止頻率 WC,再點(diǎn)擊“低通 FIR 濾波器”按鈕,左邊出現(xiàn)相應(yīng)波形,例:輸入截止 頻率 12,則波形如圖 5-18 所示。 圖 5-18 截止頻率為 12 的 FIR B濾波器設(shè)計(jì)模塊關(guān)鍵程序: a低通 FIR 濾波器: function pushb
63、utton4_Callback(hObject, eventdata, handles) wc=str2num(get(handles.edit6,String))*pi; 精品 15 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; end wn1=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)))
64、;grid title(低通 FIR 濾波器) b高通 FIR 濾波器: function pushbutton1_Callback(hObject, eventdata, handles) 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)));grid title(高通 FIR 濾波器) 7) 實(shí)驗(yàn)系統(tǒng)說明模塊 A本系統(tǒng)所設(shè)計(jì)的幫助模塊主要是解釋每個(gè)實(shí)驗(yàn)的原理,幫助系統(tǒng)使用人員更清 楚
65、實(shí)驗(yàn)的原理和步驟,可以更輕松的操作。這個(gè)模塊是每個(gè)系統(tǒng)必須的它的界面如 圖 5-19 所示。 圖 5-19 幫助模塊界面 比如點(diǎn)擊基本信號產(chǎn)生說明則彈出它的界面如圖 5-20 所示,它介紹了正弦函數(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_Si
66、ngleton, ... gui_OpeningFcn, help_OpeningFcn, ... gui_OutputFcn, help_OutputFcn, ... gui_LayoutFcn, , ... gui_Callback, ); if nargin end 8)系統(tǒng)退出模塊 系統(tǒng)退出界面如圖 5-21 所示: 圖 5-21 系統(tǒng)退出界面 精品 17 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 文件,一個(gè) m 文件,其中 fig 文件是你界面的圖形,m 文件是你界 面的回調(diào)函數(shù),在 m 文件里每個(gè)控件的回調(diào)函數(shù)都已經(jīng)自動生成,把我們自己的 m 代碼填在相應(yīng)的回調(diào)函數(shù)里即可。我們在做本系統(tǒng)的時(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案