2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘要</b></p><p>  隨著信息技術(shù)的不斷發(fā)展,數(shù)字信號(hào)處理已成為一個(gè)極其重要的學(xué)科和技術(shù)領(lǐng)域,在通信、語(yǔ)音、圖像、遙感、生物工程等眾多領(lǐng)域得到了廣泛的應(yīng)用。數(shù)字信號(hào)處理的核心內(nèi)容主要是信號(hào)的獲取、傳輸和處理、識(shí)別及綜合等。信號(hào)是信息的載體,系統(tǒng)是信息處理的手段。因此,為了更好的研究信號(hào)和系統(tǒng)的基本理論與方法,使同學(xué)們更好地理解和掌握數(shù)字信號(hào)處理的理論

2、知識(shí),在實(shí)驗(yàn)過(guò)程中,借助MATLAB這個(gè)平臺(tái)來(lái)進(jìn)行輔助設(shè)計(jì)。</p><p>  MATLAB是用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境。作為強(qiáng)大的科學(xué)計(jì)算平臺(tái),它幾乎滿足所有的計(jì)算要求。隨著對(duì)仿真和程序設(shè)計(jì)通用性及可視化需求的日益增加,MATLAB著重改善了圖形用戶界面的制作,極大地滿足了用戶的需求。 </p><p>  MATLAB的GUID是專門

3、用于圖形用戶界面的快速開發(fā)環(huán)境,本設(shè)計(jì)利用MATLAB的GUIDE工具箱制作了一套輔助“數(shù)字信號(hào)處理”課程教學(xué)的實(shí)驗(yàn)軟件包。該實(shí)驗(yàn)軟件包是由一系列形象的圖形用戶界面組成,每個(gè)界面以坐標(biāo)窗口、彈出框、按鍵、動(dòng)態(tài)文本框等為基本部分,構(gòu)建了較為完善和友好的人機(jī)交互方式,使用便捷。</p><p>  關(guān)鍵詞 數(shù)字信號(hào)處理;GUI;教學(xué)實(shí)驗(yàn);離散傅里葉變換;數(shù)字濾波器</p><p><b

4、>  目 錄</b></p><p><b>  摘要1</b></p><p><b>  第1章 3</b></p><p>  1.1設(shè)計(jì)內(nèi)容與要求 3</p><p>  1.2 MATLAB GUI的簡(jiǎn)介與特點(diǎn)4</p><p> 

5、 第2章 基本理論4</p><p>  2.1 離散時(shí)間信號(hào)和離散時(shí)間系統(tǒng)4</p><p>  2.2 離散傅里葉變換及其快速算法5</p><p>  2.3 數(shù)字濾波器的原理和設(shè)計(jì)6</p><p>  2.4 雙音多頻信號(hào)檢測(cè)和語(yǔ)音濾波7</p><p>  第3章 系統(tǒng)GUI界面設(shè)計(jì)與實(shí)現(xiàn)8&l

6、t;/p><p><b>  3.1 概述8</b></p><p>  3.1.1創(chuàng)建GUI8</p><p>  3.1.2 寫回調(diào)函數(shù) CallBack10</p><p>  3.1.3 句柄圖形之間的層次關(guān)系11</p><p>  3.1.4 獲取與設(shè)置對(duì)象屬性11</p&

7、gt;<p>  3.2 用戶登錄界面的設(shè)計(jì)與實(shí)現(xiàn)11</p><p>  3.3 離散時(shí)間信號(hào)與離散時(shí)間系統(tǒng)的GUI界面的設(shè)計(jì)與實(shí)現(xiàn)13</p><p>  3.3.1 離散時(shí)間信號(hào)的設(shè)計(jì)與實(shí)現(xiàn)14</p><p>  3.3.2 線性卷積的設(shè)計(jì)與實(shí)現(xiàn)16</p><p>  3.3.3 離散時(shí)間系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)17

8、</p><p>  3.3.4 離散時(shí)間信號(hào)傅里葉變換及系統(tǒng)頻率響應(yīng)的設(shè)計(jì)與實(shí)現(xiàn)19</p><p>  3.3.5 信號(hào)取樣的設(shè)計(jì)與實(shí)現(xiàn)21</p><p>  3.3.6 Z的正反變換及系統(tǒng)函數(shù)的設(shè)計(jì)與實(shí)現(xiàn)23</p><p>  3.4 離散傅里葉變換及其快速算法的GUI界面的設(shè)計(jì)與實(shí)現(xiàn)24</p><p&

9、gt;  3.4.1 離散傅里葉級(jí)數(shù)(DFS)的設(shè)計(jì)與實(shí)現(xiàn)24</p><p>  3.4.2 離散傅里葉變換(DFT)的設(shè)計(jì)與實(shí)現(xiàn)26</p><p>  3.4.3 循環(huán)卷積的設(shè)計(jì)與實(shí)現(xiàn)28</p><p>  3.4.4 快速傅里葉變換(FFT)30</p><p>  3.4.5 信號(hào)譜分析的設(shè)計(jì)與實(shí)現(xiàn)31</p>

10、;<p>  3.5 數(shù)字濾波器的GUI界面的設(shè)計(jì)與實(shí)現(xiàn)32</p><p>  3.5.1 巴特沃斯低通濾波器的設(shè)計(jì)與實(shí)現(xiàn)33</p><p>  3.5.2 切比雪夫I型低通濾波器的設(shè)計(jì)與實(shí)現(xiàn)34</p><p>  3.5.3 窗函數(shù)法設(shè)計(jì)FIR低通濾波器的設(shè)計(jì)與分析35</p><p>  3.5.4 頻率取樣法

11、設(shè)計(jì)FIR低通濾波器的設(shè)計(jì)與實(shí)現(xiàn)40</p><p>  3.6 雙音多頻信號(hào)檢測(cè)及語(yǔ)音濾波實(shí)驗(yàn)的GUI界面的設(shè)計(jì)與實(shí)現(xiàn)41</p><p>  3.6.1 雙音多頻(DTMF)信號(hào)檢測(cè)的設(shè)計(jì)與實(shí)現(xiàn)41 </p><p>  3.6.2語(yǔ)音濾波實(shí)驗(yàn)的設(shè)計(jì)與實(shí)現(xiàn)46

12、 </p><p>  第4章 設(shè)計(jì)總結(jié)和心得47</p><p>  4.1 設(shè)計(jì)總結(jié)..48</p><p>  4.2設(shè)計(jì)心得..49</p><p><b>  第1章 </b></p><p>  1.1 設(shè)

