基于MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)設(shè)計(jì)畢業(yè)論文.doc
《基于MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)設(shè)計(jì)畢業(yè)論文.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于MATLAB的信號(hào)與系統(tǒng)實(shí)驗(yàn)仿真系統(tǒng)設(shè)計(jì)畢業(yè)論文.doc(48頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、精品 1 基于 MATLAB的信號(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ì)功能, 開(kāi)發(fā)出了各個(gè) 實(shí)驗(yàn)界面。在本實(shí)驗(yàn)軟件中, 集成了信號(hào)與系統(tǒng)中的多個(gè)實(shí)驗(yàn), 應(yīng)用效果良好。本 系統(tǒng)是一種演示型軟件,用可視化的仿真工具,以圖形和動(dòng)態(tài)仿真的方式演示部分基 本信號(hào)的傳輸波形和變換,使學(xué)習(xí)人員直
2、觀、感性地了解和掌握信號(hào)與系統(tǒng)的基本 知識(shí)。 關(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 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的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)開(kāi)發(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 模擬信號(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)境和
11、運(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) ...............................
12、.............8 第五章 系統(tǒng)軟件平臺(tái)的設(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 模塊劃分簡(jiǎn)介 .................................................11 5.4.2 模塊具體設(shè)計(jì) .................................................11 5.5 生成可執(zhí)行文件 ...................................................26 5.6 小結(jié) ........................................
14、.....................26 第六章 系統(tǒng)測(cè)試 ......................................................27 6.1 引言 .............................................................27 6.2 測(cè)試背景 .........................................................27 6.3 測(cè)試概要 .........................................................27 6
15、.3.1 測(cè)試結(jié)果 .....................................................27 6.3.2 測(cè)試分析 .....................................................34 6.4 小結(jié) .............................................................34 第七章 結(jié)論 ..........................................................35 致 謝 ........................
16、.........................................37 參考文獻(xiàn) ..............................................................38 附錄:主要代碼 .........................................................39 精品 1 第一章 引言 1.1概述 “信號(hào)與系統(tǒng)”在電子信息專業(yè)中是一門(mén)很重要的課程,它涉及的知識(shí)廣泛, 包括微積分、概率論、信號(hào)與系統(tǒng)等。學(xué)生在學(xué)習(xí)這方面的內(nèi)容的時(shí)候,通常感覺(jué) 比較抽象,對(duì)其中的基本理論和分析方法難以具體地理解和掌握
17、。為此,我們借助 一些優(yōu)良的軟件平臺(tái)(如 MATLAB 等)來(lái)解決這一實(shí)際問(wèn)題,幫助學(xué)生更好地理 解和掌握數(shù)字信號(hào)處理中的基本理論和分析方法,激發(fā)學(xué)生的的學(xué)習(xí)興趣,從而達(dá) 到良好的教學(xué)效果。信號(hào)與系統(tǒng)實(shí)驗(yàn)環(huán)節(jié)在教學(xué)過(guò)程中是非常重要的,實(shí)驗(yàn)有助于 學(xué)生理解和掌握所學(xué)的理論。MATLAB 是用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析 以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境。作為強(qiáng)大的科學(xué)計(jì)算平臺(tái),它幾 乎滿足所有的計(jì)算要求。隨著對(duì)仿真和程序設(shè)計(jì)通用性及可視化需求的日益增加, MATLAB 著重改善了圖形用戶界面的制作,極大地滿足了用戶的需求。 MATLAB 的 GUID 是專門(mén)用于圖形用戶界面的快速開(kāi)
18、發(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)的形象直觀,總體界面友好,具有開(kāi)放 性,便于學(xué)生對(duì)所學(xué)理論知識(shí)的理解,大大提高教學(xué)的效果和效率。本次課程設(shè)計(jì) 是以 MATLAB 為開(kāi)發(fā)平臺(tái),保證了該系統(tǒng)具有一定的通用性,它采用圖形交互的 界面,不僅可以用于實(shí)驗(yàn)教學(xué),也可以用于輔助理論教學(xué),操作起來(lái)非常方便,形 象直觀。它開(kāi)發(fā)了基本信號(hào)的產(chǎn)生,常用序列的計(jì)算,傅里葉變換,濾波器的設(shè)計(jì) 等 MATLAB 輔助分析與設(shè)計(jì)實(shí)驗(yàn)。通過(guò)這個(gè)實(shí)驗(yàn)系統(tǒng),可以將數(shù)字信號(hào)處理課程 中許多抽象的理論知識(shí)形
19、象地表示出來(lái),使得原先實(shí)驗(yàn)中較難觀察到的現(xiàn)象以及繁 瑣的設(shè)計(jì)計(jì)算等,都能較簡(jiǎn)單的解決。該實(shí)驗(yàn)系統(tǒng)為學(xué)生提供了一個(gè)形象而全面的 演示,激發(fā)學(xué)生的學(xué)習(xí)興趣,加深學(xué)生對(duì)數(shù)字信號(hào)處理課程中理論知識(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 - 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)上
20、了這一套軟件。Matlab的toolbox 中也含有概率統(tǒng)計(jì)方面的庫(kù)函數(shù)。概率 方面的庫(kù)函數(shù)主要有各種常見(jiàn)分布的分布函數(shù)、概率密度、分布率以及生成服從各 種分布隨機(jī)數(shù)的函數(shù)統(tǒng)計(jì)方面的庫(kù)函數(shù)含蓋了簡(jiǎn)單隨機(jī)樣本下常見(jiàn)的參數(shù)估計(jì) (點(diǎn)估計(jì)、區(qū)間估計(jì)) ,假設(shè)檢驗(yàn)等等?,F(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)境,Ma
21、tlab 語(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)用軟件,是信號(hào)與系統(tǒng)方面得天獨(dú)厚優(yōu)勢(shì)圖形開(kāi)發(fā)工具,本軟件設(shè)計(jì)目標(biāo)是以 配合教學(xué)為出發(fā)點(diǎn)。主要是面對(duì)通信專業(yè)的初學(xué)者,用簡(jiǎn)單,可視化的仿真模擬圖 形給大家演示部分基本波形的傳輸特性,以及在信道中的傳輸特性。使他們直觀, 感謝地了解和掌握通信系統(tǒng)的概念,傳輸性能等。 1.3研究意義 Matlab 作為編程語(yǔ)言和可視化工具 , 用 Matlab 開(kāi)發(fā)的實(shí)驗(yàn)為學(xué)生提供了“信 號(hào)分析”、“信號(hào)抽樣”、“系統(tǒng)仿真”、“系統(tǒng)特性”、“濾
22、波器設(shè)計(jì)”及“傅 立葉變換”等實(shí)驗(yàn)?zāi)K 。 它的界面演示框如同通用示波器 , 顯示了信號(hào)分析與 系統(tǒng)設(shè)計(jì)的動(dòng)態(tài)仿真過(guò)程 , 給人以直觀的感受 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)的局限性???/p>
23、以更方便的做信號(hào)系統(tǒng)實(shí)驗(yàn),為 教學(xué)和研究提供了方便。還能夠鍛煉一個(gè)人在面對(duì)一個(gè)具體的項(xiàng)目時(shí),遇到問(wèn)題, 分析問(wèn)題,解決問(wèn)題的能力;獲得獨(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ī)劃有了初 精品 - 2 - 步的認(rèn)識(shí)。為以后研發(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)的開(kāi)始引導(dǎo)界面、 實(shí)驗(yàn)主界面及其實(shí)現(xiàn)信號(hào)處理課程中具體實(shí)驗(yàn)的各個(gè)子界面,設(shè)計(jì)系統(tǒng)的
24、說(shuō)明界面及其各個(gè)實(shí) 驗(yàn)的說(shuō)明界面。 2、完成分別編寫(xiě)各個(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)行讀取和分析的目的。編寫(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)。 3、編寫(xiě)開(kāi)始引導(dǎo)界面的回調(diào)函數(shù), 實(shí)現(xiàn)從引導(dǎo)界面直接進(jìn)入主界面,完成基本信號(hào) 的產(chǎn)生、實(shí)驗(yàn)結(jié)果、序列的基本運(yùn)算、生成可執(zhí)行文件等。 4、調(diào)試界面同時(shí)進(jìn)行修改和完善。 第二章 系統(tǒng)分析 2.1引言 現(xiàn)代社會(huì),通信與傳感、仿真計(jì)算技術(shù)緊密結(jié)合,信
25、息成為社會(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)用軟件,是數(shù)字信號(hào)處理方面 得天獨(dú)厚優(yōu)勢(shì)圖形開(kāi)發(fā)工具.本軟件設(shè)計(jì)目標(biāo)是以配合教學(xué)為出發(fā)點(diǎn),主要是面對(duì) 通信工程專業(yè)的初學(xué)者
26、,用簡(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ī) 精品 1 范之內(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ā)展,政治軍事活動(dòng),個(gè)人生活中的 應(yīng)運(yùn)以是相當(dāng)普遍,是社會(huì)發(fā)展不可缺少的工具,自 1844 年莫而斯在華盛頓
27、和巴 爾的摩之間發(fā)送世界第一份電報(bào)以來(lái),通信已經(jīng)經(jīng)歷了 150 多年,發(fā)展到目前數(shù)字 通信趨于替代模擬通信的趨勢(shì)。 信號(hào)與系統(tǒng)課程,是高等理工科類(lèi)院校通信與 電子信息工程等專業(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)發(fā),便于 學(xué)生直觀觀察信號(hào)系統(tǒng)中涉及的波形及特性的原理圖, 為后續(xù)課程的學(xué)習(xí),以及獨(dú) 立分析和設(shè)計(jì)新的系
28、統(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), 沒(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
29、來(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.4 系統(tǒng)主要目標(biāo)及功能 2.4.1 系統(tǒng)目標(biāo) 本課題開(kāi)發(fā)目標(biāo)是利用 Matlab 軟件開(kāi)發(fā)一套集可視化圖形與動(dòng)態(tài)仿真為一體 的教學(xué)演示型軟件,主要是面對(duì)初學(xué)者,用可視化的仿真模擬圖形配合老師的講課 內(nèi)容給大家演示
30、信號(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)生、卷積、傅立葉變換、濾波 器設(shè)計(jì)。簡(jiǎn)單基礎(chǔ)地涵蓋了信號(hào)與系統(tǒng)部分主要章節(jié), 用可視化的仿真模擬圖 形為大家演示部分基本信號(hào)的傳輸波形和調(diào)制變換,部分交互式界面可直接輸入合 適的值使大家更直觀、感性地了解和掌握信號(hào)系統(tǒng)的概念、傳輸性能、基本特征等,為 課程的學(xué)習(xí)打下基礎(chǔ)。界面上的文字說(shuō)明幫助大家了解本圖形的特性或功能。整套 系統(tǒng)采取圖文并茂、循序漸進(jìn)、從感性到理性的方式,首
31、先讓初學(xué)者在掌握基本信 號(hào)模擬和運(yùn)算。 2.5 小結(jié) 一個(gè)系統(tǒng)在開(kāi)發(fā)之前就需要進(jìn)行需求分析和可行性分析,本章重點(diǎn)闡述本設(shè)計(jì) 的需求分析、可行性分析和目的,對(duì)這個(gè)系統(tǒng)的需求有了一個(gè)比較有力的證明。 精品 3 第三章 方案選取 3.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í)行文件,這對(duì)剛接 觸 Matlab 的我們來(lái)是說(shuō)比較困難,老師為我們提出了一些參考方案來(lái)完成設(shè)計(jì), 本章將在根據(jù)我們實(shí)力的基礎(chǔ)上,給出本課題最適合選用的一種方案。 3.2 界面工具的選取 由于我們的課題是基于 Matlab 的信
32、號(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.3 模擬信號(hào)實(shí)驗(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ò) M
33、atlab 軟件,所以在編寫(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.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)的畫(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)子界面的
34、回調(diào)函數(shù), 再編寫(xiě)主界面和引導(dǎo)界面的回調(diào)函數(shù)。 第四章 開(kāi)發(fā)運(yùn)行環(huán)境 4.1 系統(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ā)工具:Matlab7.0 Matlab Gui 精品 1 4.2 開(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) 。家庭
35、版的消費(fèi)對(duì)象是家庭用戶,專業(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ì)微的修改,其中一些看起來(lái)是從 Linux 的桌面環(huán)境(desktop environmen)諸如 KDE 中獲得的靈感。帶有用戶圖形的 登陸界面就是一個(gè)例子。此外,Windows XP 還引入了一個(gè)“基于人物”的用戶界 面,使得工具條可以訪問(wèn)任
36、務(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ó)的 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)算, 數(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)就是簡(jiǎn)潔的,開(kāi)放式代碼。提供了更為直觀,符合人 們思維習(xí)慣的代碼,現(xiàn)簡(jiǎn)單介紹該軟件的主要特點(diǎn)。 1) 語(yǔ)言簡(jiǎn)單,代碼靈活,極其豐富的庫(kù)函數(shù)資源。在程序設(shè)計(jì)中該軟件對(duì)代 碼的書(shū)寫(xiě)形式?jīng)]有很?chē)?yán)格的限制,同時(shí)利用豐富的庫(kù)函數(shù)簡(jiǎn)化了子程序的編寫(xiě)任務(wù), 利用極其豐富的庫(kù)函數(shù)可以使程序開(kāi)發(fā)避免繁雜的子程序編程任務(wù)避免了一些不必 要的錯(cuò)誤,提高了程序的可靠性。 2) 豐富靈活的運(yùn)算符。Matlab 提供了和
38、C 語(yǔ)言一樣多的運(yùn)算符,使用這些運(yùn) 算符可使程序短小、靈活。 3) 面向?qū)ο缶幊毯徒Y(jié)構(gòu)化控制功能。尤其是新版的 MATLAB7.0 軟件在可視 化方面較以前版本有了很大程度的提高,使得界面編程更加自由,方便。 精品 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)別類(lèi)的工具箱是該軟件的又一大特點(diǎn)。核心工具箱和學(xué)科類(lèi)的工具箱。 這些工具箱都是該學(xué)科的高水平的專業(yè)人士所編,所以用戶可以直接使用。提高了 編程效率
39、。 7) 開(kāi)放的共享源代碼。開(kāi)放性的代碼是該軟件最受歡迎的另一大特點(diǎn)。所有 的核心文件和工具箱文件都是可讀可該的源代碼。所以 matlab 語(yǔ)言被稱為第四代 編程語(yǔ)言 3。 4.2.3 圖形用戶界面(GUI) 圖形用戶界面(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ì)象,如
40、:窗口、圖標(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)作。 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ù)提供交互輸入。 在
41、運(yùn)行了 demo 例子后,很可能會(huì)問(wèn)“為什么要在 MATLAB 中建立一個(gè) GUI?”這是一個(gè)很好的問(wèn)題,簡(jiǎn)單的回答是可能并不需要使用 MATLAB 來(lái)分析 數(shù)據(jù),求解問(wèn)題,繪制結(jié)果的絕大多數(shù)的人,并不會(huì)發(fā)現(xiàn) GUI 工具很有用。但另 一方面,GUI 可以在 MATLAB 中生成非常有效的工具和應(yīng)用程序,或是建立演示工 作的交互式界面。 對(duì)“句柄圖形”的理解是設(shè)計(jì)和實(shí)現(xiàn) GUI 的先決條件。 由圖形命令生成的每一事物是一個(gè)圖形對(duì)象。圖形對(duì)象不僅包括 uimenu 和 精品 3 uicontrol 對(duì)象,而且還包括圖形、坐標(biāo)軸和他們的子對(duì)象。讓我們從另一個(gè)角度來(lái) 看這一層次結(jié)構(gòu)。計(jì)算機(jī)的屏
42、幕本身是根結(jié)點(diǎn),圖形是根對(duì)象的子對(duì)象,坐標(biāo)軸, uimenu , uicontrol 是圖形的子對(duì)象。根可以包括多個(gè)圖形,每個(gè)圖形含有一組或 多組坐標(biāo)軸以及其子對(duì)象,每個(gè)圖形也可以有一個(gè)或多個(gè)與坐標(biāo)軸無(wú)關(guān)的 uimenu 和 uicontrol。雖然 uicontrol 對(duì)象無(wú)子對(duì)象結(jié)點(diǎn),但他們確實(shí)具有多種類(lèi)型。 uimenu 對(duì)象常將其它的 uimenu 對(duì)象作為其子對(duì)象。 第五章 系統(tǒng)軟件平臺(tái)的設(shè)計(jì) 5.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è)主界面和若干
43、子界面,每個(gè)子界面是一個(gè)模塊,實(shí)現(xiàn)一個(gè) 實(shí)驗(yàn)或功能,并通過(guò)主界面調(diào)用子界面的設(shè)計(jì)方法。 精品 1 5.2 系統(tǒng)整體框圖 本實(shí)驗(yàn)系統(tǒng)整體結(jié)構(gòu)設(shè)計(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
44、 濾波器模塊又包含完全 IIR 濾波器的設(shè)計(jì)實(shí)驗(yàn)界面和典型 IIR 濾波器實(shí)驗(yàn)界面; 主界面中還包含了說(shuō)明模塊。在菜單設(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)的開(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ō)明界面及
45、其各 個(gè)實(shí)驗(yàn)的說(shuō)明界面。 3)分別編寫(xiě)各個(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)主界 開(kāi)始引導(dǎo)界面 開(kāi)始界面 序列基本計(jì)算 基本信號(hào)產(chǎn)生 卷積 卷積 傅立葉變換 濾波器設(shè) 計(jì) 系統(tǒng)說(shuō)明 精品 面中, 即通過(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.4 系統(tǒng)模塊 5.4.1 模塊劃分簡(jiǎn)介 本系統(tǒng)根據(jù)要實(shí)現(xiàn)的實(shí)驗(yàn)類(lèi)別、
46、個(gè)數(shù)的要求來(lái)規(guī)劃模塊,在設(shè)計(jì)的時(shí)候本著界 面美觀、簡(jiǎn)潔的原則。各個(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 中 寫(xiě) 入 函 數(shù) 名 。 主窗體對(duì)象的層次圖如圖 5-2。 根 對(duì) 象( 計(jì) 算 機(jī) 屏 幕 ) 圖 形 框 架 窗 口 對(duì) 象 Uimenu對(duì) 象 Uicon
47、trol對(duì) 象 坐 標(biāo) 系 對(duì) 象 影 象 對(duì) 象 線 條 對(duì) 象 貼 片 對(duì) 象 文 本 對(duì) 象 曲 面 對(duì) 象 圖 形 框 架 窗 口 對(duì) 象 坐 標(biāo) 系 對(duì) 象 圖 5-2 主窗體對(duì)象的層次圖 系統(tǒng)歡迎界面如圖 5-3 所示。 圖 5-3 系統(tǒng)主界面 精品 3 圖 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ì)算模塊
48、 A序列基本計(jì)算模塊界面如圖 5-4 所示。 圖 5-4 序列基本計(jì)算模塊界面 由圖 5-4 可以看出在這個(gè)模塊里包括了單位脈沖序列、單位階躍序列、指數(shù)序列一 共三個(gè)序列,并且還給出了序列卷積這個(gè)運(yùn)算。下面來(lái)主要介紹這單位階躍序列和 指數(shù)序列及其設(shè)計(jì)方法。 a單位階躍序列 單位階躍序列的公式 (5-1))0(1nu 類(lèi)似于連續(xù)時(shí)間系統(tǒng)中的單位階躍信號(hào) ,但應(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,信號(hào)將隨著時(shí)間而增長(zhǎng),若 a
50、<0,信號(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) 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)) 例三:符號(hào)函數(shù) a符號(hào)
51、函數(shù)的公式 符號(hào)函數(shù)(或稱正負(fù)號(hào)函數(shù))以符號(hào)記,其表示式為 (5-6) )0(1sgnttttf 由式(5-6)可以看出,這種信號(hào)不滿足絕對(duì)可積條件,但它卻存在傅立葉變換。 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,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卷積定義 對(duì)于任意兩個(gè)信號(hào) 和 ,兩者做卷積運(yùn)算定義為tf1tf2 (5-7)d1 做一變量代換不難證明 (5-8)tftftftf 12112 ** 式中 是兩函數(shù)作卷積運(yùn)算的簡(jiǎn)寫(xiě)符號(hào),也可以寫(xiě)成 。這里的tf21* tf2 積分取 和 ,這是由于對(duì) 和 的
53、作用時(shí)間范圍沒(méi)有加以限制。實(shí)際由于tf1tf2 系統(tǒng)的因果性或激勵(lì)信號(hào)存在時(shí)間的局限性,其積分限會(huì)有變化,這一點(diǎn)借助卷積 的圖形解釋可以看得很清楚。可以說(shuō)卷積積分中積分限的確定是非常關(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傅立葉變換的原理 如果以周期矩形信號(hào)為例,當(dāng)周期 T1 無(wú)限增大時(shí),則周期信號(hào)就轉(zhuǎn)化為非周 期性的單脈沖信號(hào)。所以可以把非周期信號(hào)看成是周期 T1趨于無(wú)限大的周期信號(hào)。 當(dāng)周期信號(hào)的周期 T1增大時(shí),譜線的間隔 變小,若周期 T1 無(wú)限大,則譜12w 線的間隔趨于無(wú)限
55、小,這樣,離散頻譜就變成連續(xù)頻譜了。同時(shí),由于周期趨于無(wú) 限大,譜線的長(zhǎng)度趨于零。這就是說(shuō),頻譜將化為烏有,失去應(yīng)有的意義。但是, 從物理概念上考慮,既然成為一個(gè)信號(hào),必然含有一定的能量,無(wú)論信號(hào)怎樣分解, 其所含能量是不變的。所以不管周期增大到什么程度,頻譜的分布依然存在?;蛘?從數(shù)學(xué)角度看,在極限情況下,無(wú)限多的無(wú)窮小量之和,仍可等于一有限值,此有 精品 11 限值的大小取決于信號(hào)的能量。 設(shè)有一周期信號(hào) 及其復(fù)數(shù)頻譜 ,將 展成tf1nwFtf (5-9)dtetfTnwFj1121 兩邊乘以 T1,得到 (5-10)dtetfnjn T11211 對(duì)于非周期信號(hào),重復(fù)周期
56、,重復(fù)頻率 ,譜線間隔 ,01dn1 而離散頻率 變成連續(xù)頻率 。在這種極限情況下, ,但量1n 01F 可望不趨于零,而趨近于有限值,且變成一個(gè)連續(xù)函數(shù),通常記作 ,12F F 這樣式(5-8)在非周期信號(hào)的情況下將變成 (5-11)dtetfjn1 同樣,傅立葉級(jí)數(shù) (5-12)tjnneFtf1 在極限的情況下,傅立葉級(jí)數(shù)變成積分形式,它等于 (5-13)detftj2 通常式(5-11)稱為傅立葉正變換,式(5-13 )稱為傅立葉逆變換。 B傅立葉變換的公式 通常式稱為傅立葉正變換,式稱為傅立葉逆變換。為書(shū)寫(xiě)方便習(xí)慣上采用如下 符號(hào): 傅立
57、葉正變換 (5-14)dtetfFjn1 傅立葉逆變換 (5-15)tftj2 信號(hào)的傅立變換模塊是將時(shí)域信號(hào)通過(guò)傅立葉變換轉(zhuǎn)變?yōu)轭l域信號(hào).它分為連 續(xù)信號(hào)的傅立葉變換窗體和離散信號(hào)窗體的傅立葉變換調(diào)用窗體是通過(guò)控件 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ù)字信號(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ù)字量,其輸出是另
62、一組數(shù)字 量。在此系統(tǒng)中我們?cè)O(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)說(shuō)明模塊 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)擊基本信號(hào)產(chǎn)生說(shuō)明則彈出它的界面如圖 5-20 所示,它介紹了正弦函數(shù)、 精品 指數(shù)函數(shù)等基本信號(hào)的公式,并對(duì)公式內(nèi)每個(gè)參數(shù)進(jìn)行說(shuō)明,讓使用者一目了然。 圖 5-20 基本信號(hào)產(chǎn)生說(shuō)明界面 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é)果要脫離開(kāi)發(fā)工具(Matlab)軟件獨(dú)立運(yùn)行,我們?cè)谧?GUI 的時(shí)候主要參考了別人生成可執(zhí)行文件的方法。 首先在 matlab 命令行窗口中輸入 guide,打開(kāi) gui 設(shè)計(jì)的圖形界面。然后拖入 所要的圖形控件,按需要修改外觀直至滿足要求。點(diǎn)擊 guide 界面上方的 Run 按鈕, 會(huì)生成一個(gè) fig 文件,一個(gè) m 文件,其中 fig 文件是你界面的圖形,m 文件是你界 面的回調(diào)函數(shù),在 m 文件里每個(gè)控件的回調(diào)函數(shù)都已經(jīng)自動(dòng)生成,把我們自己的 m 代碼填在相應(yīng)的回調(diào)函數(shù)里即可。我們?cè)谧霰鞠到y(tǒng)的時(shí)候,主
- 溫馨提示:
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é)研究工作)
- 銷(xiāo)售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷(xiāo)售話術(shù)和技巧
- 銷(xiāo)售技巧:接近客戶的8種套路
- 銷(xiāo)售套路總結(jié)
- 房產(chǎn)銷(xiāo)售中的常見(jiàn)問(wèn)題及解決方法
- 銷(xiāo)售技巧:值得默念的成交話術(shù)
- 銷(xiāo)售資料:讓人舒服的35種說(shuō)話方式
- 汽車(chē)銷(xiāo)售績(jī)效管理規(guī)范
- 銷(xiāo)售技巧培訓(xùn)課件:絕對(duì)成交的銷(xiāo)售話術(shù)
- 頂尖銷(xiāo)售技巧總結(jié)
- 銷(xiāo)售技巧:電話營(yíng)銷(xiāo)十大定律
- 銷(xiāo)售逼單最好的二十三種技巧
- 銷(xiāo)售最常遇到的10大麻煩