版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 窗體底端摘 要</b></p><p> 本文概述了信號(hào)仿真系統(tǒng)的需求、總體結(jié)構(gòu)、基本功能。重點(diǎn)介紹了利用Matlab軟件設(shè)計(jì)實(shí)現(xiàn)信號(hào)仿真系統(tǒng)的基本原理及功能,以及利用Matlab軟件提供的圖形用戶(hù)界面(Graphical User Interfaces ,GUI)設(shè)計(jì)具有人機(jī)交互、界面 友好的用戶(hù)界面。本文采用 Matlab 的圖形用戶(hù)界面設(shè)計(jì)功能, 開(kāi)發(fā)出
2、了各個(gè)實(shí) 驗(yàn)界面。在該實(shí)驗(yàn)軟件中, 集成了信號(hào)處理中的多個(gè)實(shí)驗(yàn), 應(yīng)用效果良好。本系 統(tǒng)是一種演示型軟件,用可視化的仿真工具,以圖形和動(dòng)態(tài)仿真的方式演示部分 基本信號(hào)的傳輸波形和變換,使學(xué)習(xí)人員直觀、感性地了解和掌握信號(hào)與系統(tǒng)的 基本知識(shí)。 隨著當(dāng)代計(jì)算機(jī)技術(shù)的不斷發(fā)展,計(jì)算機(jī)逐漸融入了社會(huì)生活的方方面面。 計(jì)算機(jī)的使用已經(jīng)成為當(dāng)代大學(xué)生不可或缺的基本技能。 信號(hào)與系統(tǒng)課程具有傳 統(tǒng)經(jīng)典的基礎(chǔ)內(nèi)容,但也存在由于數(shù)字技術(shù)發(fā)展、計(jì)算技術(shù)滲入
3、等的需求。在教 學(xué)過(guò)程中缺乏實(shí)際應(yīng)用背景的理論學(xué)習(xí)是枯燥而艱難的。 為了解決理論與實(shí)際聯(lián)系起來(lái)的難題國(guó)內(nèi)外教育人士目光不約而同的投向 一款優(yōu)秀的計(jì)算機(jī)軟件——MATLAB。 通過(guò)它可用計(jì)算機(jī)仿真, 闡述信號(hào)與系統(tǒng) 理論與應(yīng)用相聯(lián)系的內(nèi)容,以</p><p><b> ABSTRACT</b></p><p> As the modern computer tech
4、nology development, computer gradually merged with the various aspects of social life. the use of the computer has become an essential part of the basic skills of students. the signal and systems of traditional classic o
5、f course, but there is also due to a digital technology development, the technology in the demand. in the teaching process of the practical application of theoretical study is boring and difficult. Theory with practice i
6、n order to solve the problem of e</p><p><b> 目錄</b></p><p> 前言.............................................................. 1 </p><p> 第 1 章 緒論......................
7、..................................2 </p><p> 論文寫(xiě)作背景 ............................................... 2 </p><p> 研究問(wèn)題的提出 ............................................. 3 </p><p> 研究
8、問(wèn)題的解決方案 ......................................... 4 </p><p> 第 2 章 MATLAB 軟件簡(jiǎn)介 .............................................. 6</p><p> MAILAB 簡(jiǎn)介及發(fā)展過(guò)程....................................... 6
9、</p><p> MATLAB 入門(mén) ................................................ 7</p><p> MATLAB 語(yǔ)言平臺(tái)簡(jiǎn)單介紹 .................................... 9 </p><p> 第 3 章 信號(hào)與系統(tǒng)簡(jiǎn)介.......................
10、....................... 11 </p><p> 3.1信號(hào)與系統(tǒng)發(fā)展過(guò)程 ........................................ 11 </p><p> 3.2信號(hào)與系統(tǒng)課程特點(diǎn)及重點(diǎn)內(nèi)容 .............................. 12</p><p> 3.3信號(hào)與系統(tǒng)涉及內(nèi)容 ...
11、..................................... 13 </p><p> 第 4 章 MATLAB 在信號(hào)與系統(tǒng)中的應(yīng)用 ................................. 15</p><p> MATLAB 中信號(hào)表示及可視化 ................................. 15</p><p>
12、; MATLAB 在信號(hào)與系統(tǒng)分析中的應(yīng)用 ........................... 17</p><p> 4.2.1 MATLAB 在時(shí)域、頻域、S 域、Z 域里的應(yīng)用舉例 ........... 17 </p><p> 4.2.2MATLAB 在信號(hào)調(diào)制、濾波及求解中的應(yīng)用 ................ 24 </p><p> 第
13、 5 章 GUI 界面的創(chuàng)建與應(yīng)用 ........................................ 31</p><p> 5.1結(jié) GUI 界面創(chuàng)建的基本知識(shí)..................................... 31</p><p> 5.2 GUI 界面在信號(hào)與系統(tǒng)中的應(yīng)用............................... 33
14、</p><p> 5.3信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)設(shè)計(jì) .................................... 36 </p><p> 結(jié)論............................................................. 47 </p><p> 參考文獻(xiàn).........................
15、.................................. 48 </p><p> 致 謝............................................................. 49</p><p><b> 前 言 </b></p><p> 隨著我國(guó)高等教育逐步的實(shí)現(xiàn)了大眾化以及產(chǎn)業(yè)結(jié)構(gòu)
16、進(jìn)一步調(diào)整, 社會(huì)對(duì)人 才的需要出現(xiàn)了層次化和多樣化的變化,這反映到高等學(xué)校的定位與教學(xué)要求 中,必然會(huì)帶來(lái)教學(xué)內(nèi)容上的差異化和教學(xué)方式上的多樣化。當(dāng)代的電子信息發(fā) 展的極其迅猛,突出這個(gè)學(xué)科的特色,培養(yǎng)有競(jìng)爭(zhēng)力的人才成了高等院校的迫切 任務(wù)。尋求更好的學(xué)習(xí)工具便成了完成這一任務(wù)的當(dāng)務(wù)之急。 隨著計(jì)算機(jī)技術(shù)和信息技術(shù)的飛快發(fā)展, 數(shù)字信號(hào)處理技術(shù)在各種工程技術(shù) 領(lǐng)域,特別是新興高科技術(shù)產(chǎn)業(yè)內(nèi)獲得了越來(lái)越廣泛的應(yīng)用。因而信號(hào)與系統(tǒng)課 程作
17、為學(xué)習(xí)數(shù)字信號(hào)處理技術(shù)的基礎(chǔ)課程, 越發(fā)受到師生的重視。 利用 MATLAB 強(qiáng)大的計(jì)算仿真功能和方便易用的圖形繪制功能可以將抽象的數(shù)學(xué)和技術(shù)理論 以易于理解的可視化形式展示給學(xué)生,起到更好的教學(xué)效果。 在平時(shí)的學(xué)習(xí)中我們體會(huì)到了信號(hào)與系統(tǒng)這門(mén)學(xué)科的復(fù)雜和抽象, 由于這個(gè) 方向需要復(fù)雜的數(shù)學(xué)邏輯推理,還有眾多繁瑣的數(shù)據(jù)構(gòu)成,因此難以讓人理解。 MATLAB 的出現(xiàn)給解決這一難題帶來(lái)了福音。 用它對(duì)這一學(xué)科的內(nèi)容進(jìn)行仿真, 讓人們能看到它
18、的樣子,這對(duì)于學(xué)習(xí)這門(mén)課來(lái)說(shuō)會(huì)有很大的幫助。 當(dāng)代教育理念中對(duì)實(shí)踐性教學(xué)的</p><p><b> 第 1 章 緒論</b></p><p><b> 1.1論文寫(xiě)作背景</b></p><p> 現(xiàn)在的校園學(xué)習(xí)生活中,不難發(fā)現(xiàn)在電子信息這方面學(xué)生的學(xué)習(xí)壓力很大, 深究其原因不難發(fā)現(xiàn)在這個(gè)方向上有一個(gè)特點(diǎn),那便是所
19、學(xué)的東西比較枯燥,大 部分都是繁雜的理論推導(dǎo)及難以理解的公式算法, 這導(dǎo)致學(xué)生學(xué)習(xí)這些課程非常 痛苦。同時(shí)學(xué)校的實(shí)驗(yàn)器材有限,能做的實(shí)驗(yàn)也是很有限的,這讓這個(gè)方向的學(xué) 習(xí)更加痛苦,在為數(shù)不多的一些實(shí)驗(yàn)里我們很難理解或者掌握我們所學(xué)習(xí)的內(nèi) 容。那么如何才能比較容易的來(lái)學(xué)習(xí)這個(gè)方向的課程呢,這是一個(gè)急需解決的問(wèn) 題。我們知道,硬件方面的實(shí)驗(yàn)一個(gè)是資源有限,在一個(gè)是展現(xiàn)起來(lái)不方便,由 此諸多因素所以模擬仿真這個(gè)方法便被提上了日程, 這是解決這
20、一難題的最好的 方法之一。 課堂教學(xué)是目前高校開(kāi)展教學(xué)活動(dòng)的一種主要形式, 學(xué)生的大多數(shù)學(xué)習(xí)時(shí)間 是在教室里度過(guò)的, 課堂教學(xué)活動(dòng)為學(xué)生的學(xué)習(xí)和成才提供了極其重要的場(chǎng)所和 機(jī)會(huì)。因此,課堂教學(xué)效果如何,直接關(guān)系到我們培養(yǎng)出來(lái)的人才的質(zhì)量,直接 關(guān)系到高校創(chuàng)新教育的成敗。改革教學(xué)手段和方法是推進(jìn)創(chuàng)新教育的重要條件。 實(shí)施創(chuàng)新教育,必須研究和創(chuàng)新課堂、實(shí)驗(yàn)教學(xué)的手段和方法。 從近幾年對(duì)教學(xué)情況的調(diào)查和學(xué)生反映來(lái)看, 當(dāng)前高校在教學(xué)方法上還是
21、存</p><p> 1.2 研究問(wèn)題的提出</p><p> 相信學(xué)電子的人都會(huì)有一個(gè)同樣的感觸,在學(xué)習(xí)信號(hào)與系統(tǒng)的過(guò)程中,大家 都體會(huì)到了這門(mén)可能的深?yuàn)W與難以理解, 甚至有時(shí)在做實(shí)驗(yàn)的時(shí)候雖然實(shí)驗(yàn)的結(jié) 果可能出來(lái)了,但自己卻還沒(méi)有時(shí)間去理解它就得從實(shí)驗(yàn)室里出來(lái)。有時(shí)由于外 界環(huán)境或者實(shí)驗(yàn)儀器自身的老化問(wèn)題引起的任何的干擾都會(huì)導(dǎo)致這個(gè)實(shí)驗(yàn)無(wú)法 出現(xiàn)滿(mǎn)意的效果,這就更談不上去理解它了。
22、因此找到學(xué)習(xí)這門(mén)課程的一個(gè)好的 方法將會(huì)使得許多人從中受益,因此這將是一個(gè)非常有意義的工作。 由于信號(hào)與系統(tǒng)課程的特點(diǎn)是概念抽象,數(shù)學(xué)含量大;繁雜的教學(xué)公式推導(dǎo) 及其數(shù)學(xué)結(jié)果常常使學(xué)生難于理解,再加上長(zhǎng)期以來(lái),由于信號(hào)與系統(tǒng)課程本身 的特點(diǎn)導(dǎo)致的教學(xué)方法和手段的單一, 使信號(hào)與系統(tǒng)這門(mén)課程一直處于教難學(xué)更 難的困難境況中。 該課程是一門(mén)公式和理論推導(dǎo)相對(duì)較多的學(xué)科,黑板式的單 一教學(xué)方式,使學(xué)生只能依靠做習(xí)題來(lái)鞏固和理解所學(xué)知識(shí),面對(duì)大
23、量應(yīng)用性較 強(qiáng)的內(nèi)容學(xué)生不能實(shí)際動(dòng)手設(shè)計(jì)、調(diào)試和分析,教學(xué)中的負(fù)面效應(yīng)越來(lái)越突出: 1.該課程的特點(diǎn)是數(shù)學(xué)要求較高,理論結(jié)果往往來(lái)源于復(fù)雜的數(shù)學(xué)運(yùn)算及推 導(dǎo),這就導(dǎo)致學(xué)生將大量的時(shí)間用于進(jìn)行數(shù)學(xué)運(yùn)算(如微分、積分、方程求解、 多項(xiàng)式求根</p><p> 1.3 研究問(wèn)題的解決方案</p><p> 那么到底怎樣才能解決這樣一個(gè)棘手的問(wèn)題呢?通過(guò)多方面的了解與研究, 現(xiàn)已初步有了一個(gè)解
24、決的方案,那便是運(yùn)用 MATLAB 這款軟件來(lái)對(duì)所要研究的 信號(hào)與系統(tǒng)來(lái)進(jìn)行分析。 雖然我們可以通過(guò)做大量信號(hào)與系統(tǒng)的試驗(yàn)來(lái)幫助學(xué)生理解信號(hào)與系統(tǒng)中 的眾多抽象概念。但是,由于信號(hào)與系統(tǒng)實(shí)驗(yàn)所需的設(shè)備價(jià)格較高,試驗(yàn)難度較 大,許多教學(xué)單位都因不具備試驗(yàn)條件而放棄了實(shí)驗(yàn)課程的開(kāi)設(shè),這極大地影響 了教育質(zhì)量的提高。 如何找到一種切實(shí)可行的途徑來(lái)解決這一問(wèn)題一直是努力的 方向。 近年以來(lái), 隨著計(jì)算機(jī)硬件性能的不斷提升和計(jì)算機(jī)軟件技術(shù)的飛速發(fā)
25、展, 利用計(jì)算機(jī)進(jìn)行虛擬試驗(yàn)成為一種國(guó)際潮流,國(guó)內(nèi)也逐步開(kāi)始了這一方面的工 作,并在取得積極的成果。 MATLAB 經(jīng)過(guò)多年的不斷發(fā)展與完善已發(fā)展成為由 MATLAB 語(yǔ)言、 MATLAB 工 作 環(huán) 境 、 MATLAB 圖 形 處 理 系 統(tǒng) 、 MATLAB 數(shù) 據(jù) 函 數(shù) 庫(kù) 和 MATLAB 應(yīng)用程序接口五大部分組成的集數(shù)值計(jì)算、圖形處理、程序開(kāi)發(fā)為一 體的功能強(qiáng)大的系統(tǒng)。它具有以下的功能和特點(diǎn):高效的數(shù)值計(jì)算及符號(hào)計(jì)算功能,
26、能使我們從繁雜的數(shù)學(xué)運(yùn)算分析中解脫</p><p> 第 2 章 MATLAB 軟件簡(jiǎn)介</p><p> 2.1 MAILAB 簡(jiǎn)介及發(fā)展過(guò)程 </p><p> MATLAB(矩陣實(shí)驗(yàn)室的簡(jiǎn)稱(chēng))是一種專(zhuān)業(yè)的計(jì)算機(jī)程序, 用于工程科學(xué)的矩 陣數(shù)學(xué)運(yùn)算。但在以后的幾年內(nèi),它逐漸發(fā)展為一種極其靈活的計(jì)算體系,用于 解決各種重要的技術(shù)問(wèn)題。Matlab 程序執(zhí)行
27、matlab 語(yǔ)言,并提供了一個(gè)極其廣 泛的預(yù)定義函數(shù)庫(kù),這樣就使得技術(shù)工作變得簡(jiǎn)單高效。在解決工程技術(shù)問(wèn)題方 面,MATLAB 比其它任何計(jì)算機(jī)語(yǔ)言(包括 FORTAN 和 C)都簡(jiǎn)單高效。它 取自矩陣(Matrix)和實(shí)驗(yàn)室(Laboratory)兩個(gè)英文單詞的前三個(gè)字母,意即“矩 陣實(shí)驗(yàn)室”。它是一種以矩陣作為基本數(shù)據(jù)單元的程序設(shè)計(jì)語(yǔ)言,提供了數(shù)據(jù)分 析、算法實(shí)現(xiàn)與應(yīng)用開(kāi)發(fā)的交互式開(kāi)發(fā)環(huán)境。 在 70 年代中期,Cleve Mol
28、er 博士和其同事在美國(guó)國(guó)家科學(xué)基金的資助下開(kāi) 發(fā)了調(diào)用 EISPACK 和 LINPACK 的 FORTRAN 子程序庫(kù).EISPACK 是特征值求解 的 FOETRAN 程序庫(kù),LINPACK 是解線(xiàn)性方程的程序庫(kù).在當(dāng)時(shí),這兩個(gè)程序庫(kù)代 表矩陣運(yùn)算的最高水平. 到 70 年代后期,身為美國(guó) New Mexico 大學(xué)計(jì)算機(jī)系系主任的 Cleve Moler</p><p> 2.2 MATLAB 入門(mén)&l
29、t;/p><p> MATLAB 分為總包和若干個(gè)工具箱,隨著版本的不斷升級(jí),它具有越來(lái)越 強(qiáng)大的數(shù)值計(jì)算能力,更為卓越的數(shù)據(jù)可視化能力以及良好的符號(hào)計(jì)算功能,逐 步發(fā)展成為各種學(xué)科、多種工作平臺(tái)下功能強(qiáng)大的大型軟件,獲得廣大科技工作 者的普遍認(rèn)可。一方面,MATLAB 可以方便實(shí)現(xiàn)數(shù)值分析、優(yōu)化分析、數(shù)據(jù)處 理、自動(dòng)控制、信號(hào)處理等領(lǐng)域的數(shù)學(xué)計(jì)算,另一方面,也可以快捷實(shí)現(xiàn)計(jì)算可 視化、圖形繪制、場(chǎng)景創(chuàng)建和渲染、圖
30、像處理、虛擬現(xiàn)實(shí)和地圖制作等分析處理 工作。在歐美許多高校,MATLAB 已經(jīng)成為線(xiàn)性代數(shù)、自動(dòng)控制理論、概率論 與數(shù)理統(tǒng)計(jì)、數(shù)字信號(hào)處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真等課程的基本教學(xué)工 具,是攻讀本科、研究生學(xué)位必須掌握的技能。在國(guó)內(nèi),這一語(yǔ)言也逐步成為一 些大學(xué)工科專(zhuān)業(yè)學(xué)生的重要課程。 MATLAB 語(yǔ)言相對(duì)于傳統(tǒng)的科技編程語(yǔ)言有諸多的優(yōu)點(diǎn)。主要包括: 1. 易用性 MATLAB 是種解釋型語(yǔ)言,就像各種版本的 BASIC。和 BAS
31、IC 一樣,它 簡(jiǎn)單易用程序可用作便箋簿求打在命令行處表達(dá)式的值 執(zhí)行預(yù)先寫(xiě)好的大型程序。在 MATLAB 集成開(kāi)發(fā)環(huán)境下,程序可以方便的 編寫(xiě),修改和調(diào)試。這是</p><p> 2.3 MATLAB 語(yǔ)言平臺(tái)簡(jiǎn)單介紹</p><p> 任何一個(gè) MATLAB 程序的基本組成單元是數(shù)組。數(shù)組是一組數(shù)據(jù)值的集 合,這些數(shù)據(jù)被編上行號(hào)和列號(hào),擁有唯一的名稱(chēng)。數(shù)組中的單個(gè)數(shù)據(jù)是可以通 過(guò)帶
32、有小括號(hào)的數(shù)組名訪(fǎng)問(wèn), 括號(hào)內(nèi)有這個(gè)數(shù)據(jù)的行標(biāo)和列標(biāo), 中間用逗號(hào)隔開(kāi)。 標(biāo)量也被 MATLAB 當(dāng)作數(shù)組,只不過(guò)只有一行和一列。當(dāng) MATLAB 運(yùn)行時(shí), 有多種類(lèi)型的窗口,有的用于接收命令,有的用于顯示信息。 當(dāng) MATLAB 程序啟動(dòng)時(shí),一個(gè)叫做 MATLAB 桌面的窗口出現(xiàn)了。默認(rèn)的 MATLAB 桌面結(jié)構(gòu)如圖 figure 1.1 所示。</p><p> MATLAB 集成開(kāi)發(fā)環(huán)境下, 在 它集成
33、了管理文件、變量和應(yīng)用程序的許多編程工具。 在 MATLAB 桌面上可以得到和訪(fǎng)問(wèn)的窗口主要有: 命令窗口(The Command Window) 命令歷史窗口(The Command History Window) 啟動(dòng)平臺(tái)(Launch Pad) 編輯調(diào)試窗口(The Edit/Debug Window) 工作臺(tái)窗口和數(shù)組編輯器(Workspace Browser and Array Editor) 幫助空間窗口(Help Brow
34、ser) 當(dāng)前路徑窗口(Current Directory Browser) 知道了上述后就應(yīng)該學(xué)習(xí)程序編譯步驟了,大體如下: 1.進(jìn)入編譯平臺(tái)。在 Windows 上平臺(tái)上雙擊桌面的 MATLAB 圖標(biāo)或者選擇 [開(kāi)始]→[程序]→[MATLAB],均可以進(jìn)入 MATLAB 編輯平臺(tái)。 2.編譯 m 文件或者通過(guò)命令窗口輸入適當(dāng)?shù)暮瘮?shù)命令。 3.若使用圖形用戶(hù)界面編程,則設(shè)計(jì) MATLAB 下可視化程序界面(加入控 件、對(duì)有關(guān)屬性進(jìn)行
35、設(shè)置等)并編制相應(yīng)的 m 文件。4.M 文件有命令文件和函數(shù)文件兩種形式, </p><p> 第 3 章 信號(hào)與系統(tǒng)簡(jiǎn)介 </p><p> 3.1 信號(hào)與系統(tǒng)發(fā)展過(guò)程</p><p> 隨著信息技術(shù)的不斷發(fā)展和信息技術(shù)應(yīng)用領(lǐng)域的不斷擴(kuò)展, 信號(hào)與系統(tǒng)這門(mén) 課程已經(jīng)從電子信息工程類(lèi)專(zhuān)業(yè)的專(zhuān)業(yè)基礎(chǔ)課程擴(kuò)展成電子信息、 測(cè)控技術(shù)、 自 動(dòng)控制、電子技術(shù)、電氣工程
36、、計(jì)算機(jī)技術(shù)、生物醫(yī)學(xué)工程等眾多電類(lèi)專(zhuān)業(yè)的專(zhuān) 業(yè)基礎(chǔ)課程。 信號(hào)與系統(tǒng)是沈陽(yáng)理工大學(xué)電類(lèi)專(zhuān)業(yè)的專(zhuān)業(yè)基礎(chǔ)課和主干課程, 是信息科學(xué) 與工程學(xué)院的七個(gè)專(zhuān)業(yè)的平臺(tái)課程, 多年來(lái)得到學(xué)校的重視和支持。 課程的發(fā)展、 形成過(guò)程經(jīng)歷了如下幾個(gè)階段。 89 年,在“電子儀器與測(cè)量技術(shù)”專(zhuān)業(yè)中首次開(kāi)設(shè)信號(hào)與系統(tǒng)課程。通過(guò) 10 年多的努力, 課程由一個(gè)專(zhuān)業(yè)的一般專(zhuān)業(yè)基礎(chǔ)課升級(jí)為多個(gè)專(zhuān)業(yè)的專(zhuān)業(yè)基礎(chǔ)平臺(tái) 課程。在這十年間,授課教師多次被評(píng)院教學(xué)質(zhì)量?jī)?yōu)秀獎(jiǎng)。
37、 90 年代中期,基于 PC 的計(jì)算機(jī)測(cè)控技術(shù)趨向成熟。我們意識(shí)到新技術(shù)在 實(shí)驗(yàn)教學(xué)中的優(yōu)勢(shì)。開(kāi)發(fā)了基于 PC 的 VB 版的計(jì)算機(jī)實(shí)驗(yàn)教學(xué)系統(tǒng),用以取 代日漸老化的建于 80 年代末期的較少的實(shí)驗(yàn)教學(xué)系統(tǒng),并在學(xué)院等學(xué)校使用。 2002 年,計(jì)算機(jī)多媒體技術(shù)開(kāi)始普及和應(yīng)用,嘗試將計(jì)算機(jī)多媒體技術(shù)應(yīng) 用到本科教學(xué)中,開(kāi)展了基于 PowerPoint 的多媒體教學(xué)法研究,建立了多媒體 電</p><p> 3.2
38、 信號(hào)與系統(tǒng)課程特點(diǎn)及重點(diǎn)內(nèi)容</p><p> 信號(hào)與系統(tǒng)是電子信息類(lèi)本科學(xué)生一門(mén)重要的專(zhuān)業(yè)基礎(chǔ)課、 必修課, 國(guó)內(nèi)許 多高校都將它作為相關(guān)專(zhuān)業(yè)的研究生入學(xué)考試課程。 美國(guó)麻省理工學(xué)院(MIT) 著 名教授 A. V. 奧本海姆在他所著教科書(shū)《Signals and Systems 》的前言中指出: “《信號(hào)與系統(tǒng)》課程不僅是工程教學(xué)中一門(mén)非常基本的課程,而且也成為工科 學(xué)生在大學(xué)教育階段所修課程中最有得益而
39、又引人入勝和最有用處的一門(mén)課”。 該課程一方面以高等數(shù)學(xué)、 工程數(shù)學(xué)及電路分析基礎(chǔ)等課程為基礎(chǔ), 同時(shí)又是相 關(guān)專(zhuān)業(yè)后繼的數(shù)字信號(hào)處理、 通信原理等專(zhuān)業(yè)課程的先修課程, 在教學(xué)環(huán)節(jié)中起 著承上啟下的作用.本課程最大特點(diǎn)是理論性強(qiáng),較為抽象。既有嚴(yán)格的數(shù)學(xué)理 論做支撐,又有現(xiàn)代技術(shù)的實(shí)踐背景。課程中需要掌握的公式、定理和性質(zhì)多; 而且所涉及的數(shù)學(xué)知識(shí)多。 因此, 在學(xué)習(xí)中一定要注意數(shù)學(xué)與物理概念的緊密結(jié) 合,深刻理解公式、定理和性質(zhì)等的物
40、理含義。 在我自身學(xué)習(xí)這門(mén)課程的過(guò)程中,自己能切身體會(huì)到這門(mén)課程難學(xué)的程度。 一個(gè)個(gè)抽象的邏輯函數(shù)表達(dá)式, 一幅幅難以看懂的表格都讓我非常頭疼。 起初學(xué) 習(xí)這些東西時(shí)完全搞不明白這些數(shù)學(xué)公式到底是</p><p> 3.3 信號(hào)與系統(tǒng)涉及內(nèi)容</p><p> 連續(xù)時(shí)間信號(hào)與系統(tǒng)的時(shí)域分析: 這一部分課程內(nèi)容主要包括: 信號(hào)的基本 運(yùn)算與變換、階躍函數(shù)和沖激函數(shù)、線(xiàn)性時(shí)不變連續(xù)系統(tǒng)的響
41、應(yīng)、線(xiàn)性時(shí)不變連 續(xù)系統(tǒng)的響應(yīng)、沖激響應(yīng)與階躍響應(yīng)、用卷積積分法求零狀態(tài)響應(yīng)等。 通過(guò)該 部分的學(xué)習(xí),要求熟悉描述線(xiàn)性時(shí)不變系統(tǒng)的數(shù)學(xué)模型(線(xiàn)性常系數(shù)微分方程) 并掌握其求解方法;重點(diǎn)掌握零輸入響應(yīng),零狀態(tài)響應(yīng)和全響應(yīng)的概念;理解階 躍函數(shù)和沖激函數(shù), 會(huì)計(jì)算沖激響應(yīng)和階躍響應(yīng), 能計(jì)算二個(gè)簡(jiǎn)單函數(shù)的卷積積 分和利用卷積積分計(jì)算零狀態(tài)響應(yīng)。 連續(xù)系統(tǒng)的頻域分析:這一部分課程內(nèi)容主要包括::周期信號(hào)的頻諧、非 周期信號(hào)的頻諧、傅里葉變換的
42、性質(zhì)、連續(xù)系統(tǒng)的頻域分析等。 通過(guò)學(xué)習(xí)這一 部分內(nèi)容我們要掌握如何將連續(xù)信號(hào)分解為不同頻率的正弦信號(hào)之和, 并在頻域 研究連續(xù)信號(hào)激勵(lì)下,如何求系統(tǒng)的響應(yīng)。掌握利用傅里葉級(jí)數(shù)(或變換)將任 意信號(hào)表示為一系列不同頻率的正弦信號(hào)之和。深刻理解信號(hào)頻譜的概念,熟悉 掌握傅里葉變換的性質(zhì)。 學(xué)會(huì)利用疊加原理研究不同頻率的正弦信號(hào)通過(guò)系統(tǒng)求 響應(yīng)。這部分內(nèi)容的重點(diǎn)是掌握周期信號(hào)頻譜的特點(diǎn)和傅里葉變換的性質(zhì)。 離散時(shí)間信號(hào)和離散系統(tǒng)分析: <
43、;/p><p> 第 4 章 MATLAB 在信號(hào)與系統(tǒng)中的應(yīng)用</p><p> 學(xué)過(guò) MATLAB 的人一定都知道這是一款功能十分強(qiáng)大的軟件,用它可以仿 真許多科目的實(shí)驗(yàn),在信號(hào)與系統(tǒng)中也不例外。它既可以給出相應(yīng)信號(hào)函數(shù)的圖 形,也可以描繪出整個(gè)系統(tǒng)的圖形,可以讓你直觀的感受到你所研究的內(nèi)容到底 是些什么,一些參數(shù)的變化到底會(huì)引起怎樣的影響,這些對(duì)于這門(mén)課的學(xué)習(xí)來(lái)說(shuō) 將會(huì)有很大幫助。&
44、lt;/p><p> 4.1 MATLAB 中信號(hào)表示及可視化</p><p> 通常只需將自己研究信號(hào)的函數(shù)以.M 語(yǔ)言表示出來(lái),通過(guò)畫(huà)圖程序即可直 觀的看到你所研究的信號(hào),具體過(guò)程如下:打開(kāi) MATLAB;點(diǎn)擊 new,在點(diǎn)擊 M-File 即可新建一個(gè)編寫(xiě)程序的界面,如圖 4-1 所示:</p><p> 圖 4-1 m 文件創(chuàng)建界面</p>
45、<p> 具體舉例如下: 1.階躍信號(hào),符號(hào)函數(shù),沖擊函數(shù),斜變函數(shù) 程序如下: </p><p><b> clear; </b></p><p><b> clc; </b></p><p> t=-4:0.01:4;</p><p> t1=0:0.01:4; t0=0;&
46、lt;/p><p> f1=(t>0); %單位階躍信號(hào) </p><p> f2=sign(t); %符號(hào)函數(shù)</p><p> n=length(t); f3=zeros(1,n); f3(1,(-t0+4)/0.01+1)=1; %單位沖激函數(shù)</p><p> f4=t1; %單位斜變函數(shù) </p><p
47、> subplot(2,2,1);stairs(t,f1);axis([-4,4,-1.1,1.1]);title('單位階躍信號(hào)');xlabel('t');ylabel('u(t)'); subplot(2,2,2);plot(t,f2);axis([-4,4,-1.1,1.1]);title('符號(hào)函數(shù)');xlabel('t');ylabel
48、('sign(t)'); subplot(2,2,3);plot(t,f3);axis([-4,4,-1.1,1.1]);title('單位沖激函數(shù)');xlabel('t');ylabel('cj(t)'); subplot(2,2,4);plot(t1,f4);axis([0,4,0,4]);title('單位斜變信號(hào)');xlabel('t
49、39;);ylabel('f(t)'); </p><p> 運(yùn)行結(jié)果如圖 4-2 所示:</p><p> 圖 4-2 簡(jiǎn)易信號(hào)</p><p><b> 2.取樣函數(shù) </b></p><p><b> 程序如下:</b></p><p> t=
50、-10:0.01:10; % 定義時(shí)間范圍向量 t</p><p> f=sinc(t); % 計(jì)算 sinc(t)函數(shù)</p><p> plot(t,f); % 繪制 sinc(t)的波形 </p><p> 運(yùn)行結(jié)果如圖 4-3:</p><p> 圖 4-3 取樣函數(shù)</p><p> 4.2 MAT
51、LAB 在信號(hào)與系統(tǒng)分析中的應(yīng)用</p><p> 4.2.1 MATLAB 在時(shí)域、頻域、S 域、Z 域里的應(yīng)用舉例 </p><p> 一.MATLAB 在各域的基本知識(shí) 1.連續(xù)系統(tǒng)的時(shí)域分析 (1) 微分方程的經(jīng)典解法:齊次解+特解(代入初始條件求系數(shù)) 0—~0+初值(由初始狀態(tài)求初始條件) :全響應(yīng)=零輸入響應(yīng)+零狀態(tài)響應(yīng); 注意應(yīng)用 LTI 系統(tǒng)零狀態(tài)響應(yīng)的微積特性 (2
52、)沖激響應(yīng) h(t ) 定義,求解(經(jīng)典法) ,注意應(yīng)用 LTI 系統(tǒng)零狀態(tài)響應(yīng)的微積分特性 階躍響應(yīng) g (t ) 與 h(t ) 的關(guān)系 (3)卷積積分 定義: 激勵(lì) f (t ) 、 零狀態(tài)響應(yīng) y f (t ) 、 沖激響應(yīng) h(t ) 之間關(guān)系 y f (t ) = f (t ) ? h(t ) 2.離散系統(tǒng)的時(shí)域分析 (1)離散系統(tǒng)的響應(yīng) 差分方程的迭代法求解 差分方程的經(jīng)典法求解:齊次解+特解(代入初始條件求系數(shù))全響應(yīng)=
53、零輸入響應(yīng)+ 零狀態(tài)響應(yīng) (2)單位序列響應(yīng) h(k ) δ (k ) 的定義, h(k ) 的定義,求解(經(jīng)典法) ;若方程右側(cè)是激勵(lì)及其移位序列時(shí),注意應(yīng)用線(xiàn)性時(shí)不變性質(zhì)求解 階躍響應(yīng) g (k ) 與 h(k ) 的關(guān)系 (3)卷積和 定義: 激勵(lì) f (t ) 、 零狀態(tài)響應(yīng) y f (t ) 、 沖激</p><p> 1. 信號(hào)相加: f (t ) = cos 18πt + cos 20πt <
54、;/p><p><b> 程序如下:</b></p><p> syms t; % 定義符號(hào)變量 </p><p> t f=cos(18*pi*t)+cos(20*pi*t); % 計(jì)算符號(hào)函數(shù) </p><p> f(t)=cos(18*pi*t)+cos(20*pi*t) ezplot(f,[0 pi]); %
55、 繪制 f(t)的波形 </p><p> 運(yùn)行結(jié)果如圖 4-4 所示:</p><p> 圖 4-4 信號(hào)相加結(jié)果</p><p> 2. 信號(hào)相乘: f (t ) = sin c(t ) ? cos(20πt ) </p><p><b> 程序如下:</b></p><p> t=
56、-5:0.01:5; % 定義時(shí)間范圍向量</p><p> f=sinc(t).*cos(20*pi*t); plot(t,f); % 計(jì)算函數(shù)</p><p> title('sinc(t)*cos(20*pi*t)'); % 繪制 f(t)的波形</p><p> f(t)=sinc(t)*cos(20*pi*t) % 加注波形標(biāo)題 &l
57、t;/p><p> 運(yùn)行結(jié)果如圖 4-5 所示。</p><p> 圖 4-5 信號(hào)相乘結(jié)果</p><p> 3. 求 卷 積 和 : 若 f (n) = 0.8 n ?5 ε (n ? 5) , 到 n = 30 , h(n) = R10 (n) , 求 y ( n) = f ( n ) * h( n ) </p><p><b&
58、gt; 程序如下: </b></p><p> nf=5:30;Nf=length(nf); % 確定 f(n)的序號(hào)向量和區(qū)間長(zhǎng)度</p><p> f=0.8.^(nf-5); % 確定 f(n)序列值</p><p> nh=0:9; Nh=length(nh); % 確定 h(n)的序號(hào)向量和區(qū)間長(zhǎng)度</p><p&
59、gt; h=ones(1,Nh); % 確定 h(n)序列值</p><p> left=nf(1)+nh(1); % 確定卷積序列的起點(diǎn)</p><p> right=nf(Nf)+nh(Nh); % 確定卷積序列的終點(diǎn)</p><p> y=conv(f,h); % 計(jì)算 f(n)和 x(n)的卷積</p><p> subpl
60、ot(3,1,1),stem(nf,f,'filled'); % 繪制 f(n)的圖形</p><p> axis([0 40 0 1]); </p><p> subplot(3,1,2),stem(nh,h,'filled'); % 繪制 x(n)的圖形</p><p> axis([0 40 0 1.1]); </p
61、><p> subplot(3,1,3),stem(left:right,y,'filled'); % 繪制 y(n)的圖形</p><p> axis([0 40 0 5]);</p><p> 運(yùn)行結(jié)果如圖 4-6 所示。</p><p><b> 圖 4-6 卷積和</b></p>
62、<p> 4. 求 z 變換 f (n) = cos n? </p><p><b> 程序如下: </b></p><p> syms n z OMEGA % 定義符號(hào)變量 </p><p> fn=cos(n*OMEGA); % 定義 </p><p> f(n) fz=ztrans(fn,n,
63、z) % 對(duì) f(n)進(jìn)行 z 變換 </p><p><b> 運(yùn)行結(jié)果如下: </b></p><p> fz =(z-cos(OMEGA))*z/(z^2-2*z*cos(OMEGA)+1)</p><p> 5.設(shè)方程 y '' (t ) + 5 y ' (t ) + 6 y (t ) = 2e ? t ε
64、 (t ) ,試求零狀態(tài)響應(yīng) y (t ) </p><p><b> 程序如下: </b></p><p> yzs=dsolve('D2y+5*Dy+6*y=2*exp(-t)','y(0)=0,Dy(0)=0')</p><p> ezplot(yzs,[0 8]);</p><p
65、> 運(yùn)行結(jié)果如圖 4-7 所示。</p><p> 圖 4-7 零狀態(tài)響應(yīng)</p><p> 6. 已知差分方程 y (n) ? y (n ? 1) + 0.8 y (n ? 2) = f (n) ① 當(dāng) f (n) = 0.5 n ε (n) 時(shí),求零狀態(tài)響應(yīng) y (n) ; ② 當(dāng) f (n) = δ (n) 時(shí),求單位響應(yīng) h(n)</p><p>
66、;<b> 程序如下: </b></p><p> b=[1];a=[1 -1 0.8]; % 差分方程的系數(shù)</p><p> n=0:15; % 序列的個(gè)數(shù) fn=0.5.^n; % 輸入序列 </p><p> y1=filter(b,a,fn); % 零狀態(tài)響應(yīng) y2=impz(b,a,16); % 單位響應(yīng) subplot(1
67、,2,1),stem(n,y1,'filled');title('零狀態(tài)響應(yīng)');grid on subplot(1,2,2),stem(n,y2,'filled');title('單位響應(yīng)');grid on </p><p> 運(yùn)行結(jié)果如圖 4-8 所示。</p><p> 圖 4-8 差分方程相應(yīng)響應(yīng)</p&g
68、t;<p> 7. 部分分式展開(kāi): F ( s ) = </p><p><b> 程序如下: </b></p><p> b=[2 1]; a=[1 2 5 0];</p><p> [r p k]=residue(b,a) 2s + 1 s + 2 s 2 + 5s 3</p><p><
69、b> 運(yùn)行結(jié)果如下:</b></p><p> r= -0.1000 - 0.4500i -0.1000 + 0.4500i 0.2000 </p><p> p= -1.0000 + 2.0000i -1.0000 - 2.0000i 0 </p><p><b> k = [] </b></p>&l
70、t;p> 4.2.2 MATLAB 在信號(hào)調(diào)制、濾波及求解中的應(yīng)用 </p><p> 由于信號(hào)與系統(tǒng)比較復(fù)雜,因此對(duì)于許多問(wèn)題的求解都非常困難,然而 MATLAB 將會(huì)對(duì)問(wèn)題的解答帶來(lái)很大的方便,下面會(huì)以具體事例給出展示。 </p><p> 信號(hào)的調(diào)制: f (t ) = (2 + 2 sin 4πt ) cos 50πt </p><p><
71、b> 程序如下: </b></p><p> syms t; % 定義符號(hào)變量</p><p> t f=(2+2*sin(4*pi*t))*cos(50*pi*t) % 計(jì)算符號(hào)函數(shù) </p><p> f(t)=(2+2*sin(4*pi*t))*cos(50*pi*t) </p><p> ezplot(f,
72、[0 pi]); % 繪制 f(t)的波形 </p><p> 運(yùn)行結(jié)果如圖 4-9。 </p><p> 圖 4-9 信號(hào)調(diào)制波形</p><p> 2. 如圖 4-10 所示周期矩形脈沖,試求其幅度譜 </p><p> 圖 4-10 周期矩形脈沖 程序如下: clear all syms t n T tao A T=4;A=1;
73、tao=1; f=A*exp(-j*n*2*pi/T*t); fn=int(f,t,-tao/2,tao/2)/T; fn=simple(fn); n=[-20:-1,eps,1:20]; fn=subs(fn,n,'n'); subplot(2,1,1),stem(n,fn,'filled'); line([-20 20],[0 0]); title('周期矩形脈沖的頻譜'); subp
74、lot(2,1,2),stem(n,abs(fn),'filled'); title('周期矩形脈沖的幅度譜'); axis([-20 20 0 0.3]); % 計(jì)算傅立葉系數(shù) % 化簡(jiǎn) % 給定頻譜的整數(shù)自變量,eps 代表 0 % 計(jì)算傅立葉系數(shù)對(duì)應(yīng)各個(gè) n 的值 % 繪制頻譜 % 在圖形中添加坐標(biāo)線(xiàn) % 繪制頻譜運(yùn)行結(jié)果如圖 4-11 所示。 </p><p> 圖 4-
75、11 周期矩形脈沖頻譜與幅度譜 3. 二階低通濾波器特性為: H (ω ) = 1 ?ω ? 1?ω 1? ? ? + j ? ?ω ? Q ? ω0 ? 0? ? 2 ? ? ? ? 即: H (ω ) = 1 ? ? ω ?? ? 1 ω ?1 ? ? ?? + ? ? ? ? ? ? ω 0 ?? ? Q ω 0 2 ? ? ? ? 2 ? 1 ω ? ? ? ? Qω ? 0 和 ? (ω ) = ? arctan ? ? 2
76、? ?ω ? ? ?1? ? ? ? ? ? ? ? ω0 ? ? 令Q = 1 2 和 1 時(shí),分別求幅頻特性和相頻特性 程序如下: Q=input('輸入 Q='); normalizedw=linspace(0.1,10,100); H=1./(1-normalizedw.^2+j*normalizedw/Q); subplot(1,2,1),plot(normalizedw,abs(H)); title('
77、;幅頻特性曲線(xiàn)');grid subplot(1,2,2),plot(normalizedw,angle(H)); title('相頻特</p><p> 圖 4-12 4. 零極點(diǎn)分析: H ( s ) = 2 低通濾波器特性曲線(xiàn) s+2 ,求零極點(diǎn)并畫(huà)出零極點(diǎn)圖,并求階躍響應(yīng) s (t ) s + 4s + 5 和沖擊響應(yīng) h(t ) 程序如下: b=[1 2]; a=[1 4 5]; sy
78、s=tf(b,a); subplot(1,3,1),pzmap(sys); subplot(1,3,2),step(b,a); subplot(1,3,3),impulse(b,a); % 系統(tǒng)函數(shù)分子多項(xiàng)式系數(shù) % 系統(tǒng)函數(shù)分母多項(xiàng)式系數(shù) % 傳遞函數(shù) H(s) % 繪制零極點(diǎn)圖 % 階躍響應(yīng) s(t) % 沖激響應(yīng) h(t) 運(yùn)行結(jié)果如圖 4-13 所示。</p><p> 圖 4-13 零極點(diǎn)與相關(guān)響應(yīng)圖
79、5. 一簡(jiǎn)單的帶阻二階系統(tǒng)如圖 4-14 所示, 已知 R = 50? , = 470 pF ,L = 50 ?H C 50 + R + L u1 50uH C 470pF _ _ u2</p><p> 圖 4-14 帶阻二階系統(tǒng) a. 畫(huà)出零極點(diǎn)圖 b. 畫(huà)出幅頻特性和相頻特性(對(duì)數(shù)) 其中: R = 50? , C = 470 pF , L = 50 ?H 1 jωC 系統(tǒng)函數(shù): H (ω ) = 1 R
80、 + jω L + jωC jωL + (中心頻率 f 0 ≈ 1MHZ ) 即: H (ω ) = ωL ? 2 1 ωC 2 1 ? ? R + ? ωL ? ? ωC ? ? ? ? π R 和 ? (ω ) = ? arctan? 1 2 ? ? ωL ? ωC ? ? ? ? ? ? ? 程序如下: R=50; L=50*(10^-6); C=470*(10^-12); b=[L*C 0 1]; a=[L*C R*C 1];
81、sys=tf(b,a); subplot(1,2,1),pzmap(sys); subplot(1,2,2),bode(b,a); % 電阻 R=50 % 電感 L=50uH % 電容 C=470pF % 分母多項(xiàng)式系數(shù) % 分子多項(xiàng)式系數(shù) % 傳遞函數(shù) H(s) % 繪制零極點(diǎn)圖 % 繪制對(duì)數(shù)幅頻特性和對(duì)數(shù)相頻特性曲線(xiàn) 運(yùn)行結(jié)果如圖 4-15 所示</p><p> 圖 4-15 電路圖相關(guān)解答 6. 某導(dǎo)彈
82、自動(dòng)跟蹤系統(tǒng)框圖如圖 4-16 所示, ∑ </p><p> 圖 4-16 導(dǎo)彈自動(dòng)跟蹤系統(tǒng) 其系統(tǒng)函數(shù): 34.5s 2 + 119.7 s + 98.1 H ( s) = 3 s + 35.714 s 2 + 119.741s + 98.1 試求其階躍響應(yīng) s (t ) 程序如下: b=[34.5 119.7 98.1]; a=[1 35.714 119.741 98.1]; step(b,a); % 系
83、統(tǒng)函數(shù)分母多項(xiàng)式系數(shù) % 系統(tǒng)函數(shù)分子多項(xiàng)式系數(shù) % 階躍響應(yīng) s(t) 運(yùn)行結(jié)果如下圖 4-17 所示。</p><p> 圖 4-17 階躍響應(yīng) 小結(jié):以上分別包含了時(shí)域,頻域,離散域,復(fù)頻域里信號(hào)與系統(tǒng)的例子, 從里面可以充分的體會(huì)到 MATLAB 這款軟件功能十分強(qiáng)大,用它來(lái)對(duì)信號(hào)與系 統(tǒng)進(jìn)行仿真也極其方便簡(jiǎn)單,讓我們對(duì)這門(mén)課的理解也變得簡(jiǎn)單了許多。</p><p> 第 5
84、章 GUI 界面的創(chuàng)建與應(yīng)用</p><p> 5.1 GUI 界面創(chuàng)建的基本知識(shí)</p><p> 圖形用戶(hù)界面,簡(jiǎn)稱(chēng) GUI,是英文 Graphic User Interface 的縮寫(xiě)。其創(chuàng)建 方法是:使用菜單[File].[New].[GUI]或者在命令窗口使用命令 guide,彈出如下 圖所示的對(duì)話(huà)框,在該對(duì)話(huà)框內(nèi)可以創(chuàng)建圖形用戶(hù)界面或者通過(guò)[Browse]打開(kāi)一 個(gè)已有用戶(hù)
85、界面。在創(chuàng)建新的圖形用戶(hù)界面時(shí),可以進(jìn)行適當(dāng)?shù)脑O(shè)置,圖 5-1 中 的 Blank (默認(rèn)) GUI with Unicontrols, , GUI with Axes and Menu, Modal Question Dialog 分別為圖形用戶(hù)界面的默認(rèn)設(shè)置、含有控件、含有坐標(biāo)系、含有問(wèn)題對(duì) 話(huà)框。在選擇了一個(gè)已有圖形界面或設(shè)置完成后。單擊[OK],將得到已有界面 或者新界面。 方法一:通過(guò).M 文件設(shè)置按鈕創(chuàng)建 GUI 界面 在
86、Command Window 命令窗口中輸入 guide 按回車(chē)鍵出現(xiàn)圖 5-1 所示。 </p><p> 圖 5-1 gui 創(chuàng)建 點(diǎn)擊 OK 出現(xiàn)圖 5-2 所示。 </p><p> 圖 5-2 gui 創(chuàng)建界面 在上圖界面中可以對(duì)所需的 GUI 界面進(jìn)行設(shè)計(jì), 設(shè)計(jì)完成后點(diǎn) GUI 界面的創(chuàng)建。 方法二:通過(guò)編程用語(yǔ)句實(shí)現(xiàn) GUI 界面的設(shè)計(jì) 即可完成 MATLAB 編寫(xiě)
87、GUI 程序也很方便,關(guān)鍵是需要之前準(zhǔn)備好界面位置參數(shù)。 其原則盡量滿(mǎn)足簡(jiǎn)單性,一致性和友好性。其具體步驟有 分析界面所要求實(shí)現(xiàn) 的主要功能,明確設(shè)計(jì)任務(wù)。例如,單擊某一按鈕則運(yùn)行相應(yīng)的模塊,或是將輸 入欄的參數(shù)傳遞給相應(yīng)的功能模塊。 在 MATLAB 中編寫(xiě) GUI 程序主要涉及到的命令如下所示: Figure 用以創(chuàng)建標(biāo)準(zhǔn)菜單的圖形窗 Set(gcf,’menubar’,’none’); 用以隱藏圖形窗口的標(biāo)準(zhǔn)菜單 Set(gcf,
88、’menubar’,’figure’) 用以恢復(fù)圖形窗口的標(biāo)準(zhǔn)菜單 Hm=uimenu(H_parent,’PropertyName’,PropertyValue,…) Hc=uicontrol(H_parent,’PN’,PV…) 控件制作函數(shù) 用戶(hù)控件類(lèi)包括 pushbutton,radiobutton 等 除過(guò)以上一些簡(jiǎn)單的命令外還有許多創(chuàng)建 GUI 界面常</p><p> 5.2 GUI 界面在信號(hào)與
89、系統(tǒng)中的應(yīng)用</p><p> 從前面的章節(jié)里我們知道了 MATLAB 的基本知識(shí)以及它在信號(hào)與系統(tǒng)中的 應(yīng)用,可以看到它使這門(mén)課程的學(xué)習(xí)變得簡(jiǎn)單了不少,可是還說(shuō)不上方便。如果 僅僅是那樣的話(huà)每次只能仿真一個(gè)實(shí)驗(yàn),并且每次都得重新寫(xiě)入程序運(yùn)行,那有 沒(méi)有更好的方法呢。GUI 界面讓這個(gè)問(wèn)題迎刃而解。 GUI 常用創(chuàng)建方法舉例如下: 1. 用編程的方法用語(yǔ)句來(lái)實(shí)現(xiàn) GUI 界面的創(chuàng)建,如下例所示: 程序如下: B
90、uttonName=questdlg('What is your wish?', ... 'Genie Question', ... 'Food','Clothing','Money','Money'); switch ButtonName, case 'Food', disp('Food is delivered
91、39;); case 'Clothing', disp('The Emperor''s new clothes have arrived.') case 'Money', disp('A ton of money falls out the sky.'); end % switch 運(yùn)行結(jié)果如圖 5-3 </p><p> 圖 5-
92、3 程序創(chuàng)建的 gui 界面 2. 以.M 文件來(lái)創(chuàng)建 GUI 界面 創(chuàng)建過(guò)程如下: 先打開(kāi) GUI 創(chuàng)建界面,更具功能選擇所需的按鈕,對(duì)按鈕的屬性進(jìn)行設(shè)置, 完成創(chuàng)建保存進(jìn)行仿真。具體舉例如下: 打開(kāi)創(chuàng)建 GUI 界面的文本窗口,進(jìn)行如圖 5-4 所示按鈕設(shè)置界面。</p><p> 圖 5-4 按鈕創(chuàng)建圖 運(yùn)行結(jié)果如圖 5-5 所示。 </p><p> 圖 5-5 按鈕運(yùn)行圖 按
93、波形按鈕結(jié)果如圖 5-6 所示。</p><p> 圖 5-6 波形按鈕運(yùn)行圖 按分析按鈕結(jié)果如圖 5-7 所示。 </p><p> 圖 5-7 分析按鈕運(yùn)行圖 按圖分析按鈕結(jié)果如圖 5-8。</p><p> 圖 5-8 圖分析按鈕運(yùn)行圖 小結(jié): 通過(guò)以上的具體事例我們可以看到在信號(hào)與系統(tǒng)的處理過(guò)程中如果我 們可以應(yīng)用 MATLAB 中 GUI 工具,我們
94、可以省去許多工作,只需將所用的圖形程 序做成一個(gè) GUI 操作界面,等下次用時(shí)只需鼠標(biāo)一點(diǎn)就可以得到想要的東西,這 大大減少了我們的工作量。 </p><p> 5.3 信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)設(shè)計(jì)</p><p> 本實(shí)驗(yàn)系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)由兩部分組成: 界面模塊設(shè)計(jì)和菜單模塊設(shè)計(jì)。 其 中, 界面模塊總共包括八個(gè)模塊: 開(kāi)始引導(dǎo)模塊、主模塊、序列基本計(jì)算模塊、 基本信號(hào)的產(chǎn)生模塊、 卷積模
95、塊、 傅里葉變換模塊、 濾波器設(shè)計(jì)模塊和說(shuō)明模塊。 一個(gè)實(shí)驗(yàn)界面模塊下面又有下一級(jí)實(shí)驗(yàn)界面模塊, 如濾波器設(shè)計(jì)模塊下面還有 FIR 濾波器設(shè)計(jì)模塊和 IIR 濾波器設(shè)計(jì)模塊, 其中 FIR 濾波器模塊又包含 FIR 濾波器線(xiàn)性的判斷實(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í),
96、在實(shí)驗(yàn)子界面中 除使用系統(tǒng)約定的菜單條外, 還增加了幾個(gè)控制背景和退出實(shí)驗(yàn)的菜單。 系統(tǒng)的 整體結(jié)構(gòu)如圖 5-9 所示。</p><p> 圖 5-9 系統(tǒng)方框圖 設(shè)計(jì)的具體步驟如下: 1) 運(yùn)用 Matlab 的圖形用戶(hù)界面(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 的圖形用戶(hù)界面(GUI)設(shè)計(jì)方法, 設(shè)計(jì)系統(tǒng)的說(shuō)明界
97、面及其 各個(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)主 界面中, 即通過(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)入主界面。 系統(tǒng)歡迎界面如圖
98、5-10 所示。 </p><p> 圖 5-10 歡迎界面1.序列基本計(jì)算模塊 序列基本計(jì)算模塊界面如圖 5-11 所示。 </p><p> 圖 5-11 序列基本計(jì)算模塊界面 由圖 5-11 可以看出在這個(gè)模塊里包括了單位脈沖序列、單位階躍序列、指 數(shù)序列一共三個(gè)序列,并且還給出了序列卷積這個(gè)運(yùn)算。下面來(lái)主要介紹這單位 階躍序列和指數(shù)序列及其設(shè)計(jì)方法。 單位階躍序列 單位階躍序列
99、的公式 ?1 u (n ) = ? ?0 (n ≥ 0) ( n < 0) (5-1) 類(lèi)似于連續(xù)時(shí)間系統(tǒng)中的單位階躍信號(hào) u (t ) ,但應(yīng)注意 u (t ) 在 t = 0 點(diǎn)發(fā)生跳 變,往往不予定義(或定義為 1 ) ,而 u (t ) 在 n =0 點(diǎn)明確規(guī)定為 u (0) = 1 。在該子 2 界面的單位階躍序列那欄里輸入位移量 3 如圖 5-12 所示。 </p><p> 圖 5-12 單
100、位階躍變量輸入框 然后點(diǎn)擊“單位階躍序列”按鈕,即出現(xiàn)如圖 5-13 所示的波形。</p><p> 圖 5-13 位移量為 3 的單位階躍序列 單位階躍序列關(guān)鍵程序: function pushbutton2_Callback(hObject, eventdata, handles) t=str2num(get(handles.edit2,'String')); k=[t-3:t+7]; fk
101、=[(k-t)>=0]; stem(k,fk) title('單位階躍序列') 指數(shù)序列 指數(shù)序列是公式是 x(n ) = a n u (n ) (5-2) 當(dāng) a >1 時(shí)序列是發(fā)散的, a <1 時(shí)序列收斂,a >0 序列都取正值, a <0 序列 在正負(fù)擺動(dòng)。此外還有 a ? n u (n ) 的序列。 在該子界面的指數(shù)序列那欄里輸入底數(shù) 2 如圖 5-14 所示。 </p>
102、;<p> 圖 5-14 指數(shù)序列變量輸入框 然后點(diǎn)擊“指數(shù)序列”按鈕,出現(xiàn)如圖 5-15 波形。</p><p> 圖 5-15 底數(shù)為 2 時(shí)的指數(shù)序列 指數(shù)序列模塊關(guān)鍵程序: function pushbutton3_Callback(hObject, eventdata, handles) t=str2num(get(handles.edit3,'String')); k
103、=[0:10]; fk=t.^k; stem(k,fk) title('指數(shù)序列') 序列卷積 在該欄里若輸入 5,即卷積幅度是 5,則出現(xiàn)圖 5-16 波形。 </p><p> 圖 5-16 卷積幅度為 5 時(shí)的波形 序列卷積模塊關(guān)鍵程序: function pushbutton4_Callback(hObject, eventdata, handles) t=str2num(get(han
104、dles.edit6,'String')); k1=-1:3; k2=-1:3; f1=[0 1 3 2 0 ]; f2=[0 4 3 2 1 ]; y=t*conv(f1,f2); k0=k1(1)+k2(2); k3=length(f1)+length(f2)-2; k=k0:k0+k3; stem(k,y) title('卷積序列') 2.基本信號(hào)產(chǎn)生模塊 基本信號(hào)產(chǎn)生模塊的窗體創(chuàng)建 啟動(dòng) matl
105、ab7.0,在命令窗口輸入 guide,打開(kāi) GUI 制作窗口,在窗體上有界 面制作工具。 在 pushbutton 下單擊右鍵 callback,打開(kāi) callback function,調(diào)用 MATLAB 內(nèi)部提供的函數(shù),square 函數(shù), sawtooth 函數(shù), sinc 函數(shù), diric 函數(shù), rectpuls 函數(shù), tripuls 函數(shù) ,pulstra</p><p> 圖 5-17 基本
106、信號(hào)產(chǎn)生模塊子界面 在子界面中可以實(shí)現(xiàn)正弦信號(hào)、 指數(shù)信號(hào)、 符號(hào)函數(shù)、 單位沖激、 單位階躍、 抽樣信號(hào)、矩形脈沖、三角脈沖等八類(lèi)波形,在這個(gè)子界面的右邊有參數(shù)設(shè)置, 可以輸入角度、相位等參數(shù),參數(shù)變化時(shí),波形會(huì)有相應(yīng)的變化。 3.卷積模塊 A.卷積定義對(duì)于任意兩個(gè)信號(hào) f 1 (t ) 和 f 2 (t ) ,兩者做卷積運(yùn)算定義為 f (t ) = ∫ f 1 (τ ) f 2 (t ? τ )dτ ?∞ ∞ (5-7) 做一變量代
107、換不難證明 f (t ) = ∫ f 2 (τ ) f 1 (t ? τ )dτ = f 1 (t ) * f 2 (t ) = f 2 (t ) * f 1 (t ) (5-8) ?∞ ∞ 式中 f 1 (t ) * f 2 (t ) 是兩函數(shù)作卷積運(yùn)算的簡(jiǎn)寫(xiě)符號(hào),也可以寫(xiě)成 f 1 (t ) ? f 2 (t ) 。 這里的積分取 ? ∞ 和 ∞ ,這是由于對(duì) f 1 (t ) 和 f 2 (t ) 的作用時(shí)間范圍沒(méi)有加以限制。 實(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- dtmf信號(hào)系統(tǒng)的matlab仿真畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于matlab的qpsk系統(tǒng)仿真設(shè)計(jì)與實(shí)現(xiàn)
- matlab課程設(shè)計(jì)---利用matlab仿真軟件進(jìn)行繪圖
- 畢業(yè)設(shè)計(jì)--利用matlab實(shí)現(xiàn)qpsk調(diào)制及解調(diào)
- 畢業(yè)設(shè)計(jì)---分段卷積matlab仿真與dsp實(shí)現(xiàn)
- 利用matlab實(shí)現(xiàn)連續(xù)信號(hào)的采樣與重構(gòu)仿真課程設(shè)計(jì)
- 利用matlab實(shí)現(xiàn)連續(xù)信號(hào)的采樣與重構(gòu)仿真課程設(shè)計(jì)
- 利用matlab實(shí)現(xiàn)連續(xù)信號(hào)的采樣與重構(gòu)仿真課程設(shè)計(jì)
- 電流保護(hù)matlab仿真畢業(yè)設(shè)計(jì)
- 溫室多點(diǎn)溫度采集系統(tǒng)設(shè)計(jì)--軟件設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 控制系統(tǒng)測(cè)試仿真軟件設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)---逆變并網(wǎng)模擬系統(tǒng)軟件設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---活期存款軟件設(shè)計(jì)
- 衛(wèi)星故障仿真軟件設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于android平臺(tái)的聊天軟件設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文
- 機(jī)車(chē)信號(hào)檢測(cè)系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)---基matlab的人臉識(shí)別系統(tǒng)設(shè)計(jì)與仿真
- 畢業(yè)設(shè)計(jì)(論文)-基于matlab的液壓系統(tǒng)的設(shè)計(jì)與仿真
- 頁(yè)巖氣發(fā)氣量測(cè)定系統(tǒng)軟件設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于matlab的數(shù)字基帶通信系統(tǒng)仿真畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論