13、計(jì)內(nèi)容與要求</p><p>  本設(shè)計(jì)任務(wù)是利用MATLAB的圖形用戶界面設(shè)計(jì)向?qū)UIDE工具箱建立一個(gè)與本科數(shù)字信號(hào)處理理論教學(xué)相配套的實(shí)驗(yàn)教學(xué)仿真平臺(tái)。具體要求如下:</p><p>  1、構(gòu)建總體結(jié)構(gòu)框架:</p><p>  通過(guò)查閱相關(guān)資料、熟悉教材(主要針對(duì)姚天任,江太輝等編著的《數(shù)字信號(hào)處理(第3版)》)的內(nèi)容與結(jié)構(gòu)、研究本課程對(duì)實(shí)驗(yàn)的要求,構(gòu)建

14、一個(gè)總體的與教材配套的結(jié)構(gòu)框架;</p><p><b>  2、構(gòu)建實(shí)驗(yàn)界面:</b></p><p>  要求用MATLAB的GUI中的坐標(biāo)窗口、彈出框、按鍵、動(dòng)態(tài)文本框等搭建一系列的仿真友好界面,使得即便不懂MATLAB 語(yǔ)言編程的同學(xué),也可以非常方便地使用和理解;</p><p>  3、實(shí)現(xiàn)具體界面的功能:</p>&l

15、t;p>  要求用MATLAB編程語(yǔ)言來(lái)實(shí)現(xiàn)每一個(gè)具體界面的具體實(shí)驗(yàn)功能,以達(dá)到對(duì)相關(guān)內(nèi)容的仿真。</p><p>  1.2 MATLAB GUI的簡(jiǎn)介及特點(diǎn)</p><p>  MATLAB 是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。MATALB

16、可以創(chuàng)建圖形用戶界面GUI ( GraphicalUser Interface) ,它是用戶和計(jì)算機(jī)之間交流的工具。MATLAB 將所有GUl 支持的用戶控件都集成在這個(gè)</p><p>  MATLAB將所有圖形用戶界面(Graphical User Interface,簡(jiǎn)稱GUI)支持的用戶控件都集成在GUIDE工具箱中,并提供界面外觀、屬性和行為響應(yīng)方式的設(shè)置方法。圖形用戶界面(GUI)是指由窗口、菜單、對(duì)

17、話框等各種圖形對(duì)象組成的用戶界面。在MATLAB中,基本的圖形用戶界面對(duì)象包含:下拉及彈出式菜單對(duì)象,多種界面元素如按鈕(PUSH BUTTON)、選項(xiàng)鈕(RADIO BUTTON)、可編輯文本框(EDIT BOX)、靜態(tài)文本框(STATIC TEXT)、檢查框(CHECK BOXES)、坐標(biāo)(AXES)等。根據(jù)這些圖形對(duì)象,可以設(shè)計(jì)出界面友好、操作方便的圖形用戶界面[9]。</p><p>  在設(shè)計(jì)一個(gè)圖形用

18、戶界面時(shí),只需在GUI設(shè)計(jì)窗口左邊的控件工具欄中選擇一個(gè)所需要的對(duì)象,以拖拽的方式在對(duì)象設(shè)計(jì)區(qū)生成該對(duì)象,其對(duì)象的創(chuàng)建方式方便、簡(jiǎn)單。創(chuàng)建了所需要的對(duì)象之后,可以在該控件的從callback函數(shù)中編寫M程序,以實(shí)現(xiàn)對(duì)象的功能。 </p><p><b>  第2章 基本理論</b></p><p>  2.1 離散時(shí)間信號(hào)和離散時(shí)間系統(tǒng)</

19、p><p>  離散時(shí)間信號(hào)和離散時(shí)間系統(tǒng)的知識(shí)首先包括序列的表示法和基本類型,線性非移變系統(tǒng)以及系統(tǒng)的穩(wěn)定性和因果性問(wèn)題,卷積;其次包括離散時(shí)間信號(hào)的傅里葉變換(DTFT)和系統(tǒng)的頻率響應(yīng)的概念,及離散時(shí)間信號(hào)的取樣等基本知識(shí);最后,包括z變換的定義和收斂域、Z的正反變換的定理和性質(zhì)。</p><p>  在離散時(shí)間系統(tǒng)中,信號(hào)是用離散時(shí)間的數(shù)字序列表示的。離散時(shí)間信號(hào)有一些典型常用的基本序

20、列,即單位取樣序列、單位階躍序列、矩形序列、實(shí)指數(shù)序列、復(fù)指數(shù)序列、正弦型序列。下面分別介紹這些典型序列的基本形式。</p><p><b>  單位取樣序列</b></p><p><b> ?。?-1)</b></p><p>  注意與之見的區(qū)別,是一個(gè)確定的物理量,而不是確定的物理量,而是一種數(shù)學(xué)抽象。</p

21、><p><b>  單位階躍序列</b></p><p><b> ?。?-2)</b></p><p>  與連續(xù)階躍信號(hào)不同,在=0時(shí),單位階躍序列是有定義的。</p><p><b>  矩形序列</b></p><p><b> ?。?-

22、3)</b></p><p>  N表示矩形序列的長(zhǎng)度。</p><p><b>  實(shí)指數(shù)序列</b></p><p>  實(shí)指數(shù)序列有單邊和雙邊實(shí)指數(shù)序列之分,大多數(shù)情況下,所要研究的都是單邊實(shí)指數(shù)序列,因此這里只介紹單邊實(shí)指數(shù)序列,單邊實(shí)指數(shù)序列可表示為:</p><p><b> ?。?-4

23、)</b></p><p><b>  復(fù)指數(shù)序列</b></p><p><b> ?。?-5)</b></p><p>  式中,通常稱為阻尼系數(shù),稱為數(shù)字域頻率(單位為弧度)。</p><p><b>  正弦型序列</b></p><p&

24、gt;<b>  (2-6)</b></p><p>  式中,A為幅度,稱為數(shù)字域頻率,為初相(單位為弧度)。</p><p>  信號(hào)處理的目的之一就是要把信號(hào)變換成人們需要的某種形式。各種離散時(shí)間系統(tǒng)就是把輸入序列變換成所需要的輸出序列的系統(tǒng)。如果一個(gè)系統(tǒng)滿足疊加原理,且該系統(tǒng)的響應(yīng)與輸入信號(hào)施加于系統(tǒng)的時(shí)刻無(wú)關(guān),則該系統(tǒng)是線性非移變系統(tǒng)(LSIS)。線性非移變

25、系統(tǒng)有一個(gè)重要的特性,它的輸入序列與輸出序列之間存在著線性卷積關(guān)系。若和分別為系統(tǒng)的輸入和輸出,為該系統(tǒng)的單位取樣響應(yīng),對(duì)于線性非移變系統(tǒng)而言,有如下線性卷積關(guān)系:</p><p><b>  (2-7)</b></p><p><b>  其中*表示卷積。</b></p><p>  與連續(xù)時(shí)間信號(hào)的傅里葉變換定義相類似

26、,離散時(shí)間信號(hào)x(n)的傅里葉變換定義為:</p><p><b>  (2-8)</b></p><p>  系統(tǒng)的單位取樣響應(yīng)h(n)的DTFT為系統(tǒng)的頻率響應(yīng),即</p><p><b>  (2-9)</b></p><p>  離散時(shí)間信號(hào)常常是由連續(xù)時(shí)間信號(hào)經(jīng)周期取樣得到的。連續(xù)信號(hào)經(jīng)過(guò)

27、取樣(理想取樣)后輸出為:</p><p><b> ?。?-10)</b></p><p>  系統(tǒng)頻域分析方法還有Z變換,Z變換是離散時(shí)間信號(hào)的一種重要的變換。Z變換的定義為:</p><p><b> ?。?-11)</b></p><p>  2.2 離散傅里葉變換及其快速算法</p&

28、gt;<p>  這里所要介紹的離散傅里葉變換(DFT)時(shí)域和頻域都是離散的,而離散傅里葉變換的快速算法即快速傅里葉變換(FFT)在處理有限長(zhǎng)序列時(shí)起著極其重要的作用。這部分所包含的知識(shí)有:周期序列的傅里葉級(jí)數(shù)及其性質(zhì);有限長(zhǎng)序列的傅里葉變換表示——離散傅里葉變換,及離散傅里葉變換的性質(zhì),循環(huán)卷積等;快速傅里葉變換,及由FFT進(jìn)行信號(hào)譜分析等。</p><p>  一個(gè)周期為N的周期序列可以表示為&

29、lt;/p><p>  , (2-12)</p><p>  周期序列的離散傅里葉級(jí)數(shù)(DFS)變換對(duì)如下:</p><p>  (2-13) (2-14)</p><p>  一個(gè)周期序列雖然是無(wú)限長(zhǎng)的,但是只要知道它的一個(gè)周期就可知道它的整個(gè)序列。這正是周期序列與有限長(zhǎng)序列之間的聯(lián)系。</p

30、><p>  有限長(zhǎng)序列的傅里葉變換稱為離散傅里葉變換(DFT),DFT的表達(dá)式為:</p><p><b> ?。?-15)</b></p><p>  有限長(zhǎng)序列的DFT即仍是有限長(zhǎng)序列。</p><p>  在MATLAB,我們可以直接調(diào)用函數(shù)fft( )和ifft( )來(lái)計(jì)算序列的FFT和IFFT。下圖2-1列出了當(dāng)

31、N=8時(shí)的時(shí)間抽選的FFT流程圖,頻率抽選的FFT流程圖與時(shí)間抽選的FFT流程圖相差不多,故不再畫出。</p><p>  圖2-1 時(shí)間抽選的FFT流程圖(N=8)</p><p>  2.3 數(shù)字濾波器的原理和設(shè)計(jì)</p><p>  本科中我們學(xué)習(xí)了兩類重要的數(shù)字濾波器:IIR數(shù)字濾波器和FIR濾波器。這兩類數(shù)字濾波器的設(shè)計(jì)方法是完全不同的。設(shè)計(jì)IIR濾波器

32、時(shí),通常是先設(shè)計(jì)一個(gè)模擬濾波器,再用沖激響應(yīng)不變法或雙線性變換法將所設(shè)計(jì)的模擬濾波器轉(zhuǎn)換成數(shù)字濾波器。模擬濾波器器的設(shè)計(jì)主要有巴特沃斯濾波器、切比雪夫I型和II型濾波器等。巴特沃斯濾波器的特點(diǎn)是其幅度響應(yīng)在通帶內(nèi)具有最平坦的特性,且通帶和阻帶內(nèi)幅度特性是單調(diào)變化的。切比雪夫I型濾波器在通帶內(nèi)的幅度響應(yīng)時(shí)單調(diào)減的,而在阻帶內(nèi)的幅度響應(yīng)時(shí)等波紋的。FIR濾波器則不可通過(guò)模擬濾波器來(lái)設(shè)計(jì),因此FIR濾波器沒(méi)有現(xiàn)成的設(shè)計(jì)公式,F(xiàn)IR數(shù)字濾波器的

33、設(shè)計(jì)方法主要有窗函數(shù)法和頻率取樣法等。在使用窗函數(shù)法設(shè)計(jì)FIR濾波器時(shí),常用的窗有矩形窗(Boxcar)、巴特利特(Bartlett)窗(三角窗)、漢寧(Hanning)窗(升余弦窗)、哈明(Hamming)窗、布萊克曼(Blackman)窗、凱澤(Kaiser)窗等6種。</p><p>  2.4 雙音多頻信號(hào)檢測(cè)和語(yǔ)音濾波</p><p>  雙音多頻 (Dual Tone Mult

34、i Frequency)信號(hào)應(yīng)用在許多場(chǎng)合,最常見的是電話號(hào)碼的撥音。電話機(jī)號(hào)碼盤上每一個(gè)號(hào)碼對(duì)應(yīng)一個(gè)DTMF音,它包含兩個(gè)不同頻率的正弦信號(hào)的疊加,檢測(cè)DTMF音就是要檢測(cè)這兩個(gè)正弦信號(hào)的頻率,從而判斷出按鍵號(hào)碼。</p><p>  表2-1 雙音多頻信號(hào)的各個(gè)號(hào)碼與頻率的對(duì)應(yīng)表</p><p>  電話號(hào)碼的雙音多頻信號(hào)的兩個(gè)頻率的對(duì)應(yīng)情況如表所示。比如按鍵1對(duì)應(yīng)的DTMF音包含頻率

35、分別為和的兩個(gè)正弦信號(hào)之和,檢測(cè)到信號(hào)由這兩個(gè)頻率組成,就知道號(hào)碼為1。</p><p>  本系統(tǒng)模擬了電話機(jī)的鍵盤,按電話機(jī)鍵盤的順序列出了1到#,并且可以從左邊的坐標(biāo)中可以看出各個(gè)按鍵的DTMF音信號(hào),詳細(xì)的實(shí)現(xiàn)過(guò)程見3.6.1節(jié)。</p><p>  語(yǔ)音濾波實(shí)驗(yàn), 配合操作系統(tǒng)支持的語(yǔ)音媒體播放器可以很方便地將經(jīng)過(guò)數(shù)字處理后的語(yǔ)音效果直觀地體現(xiàn)出來(lái), 這對(duì)于學(xué)生深刻理解數(shù)字信號(hào)處

36、理中抽象數(shù)學(xué)運(yùn)算的現(xiàn)實(shí)物理意義,很有幫助。對(duì)于單聲道的語(yǔ)音數(shù)據(jù)在MATLAB中是一維數(shù)組,在MATLAB中有2個(gè)處理.wav格式語(yǔ)音的函數(shù), 一個(gè)是將語(yǔ)音流文件轉(zhuǎn)換為數(shù)組格式數(shù)據(jù)的函數(shù)wavread, 另一個(gè)是將數(shù)組格式數(shù)據(jù)轉(zhuǎn)換為語(yǔ)音流文件的函數(shù)wavwrite[8].</p><p>  第3章 系統(tǒng)GUI界面設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  3.1 總體框架</b

37、></p><p>  圖3-1 系統(tǒng)結(jié)構(gòu)框圖</p><p>  完成該教學(xué)實(shí)驗(yàn)系統(tǒng),總體的制作步驟如下:</p><p>  (1) 分析系統(tǒng)所要求實(shí)現(xiàn)的主要功能,明確設(shè)計(jì)任務(wù),構(gòu)思出一個(gè)總體的結(jié)構(gòu)框架。</p><p>  (2) 確定該系統(tǒng)包含的數(shù)字信號(hào)處理教學(xué)內(nèi)容,在稿紙上設(shè)計(jì)各個(gè)界面布局。</p><p

38、>  (3) 根據(jù)手繪的界面草圖,利用MATLAB的GUIDE工具箱搭建GUI靜態(tài)界面。</p><p>  (4) 編寫m程序?qū)崿F(xiàn)界面功能,即編寫界面上各個(gè)控件的回調(diào)函數(shù),以達(dá)到對(duì)相關(guān)內(nèi)容的仿真。</p><p>  (5) 系統(tǒng)總體的調(diào)試和完善。</p><p>  3.1.1創(chuàng)建GUI</p><p>  創(chuàng)建Matlab GUI

39、界面通常有兩種方式:第一種,在 .m文件中動(dòng)態(tài)添加,即自己編寫程序,設(shè)置參數(shù);第二種,使用GUIDE幫助創(chuàng)建GUI;在Command 里面輸入 GUIDE 或者從菜單里面,或者從快捷按鈕均可進(jìn)入 GUIDE。</p><p>  新建并且保存后,會(huì)生成相應(yīng)的fig文件和m文件,在Layout編輯視圖中,可以使用如下工具:</p><p>  Layout Editor:布局編輯器;<

40、/p><p>  Alignment Tool:對(duì)齊工具;</p><p>  Property Inspector:對(duì)象屬性觀察器;</p><p>  Object Browser:對(duì)象瀏覽器;</p><p>  Menu Editor:菜單編輯器。</p><p>  2、新建一個(gè)布局(窗口),可以在新窗口中添加如

41、下控件</p><p>  1.靜態(tài)文本(Static Text)        2.編輯框(Edit Text)控件</p><p>  3.列表框(Listbox)控件            4.滾動(dòng)條(Slider)控

42、件</p><p>  5.按鈕(Push Button)控件        6.開關(guān)按鈕(Toggle Button)控件</p><p>  7.單選按鈕(Radio Button)控件      8.按鈕組(Button Group)控件</p><p>  9

43、.檢查框(Check Box)控件        10.列表框(Listbox)控件</p><p>  11.彈出式菜單(Popup Menu)控件    12.坐標(biāo)軸(Axes)控件</p><p>  13.面板(Panel)控件</p><p>  每一個(gè)控件都有自己

44、的屬性常規(guī)屬性。</p><p><b>  1.控件風(fēng)格和外觀</b></p><p> ?。?)BackgroundColor:設(shè)置控件背景顏色,使用[R G B]或顏色定義。</p><p> ?。?)CData:在控件上顯示的真彩色圖像,使用矩陣表示。</p><p>  (3)ForegroundColor:文

45、本顏色。</p><p> ?。?)String屬性:控件上的文本,以及列表框和彈出菜單的選項(xiàng)。</p><p>  (5)Visible:控件是否可見。</p><p><b>  2.對(duì)象的常規(guī)信息</b></p><p>  (1)Enable屬性: 表示此控件的使能狀態(tài),設(shè)置為on”,表示可選,為“off”時(shí)則表

46、示不可。</p><p> ?。?)Style:控件對(duì)象類型。</p><p> ?。?)Tag:控件表示(用戶定義)。</p><p> ?。?)TooltipString屬性:提示信息顯示。當(dāng)鼠標(biāo)指針位于此控件上時(shí),顯示提示信息。</p><p> ?。?)UserData:用戶指定數(shù)據(jù)。</p><p> ?。?

47、)Position:控件對(duì)象的尺寸和位置。</p><p>  (7)Units:設(shè)置控件的位置及大小的單位。</p><p> ?。?)有關(guān)字體的屬性,如 FontAngle, FontName等。</p><p>  3.控件回調(diào)函數(shù)的執(zhí)行</p><p> ?。?)BusyAction:處理回調(diào)函數(shù)的中斷。有兩種選項(xiàng):即Cancel:取

48、消中斷事件,queue:排隊(duì)(默認(rèn)設(shè)置)。</p><p> ?。?)ButtonDownFcn屬性:按鈕按下時(shí)的處理函數(shù)。</p><p> ?。?)CallBack屬性:是連接程序界面整個(gè)程序系統(tǒng)的實(shí)質(zhì)性功能的紐帶。該屬性值應(yīng)該為一個(gè)可以直接求值的字符串,在該對(duì)象被選中和改變時(shí),系統(tǒng)將自動(dòng)地對(duì)字符串進(jìn)行求值。</p><p>  (4)CreateFcn:在對(duì)象

49、產(chǎn)生過(guò)程中執(zhí)行的回調(diào)函數(shù)。</p><p> ?。?)DeleteFcn:刪除對(duì)象過(guò)程中執(zhí)行的回調(diào)函數(shù)。</p><p> ?。?)Interruptible屬性:指定當(dāng)前的回調(diào)函數(shù)在執(zhí)行時(shí)是否允許中斷,去執(zhí)行其他的函數(shù)。</p><p>  4.控件當(dāng)前狀態(tài)信息</p><p> ?。?)ListboxTop:在列表框中顯示的最頂層的字符串

50、的索引。</p><p> ?。?)Max:最大值。</p><p> ?。?)Min:最小值。</p><p>  (4)Value:控件的當(dāng)前值。</p><p>  可以使用屬性編輯器來(lái)設(shè)置屬性</p><p>  3.1.2寫回調(diào)函數(shù) CallBack </p><p>  每個(gè)控件都有

51、幾種回調(diào)函數(shù),右鍵選中的控件一般會(huì)有如下菜單:</p><p>  然后就可以跳轉(zhuǎn)到相應(yīng)的 Editor中編輯代碼,GUIDE會(huì)自動(dòng)生成相應(yīng)的函數(shù)體,函數(shù)名,名稱一般是控件 Tag+ Call類型名參數(shù)有三個(gè)( hObject, eventdata, handles),其中hObject為發(fā)生事件的源控件,eventdata為事件數(shù)據(jù)結(jié)構(gòu),handles為傳入的對(duì)象句柄,CreateFcn 是在控件對(duì)象創(chuàng)建的時(shí)候

52、發(fā)生(一般為初始化樣式,顏色,初始值等),DeleteFcn 實(shí)在空間對(duì)象被清除的時(shí)候發(fā)生,ButtonDownFcn和KeyPressFcn分別為鼠標(biāo)點(diǎn)擊和按鍵事件Callback,CallBack為一般回調(diào)函數(shù),因不同的控件而已異。例如按鈕被按下時(shí)發(fā)生,下拉框改變值時(shí)發(fā)生,sliderbar 拖動(dòng)時(shí)發(fā)生等等。</p><p>  3.1.3 句柄圖形之間的層次關(guān)系</p><p>  

53、可以創(chuàng)建圖形句柄的常見函數(shù):</p><p>  1.figure函數(shù):創(chuàng)建一個(gè)新的圖形對(duì)象。</p><p>  2.newplot函數(shù):做好開始畫新圖形對(duì)象的準(zhǔn)備。</p><p>  3.a(chǎn)xes函數(shù):創(chuàng)建坐標(biāo)軸圖形對(duì)象。</p><p>  4.line函數(shù):畫線。</p><p>  5.patch函數(shù):填充

54、多邊形。</p><p>  6.surface函數(shù):繪制三維曲面。</p><p>  7.image函數(shù):顯示圖片對(duì)象。</p><p>  8.uicontrol函數(shù):生成用戶控制圖形對(duì)象。 </p><p>  9.uimenu函數(shù):生成圖形窗口的菜單中層次菜單與下一級(jí)子菜單。</p><p><b>

55、;  幾個(gè)實(shí)用的小函數(shù):</b></p><p>  uigetfile 選擇文件對(duì)話框</p><p>  uiputfile 保存文件對(duì)話框</p><p>  uisetcolor 設(shè)置顏色對(duì)話框</p><p>  fontsetcolor 設(shè)置字體對(duì)話框</p><p>  msgbox 

56、;   消息框 </p><p>  warndlg    警告框</p><p>  3.1.4 獲取與設(shè)置對(duì)象屬性</p><p><b>  常用函數(shù):</b></p><p>  gcf函數(shù):獲得當(dāng)前圖形窗口的句柄</p><p>  gc

57、a函數(shù):獲得當(dāng)前坐標(biāo)軸的句柄</p><p>  gco函數(shù):獲得當(dāng)前對(duì)象的句柄</p><p>  gcbo函數(shù):獲得當(dāng)前正在執(zhí)行調(diào)用的對(duì)象的句柄</p><p>  gcbf函數(shù):獲取包括正在執(zhí)行調(diào)用的對(duì)象的圖形句柄</p><p>  delete函數(shù):刪除句柄所對(duì)應(yīng)的圖形對(duì)象</p><p>  findobj

58、函數(shù):查找具有某種屬性的圖形對(duì)象</p><p><b>  設(shè)置方法:</b></p><p> ?。?)get函數(shù)返回某些對(duì)象屬性的當(dāng)前值。例如:p=get(obj,'Position');    </p><p> ?。?)函數(shù)set改變句柄圖形對(duì)象屬性,例如:set(obj,'Pos

59、ition',vect);</p><p>  3.2用戶登錄界面的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  登錄界面的設(shè)計(jì)過(guò)程是:首先打開MALAB軟件中的工具箱GUIDE左下角有個(gè)點(diǎn)擊鼠標(biāo)右鍵選擇然后把鼠標(biāo)點(diǎn)到 MALAB出選擇GUIDE然后進(jìn)行靜態(tài)界面的設(shè)計(jì)。登陸靜態(tài)界面設(shè)計(jì):在GUI設(shè)計(jì)窗口左側(cè)的工具欄中直接拖拽3個(gè)靜態(tài)文本框(static text)、兩個(gè)可編輯文本框(edi

60、t text)、一個(gè)按鈕到對(duì)象設(shè)計(jì)區(qū),調(diào)整好位置,在靜態(tài)文本框及按鈕的string屬性中修改相應(yīng)的文字,這樣用戶登錄靜態(tài)界面就制作完成,當(dāng)然為了美觀,也可以先在美圖秀秀里把靜態(tài)文本框里的文字進(jìn)行處理。接下來(lái)只需在“登錄”按鈕的回調(diào)(Callback)函數(shù)中編寫相應(yīng)的程序并把背景設(shè)置成如下圖所示的背景圖片,登錄界面的制作就完成了。①登陸的靜態(tài)界面 ② 點(diǎn)擊后 </p>

61、<p> ?、圯斎胗脩裘?④登陸成功</p><p>  ①“登錄”按鈕的callback函數(shù)中的m語(yǔ)言代碼如下:</p><p>  function pushbutton1_Callback(hObject, eventdata, handles)</p><p>  users = ge

62、t(handles.user,'string'); %用戶名的獲取</p><p>  codes = get(handles.code,'string');</p><p>  if strcmp(users,'盧惠婷')&&strcmp(codes,'1006052240&

63、#39;)</p><p>  h = msgbox('登陸成功!');</p><p>  uiwait(h);</p><p>  close(gcf);</p><p>  xuanze(handles)</p><p>  else errordlg('用戶名或密碼錯(cuò)誤!'

64、, '錯(cuò)誤提示');</p><p><b>  end</b></p><p> ?、凇氨尘皥D片”的callback函數(shù)如下:</p><p>  function untitled_OpeningFcn(hObject, eventdata, handles, varargin)</p><p>  

65、ha=axes('units','normalized','position',[0 0 1 1]);</p><p>  uistack(ha,'down')</p><p>  II=imread('24.jpg');</p><p><b>  image(II)<

66、/b></p><p>  colormap gray</p><p>  set(ha,'handlevisibility','off','visible','off');</p><p>  登錄成功后,用戶可以進(jìn)入各章的選擇界面,如下圖左所示,用戶可以根據(jù)自己的需要選擇點(diǎn)擊相應(yīng)的按鈕,進(jìn)入各

67、章的界面。通過(guò)點(diǎn)擊“退出實(shí)驗(yàn)系統(tǒng)”可以退出這個(gè)界面。這個(gè)界面主要是有按鈕控件構(gòu)成,其靜態(tài)界面的設(shè)計(jì)步驟與登錄界面的設(shè)計(jì)步驟相似。</p><p> ?、龠x擇主界面 ②離散時(shí)間信號(hào)和時(shí)間系統(tǒng)的界面</p><p>  該界面上的各個(gè)鏈接功能仍主要是通過(guò)設(shè)置控件的回調(diào)函數(shù)callback屬性實(shí)現(xiàn)的。以“離散時(shí)間信號(hào)的離散時(shí)間系統(tǒng)

68、”的按鈕為例,“離散時(shí)間信號(hào)和離散時(shí)間系統(tǒng)”的按鈕對(duì)應(yīng)的Tag屬性為pushbutton3(tag的設(shè)置要與callback里的一致)。在GUIDE編輯界面中選中該控件,點(diǎn)擊右鍵選中View Callback->Callback菜單項(xiàng)就可以打開xuanze.m(這個(gè)文件是自動(dòng)生成的)</p><p>  在function pushbutton3_Callback(hObject, eventdata, h

69、andles)下添加</p><p><b> ?、冁溄哟a:</b></p><p>  close(gcf);</p><p>  lisan(handles)</p><p>  則點(diǎn)擊“離散時(shí)間信號(hào)的離散時(shí)間系統(tǒng)”按鈕可調(diào)用界面 “離散時(shí)間信號(hào)和離散時(shí)間系統(tǒng)”,如上圖右所示。退出實(shí)驗(yàn)系統(tǒng)按鈕的callback為:

70、</p><p><b> ?、谕顺鼋缑娲a:</b></p><p>  close(gcf);</p><p>  denglu(handles)</p><p>  其他按鈕的實(shí)現(xiàn)與“離散時(shí)間信號(hào)和離散時(shí)間系統(tǒng)”的按鈕相似。</p><p>  3.3離散時(shí)間信號(hào)和離散時(shí)間系統(tǒng)的GUI界面的

71、設(shè)計(jì)與實(shí)現(xiàn)</p><p>  1、離散時(shí)間信號(hào)和離散時(shí)間系統(tǒng)靜態(tài)界面的設(shè)置于前面相似,</p><p> ?、凫o態(tài)界面 ② 點(diǎn)</p><p>  3.3.1 離散時(shí)間信號(hào)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  將Static Text、Edit Text、Push B

72、utton、Axes控件排好位置,調(diào)整大小,并修改各個(gè)控件的string屬性,就可以制作好“離散時(shí)間信號(hào)”的靜態(tài)界面,如下圖所示:</p><p>  在靜態(tài)界面設(shè)計(jì)好之后,編寫各個(gè)按鈕的callback函數(shù),就可以實(shí)現(xiàn)界面的功能。</p><p>  各個(gè)callback函數(shù)為:</p><p><b>  取樣序列:</b></p&g

73、t;<p>  yi=str2num(get(handles.edit1,'string'));</p><p>  fu=str2num(get(handles.edit12,'string'));</p><p>  k=(yi-10):(yi+10);</p><p>  x1=[(k-yi)==0];</p

74、><p><b>  x2=x1*fu;</b></p><p>  subplot(3,3,1);stem(k,x2); title('取樣序列的幅度');xlabel('x(n)');ylabel('幅值');</p><p><b>  階躍序列</b&

75、gt;</p><p>  yi=str2num(get(handles.edit7,'string'));</p><p>  fu=str2num(get(handles.edit13,'string'));</p><p>  k=(yi-10):(yi+10);</p><p>  x1=[k>=

76、yi];</p><p><b>  x2=x1*fu;</b></p><p>  subplot(3,3,1);stem(k,x2); title('階躍序列的幅度');xlabel('x(n)');ylabel('幅值');</p><p><b>  3、

77、矩形序列</b></p><p>  fu=str2num(get(handles.edit8,'string'));</p><p>  l=str2num(get(handles.edit14,'string'));</p><p>  k=-10:l+4;</p><p>  x1=[k>

78、;=0];</p><p>  x2=[k>=l];</p><p><b>  x3=x1-x2;</b></p><p><b>  x4=x3*fu;</b></p><p>  subplot(3,3,1);stem(k,x4); title('矩形序列的

79、幅度');xlabel('x(n)');ylabel('幅值');</p><p><b>  4、復(fù)指數(shù)序列</b></p><p>  global f p%聲明全局變量,f為復(fù)指數(shù)序列的阻尼系數(shù),p為序列的數(shù)字域頻率</p><p>  f=str2num(get(handles.edit9

80、,'string')); %從按鈕右邊的edit文本框中獲取用戶輸入的阻尼系數(shù)</p><p>  p=str2num(get(handles.edit18,'string'));</p><p>  n = [-10 :1: 10];</p><p>  x=exp(f*n+j*p*n);

81、 %對(duì)復(fù)指數(shù)序列x進(jìn)行初始化</p><p>  subplot(3,3,1); stem(n,abs(x)); </p><p>  title('復(fù)指數(shù)序列的幅值');xlabel('x(n)');ylabel('[x(n)]') %畫出復(fù)指數(shù)序列x的幅度</p><p&

82、gt;  subplot(3,3,4); stem(n,(180/pi)*angle(x));</p><p>  title('復(fù)指數(shù)序列的相位');xlabel('x(n)');ylabel('pha[x(n)]'); %畫出復(fù)指數(shù)序列x的相位</p><p>  set(handles.text3,'string

83、9;,{'復(fù)指數(shù)序列定義為x(n)=exp(an+jwn)','這里a被稱為阻尼系數(shù),w為數(shù)字域頻率,單位為弧度', '復(fù)指數(shù)序列的幅度|x(n)|=exp(an),相角arg[x(n)]=wn','注意:當(dāng)w為π的倍數(shù)時(shí),輸入時(shí)π應(yīng)寫成pi,乘用*表示,除用/表示'}, 'HorizontalAlignment', 'left' ,'

84、;FontSize',12 )</p><p><b>  5、實(shí)指數(shù)序列</b></p><p><b>  k=-5:20;</b></p><p>  a=str2num(get(handles.edit10,'string'));</p><p><b> 

85、 x1=a.^k;</b></p><p>  subplot(3,3,1);stem(k,x1);</p><p>  title('實(shí)指數(shù)序列');xlabel('x(n)');ylabel('幅值');</p><p><b>  6、正弦序列</b></p>

86、<p>  k=0:0.1:39;</p><p>  a=str2num(get(handles.edit11,'string'));</p><p>  f=str2num(get(handles.edit16,'string'));</p><p>  p=str2num(get(handles.edit17,'

87、;string'));</p><p>  fk=a*sin(pi*2*k*f+p);</p><p>  subplot(3,3,1);stem(k,fk);</p><p>  title('正弦序列');xlabel('x(n)/pi');ylabel('幅值');</p><p&g

88、t;  各序列輸入值運(yùn)行后如下圖所示:</p><p> ?、偃有蛄校?② 階躍序列: ③矩形序列:</p><p>  ④實(shí)指數(shù)序列: ⑤正弦型序列: ⑥復(fù)指數(shù)序列:</p><p>  3.3.2 線性卷積的設(shè)計(jì)與實(shí)現(xiàn)</p><p&g

89、t;  “線性卷積”界面所用到的控件有:若干個(gè)靜態(tài)文本框(static text)、三個(gè)可編輯文本框(edit text)、三個(gè)坐標(biāo)(Axes)、三個(gè)按鈕(push button)以及兩個(gè)下拉式菜單(popupmenu).將這些所需要的控件從GUI設(shè)計(jì)窗口左側(cè)的工具欄中直接拖拽到對(duì)象設(shè)計(jì)區(qū),調(diào)整好位置并修改各個(gè)控件的string屬性(即在string屬性中添加所需要的文字),就可以設(shè)計(jì)出如下圖的靜態(tài)界面,其中注意在修改下拉式菜單(pop

90、upmenu)的string屬性時(shí)每個(gè)選項(xiàng)的文字須占一行,兩個(gè)選項(xiàng)不能寫在同一行中。在靜態(tài)界面搭建好之后,編寫各個(gè)控件的callback函數(shù),就可以實(shí)現(xiàn)界面的功能。</p><p><b>  靜態(tài)界面:</b></p><p>  因計(jì)算機(jī)只能處理有限長(zhǎng)序列,因此在本系統(tǒng)中所給出的序列也是有限長(zhǎng)的,并且序列的長(zhǎng)度可由用戶自定義輸入。各個(gè)callback函數(shù)如下所示:

91、 </p><p><b>  ①卷積:</b></p><p>  A=str2num(get(handles.edit3,'string'));</p><p><b>  a=A;</b></p><p>  x=hand

92、les.y1;</p><p>  h=handles.y2;</p><p>  y1=conv(x,h);</p><p><b>  y=a*y1;</b></p><p>  ny=length(y1);</p><p><b>  n=0:ny-1;</b><

93、/p><p>  axes(handles.axes3);</p><p>  stem(n,y);</p><p> ?、诰匦涡蛄泻蛯?shí)指數(shù)序列</p><p>  global N</p><p>  N=str2num(get(handles.edit2,'string')); %從菜單左邊

94、的edit text控件中獲取序列的長(zhǎng)度</p><p>  val = get(hObject,'Value'); %獲得句柄的value(值) 屬性</p><p>  str = get(hObject, 'String'); %獲得句柄的String(內(nèi)容)屬性</p><p>  axes(handles.a

95、xes2);%設(shè)置當(dāng)前圖形繪制在坐標(biāo)1(axes1)中</p><p>  switch val</p><p><b>  case 1</b></p><p>  n=[0: N-1];</p><p>  x1=[n>=0];</p><p>  x2=[n>=N];&

96、lt;/p><p>  y2=[x1-x2];</p><p>  axes(handles.axes2);</p><p>  stem(n, y2); %畫出矩形序列y1,并且矩形的長(zhǎng)度N是由用戶規(guī)定的case 2</p><p>  n=[0: N-1];</p><p>  y2=0.5.^n

97、;</p><p>  axes(handles.axes2);</p><p>  stem(n,y2); </p><p><b>  end</b></p><p><b> ?、弁顺?lt;/b></p><p>  close(gcf);</p><p

98、>  lisan(handles)</p><p>  輸入值后如下個(gè)圖所示:</p><p> ?、倬匦涡蛄?矩形序列: ② 實(shí)指數(shù)序列*矩形序列:③實(shí)指數(shù)序列*實(shí)指數(shù): </p><p>  3.3.3 離散時(shí)間系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  離散時(shí)間系統(tǒng)的靜態(tài)界面如下圖所示,與上一個(gè)界面相似,將界面上所用到的控件

99、從GUI設(shè)計(jì)窗口左側(cè)的工具欄中直接拖拽到對(duì)象設(shè)計(jì)區(qū),并調(diào)整大小、位置及修改各個(gè)控件的string屬性,就制作好了離散時(shí)間系統(tǒng)的靜態(tài)界面。在靜態(tài)界面設(shè)計(jì)好之后,編寫各個(gè)按鈕的callback函數(shù),就可以實(shí)現(xiàn)界面的功能。</p><p><b>  靜態(tài)界面:</b></p><p>  各個(gè)callback函數(shù)如下:</p><p>  1、取樣

100、序列、矩形序列、實(shí)指數(shù)、正弦型序列</p><p>  val=get(hObject,'Value');</p><p>  str=get(hObject,'String');</p><p>  axes(handles.axes1);</p><p>  switch val</p>&l

101、t;p><b>  case 1</b></p><p>  n=[-10:20];</p><p>  y1=[zeros(1,10),1,zeros(1,20)];</p><p>  stem(n,y1) %矩形序列 </p><p><b>  case 2</b&

102、gt;</p><p><b>  n1=-10;</b></p><p><b>  n2=5;</b></p><p><b>  n3=20;</b></p><p><b>  n0=0; </b></p><p><

103、b>  n=n1:n3; </b></p><p><b>  n4=0;</b></p><p>  y1=[(n>=n0+n4)&(n<n2+n4)]; </p><p>  stem(n,y1); %取樣序列</p><p><b> 

104、 case 3</b></p><p><b>  n=-10:20;</b></p><p>  y1=power(0.5,n); %實(shí)指數(shù)序列</p><p>  stem(n,y1)</p><p><b>  case 4</b></p><p&

105、gt;  n=[-10:1:20];</p><p>  y1=sin(0.5*pi*n) ;%正弦序列</p><p>  stem(n,y1)</p><p><b>  end</b></p><p>  handles.y1=double(y1);</p><p>  gu

106、idata(hObject,handles);</p><p>  2、系統(tǒng)響應(yīng)y(n)</p><p>  global b0 b1 a0 a1 a2</p><p>  b0=str2num(get(handles.b0,'string')); %從b0的edit text控件中獲取b0的值</p><

107、p>  b1=str2num(get(handles.b1,'string'));</p><p>  a0=str2num(get(handles.a0,'string'));</p><p>  a1=str2num(get(handles.a1,'string'));</p><p>  a2=str2nu

108、m(get(handles.a2,'string'));</p><p>  A=[a0 a1 a2]; %將序列x的系數(shù)向量賦給A</p><p>  B=[b0 b1]; </p><p>  n = [-10 : 20]; </p><p>  x=han

109、dles.y1 ; %將用戶所選擇的序列x(n)賦給x</p><p>  y=filter(B,A,x); %通過(guò)filter函數(shù)求系統(tǒng)的響應(yīng)</p><p>  axes(handles.axes2);</p><p>  stem(n,y,&#

110、39;fill'); %將系統(tǒng)響應(yīng)y(n)序列繪制在坐標(biāo)2(axes2)中,線端是實(shí)心圓點(diǎn)</p><p>  3、系統(tǒng)的單位取樣響應(yīng)h(n)</p><p>  global b0 b1 a0 a1 a2</p><p>  A=[a0 a1 a2];</p><p>  B=[b0 b1];</p><p&g

111、t;  n = [-10 : 20];</p><p>  x=[n==0]; %令序列x(n)為單位取樣序列</p><p>  h=filter(B,A,x);%求系統(tǒng)單位取樣響應(yīng)</p><p>  axes(handles.axes2);</p><p>  stem(n,h,'fi

112、ll');</p><p>  function pushbutton3_Callback(hObject, eventdata, handles)</p><p>  close(gcf);</p><p>  lisan(handles)</p><p>  % hObject handle to pushbutton3 (

113、see GCBO)</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handles structure with handles and user data (see GUIDATA)</p><p>  global b0 b1

114、 a0 a1 a2</p><p>  b0=str2num(get(handles.b0,'string')); %從b0的edit text控件中獲取b0的值</p><p>  b1=str2num(get(handles.b1,'string'));</p><p>  a0=str2num(get(h

115、andles.a0,'string'));</p><p>  a1=str2num(get(handles.a1,'string'));</p><p>  a2=str2num(get(handles.a2,'string'));</p><p>  A=[a0 a1 a2]; %將

116、序列x的系數(shù)向量賦給A</p><p>  B=[b0 b1]; </p><p>  n = [-10 : 20]; </p><p>  x=handles.y1 ; %將用戶所選擇的序列x(n)賦給x</p><p>  y=filter(B,A,x); %通過(guò)filter函數(shù)求系統(tǒng)的響應(yīng)<

117、/p><p>  axes(handles.axes2);</p><p>  stem(n,y,'fill');%將系統(tǒng)響應(yīng)y(n)序列繪制在坐標(biāo)2(axes2)中,線端是實(shí)心圓點(diǎn)</p><p> ?、傧到y(tǒng)響應(yīng) ②系統(tǒng)的單位取樣響應(yīng)</p><p>  3.3.4

118、離散時(shí)間信號(hào)傅里葉變換及系統(tǒng)頻率響應(yīng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  “離散時(shí)間信號(hào)傅里葉變換及系統(tǒng)頻率響應(yīng)”的靜態(tài)界面如下圖所示,在靜態(tài)界面設(shè)計(jì)好之后,編寫各個(gè)按鈕的callback函數(shù),就可以實(shí)現(xiàn)界面的功能。</p><p><b>  靜態(tài)界面:</b></p><p>  各個(gè)callback函數(shù)為:</p><p&

119、gt;  1、取樣序列、矩形序列、實(shí)指數(shù)序列、正弦序列</p><p>  global x1 f p</p><p>  f=str2num(get(handles.edit6,'string'));</p><p>  p=str2num(get(handles.edit7,'string'));</p><p

120、>  val = get(hObject,'Value'); %獲得句柄的value(值) 屬性</p><p>  str = get(hObject, 'String'); %獲得句柄的String(內(nèi)容)屬性</p><p>  switch val</p><p><b>  case 1<

121、;/b></p><p>  n = [-10 : 10];</p><p>  x=[n==p]; %對(duì)取樣序列x進(jìn)行初始化</p><p><b>  x1=f.*x;</b></p><p><b>  case 2</b></p&g

122、t;<p>  n=[-10:10];</p><p>  x=[n>=p]-[n>=p+5];</p><p><b>  x1=f.*x;</b></p><p><b>  case 3</b></p><p>  n=[-10:10];</p><

123、;p>  x1=f.*2.^(n+p);</p><p><b>  case 4</b></p><p>  n=[-10:10];</p><p>  x1=f.*sin(2*pi*(n+p));</p><p><b>  end</b></p><p>  ha

124、ndles.x1 = double(x1)';%將序列y1轉(zhuǎn)換成double型的數(shù)據(jù)</p><p>  guidata(hObject, handles);%保存句柄</p><p>  2、離散時(shí)間信號(hào)的傅里葉變換(DTFT)</p><p><b>  global X</b></p><p

125、>  n = [-10 : 10];</p><p>  x = handles.x1; %將用戶所選擇的序列x(n)賦給x</p><p>  k=0:500;w=(pi/500)*k; </p><p>  X=x'*(exp(-j*pi/500)).^(n'*k);%求序列x(n)的離散傅里

溫馨提示

  • 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. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論