Matlab數(shù)字信號處理基礎(chǔ)_第1頁
Matlab數(shù)字信號處理基礎(chǔ)_第2頁
Matlab數(shù)字信號處理基礎(chǔ)_第3頁
Matlab數(shù)字信號處理基礎(chǔ)_第4頁
Matlab數(shù)字信號處理基礎(chǔ)_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Matlab數(shù)字信號處理基礎(chǔ) 第2章 Matlab數(shù)字信號處理基礎(chǔ) Matlab數(shù)字信號處理基礎(chǔ) 主 要 內(nèi) 容 M M文件介紹文件介紹 MATLABMATLAB基本控制語句基本控制語句 數(shù)字信號處理常用數(shù)字信號處理常用MATLABMATLAB函數(shù)函數(shù) Matlab數(shù)字信號處理基礎(chǔ) 1)1)開發(fā)環(huán)境開發(fā)環(huán)境 新的桌面提供多文檔管理、個人定制桌面以及常用新的桌面提供多文檔管理、個人定制桌面以及常用 命令定義快捷鍵;命令定義快捷鍵; 功能更強的數(shù)組編輯器和工作空間瀏覽器,用戶可功能更強的數(shù)組編輯器和工作空間瀏覽器,用戶可 以更方便地瀏覽、編輯和圖形化變量;以更方便地瀏覽、編輯和圖形化變量; M_L

2、intM_Lint代碼分析器可以方便用戶修改代碼,不僅提代碼分析器可以方便用戶修改代碼,不僅提 高了程序性能,而且增強了可維護性;高了程序性能,而且增強了可維護性; 改進后的編輯器可以方便用戶選擇執(zhí)行改進后的編輯器可以方便用戶選擇執(zhí)行MM文件中的部文件中的部 分內(nèi)容。分內(nèi)容。 語言簡介語言簡介 Matlab數(shù)字信號處理基礎(chǔ) 2)2)編程編程 支持函數(shù)嵌套;支持函數(shù)嵌套; 可以用匿名函數(shù)定義單行函數(shù);可以用匿名函數(shù)定義單行函數(shù); 3)3)計算計算 整數(shù)算法,可以計算和處理更大的整型數(shù)據(jù)集;整數(shù)算法,可以計算和處理更大的整型數(shù)據(jù)集; 單精度算法、線性代數(shù)、單精度算法、線性代數(shù)、FFTFFT和濾波,

3、方便用戶處理更和濾波,方便用戶處理更 大的單精度數(shù)據(jù);大的單精度數(shù)據(jù); 提供提供LinsolveLinsolve函數(shù),方便用戶更快地求解線性函數(shù);函數(shù),方便用戶更快地求解線性函數(shù); ODEODE求解泛函數(shù),操作隱式差分等式和求解多點式邊界求解泛函數(shù),操作隱式差分等式和求解多點式邊界 值問題。值問題。 Matlab數(shù)字信號處理基礎(chǔ) 4)4)圖形圖形 使用新的繪圖界面,用戶不必通過使用新的繪圖界面,用戶不必通過MM函數(shù)代碼就可直接在函數(shù)代碼就可直接在 界面窗口中交互式地創(chuàng)建編輯圖形;界面窗口中交互式地創(chuàng)建編輯圖形; 用戶可直接從圖形窗口中生成用戶可直接從圖形窗口中生成MM代碼文件,方便多次重復(fù)代碼

4、文件,方便多次重復(fù) 繪圖;繪圖; 更強大的圖形標(biāo)注和處理功能,包括對象對齊、連接注更強大的圖形標(biāo)注和處理功能,包括對象對齊、連接注 釋等;釋等; 數(shù)據(jù)探測工具可使用戶在圖形窗口中方便地查詢圖形上數(shù)據(jù)探測工具可使用戶在圖形窗口中方便地查詢圖形上 各點的坐標(biāo)值;各點的坐標(biāo)值; 可方便地對圖形對象進行旋轉(zhuǎn)、平移和縮放等變換;可方便地對圖形對象進行旋轉(zhuǎn)、平移和縮放等變換; 功能更強大的圖形句柄。功能更強大的圖形句柄。 Matlab數(shù)字信號處理基礎(chǔ) 5)5)圖形用戶界面圖形用戶界面 用戶可使用面板和分組按鈕對界面控件進行分組;用戶可使用面板和分組按鈕對界面控件進行分組; 用戶可以直接在用戶可以直接在GU

5、IDEGUIDE中訪問中訪問ActiveXActiveX控件??丶?。 6)6)文件輸入文件輸入/ /輸出和外部應(yīng)用程序接口輸出和外部應(yīng)用程序接口 新的文件輸入新的文件輸入/ /輸出函數(shù)支持讀取更大的文本文件,可以輸出函數(shù)支持讀取更大的文本文件,可以 向向ExcelExcel和和HDF5HDF5文件中寫入內(nèi)容;文件中寫入內(nèi)容; 支持壓縮格式的支持壓縮格式的MATMAT文件,用戶可以使用較少的磁盤空間文件,用戶可以使用較少的磁盤空間 快速保存大量的數(shù)據(jù);快速保存大量的數(shù)據(jù); 在不必重啟在不必重啟MATLABMATLAB前提下,可使用前提下,可使用JavaaddpathJavaaddpath函數(shù)動函

6、數(shù)動 態(tài)添加、刪除或重載態(tài)添加、刪除或重載JavaJava類;類; Matlab數(shù)字信號處理基礎(chǔ) 支持支持COMCOM用戶接口、服務(wù)器事件和用戶接口、服務(wù)器事件和Visual BasicVisual Basic腳本;腳本; 可基于簡單的對象訪問協(xié)議(可基于簡單的對象訪問協(xié)議(SOAPSOAP)訪問網(wǎng)頁服務(wù)器;)訪問網(wǎng)頁服務(wù)器; 提供提供FTPFTP對象用于連接對象用于連接FTPFTP服務(wù)器,實現(xiàn)對異地文件的處理;服務(wù)器,實現(xiàn)對異地文件的處理; 支持支持UnicodeUnicode國際字符集標(biāo)準(zhǔn),國際字符集標(biāo)準(zhǔn),MATMAT文件中的字符數(shù)據(jù)可以文件中的字符數(shù)據(jù)可以 在不同語言之間共享。在不同語言

7、之間共享。 MATLAB7.0 MATLAB7.0的工作界面主要由菜單、工具欄、當(dāng)前工作目的工作界面主要由菜單、工具欄、當(dāng)前工作目 錄窗口、工作空間管理窗口、歷史命令窗口和命令窗口組成,錄窗口、工作空間管理窗口、歷史命令窗口和命令窗口組成, 如圖如圖1-11-1所示。點擊左下角所示。點擊左下角startstart, 彈出快捷菜單,其中有工具彈出快捷菜單,其中有工具 箱、幫助和演示等多個選項,可選擇需要的菜單進入相關(guān)界面。箱、幫助和演示等多個選項,可選擇需要的菜單進入相關(guān)界面。 Matlab數(shù)字信號處理基礎(chǔ) MATLABMATLAB桌面桌面 Matlab數(shù)字信號處理基礎(chǔ) 1)1)命令窗口命令窗口

8、 單擊單擊MATLABMATLAB桌面命令窗口右上角的【桌面命令窗口右上角的【Unlock Command Unlock Command WindowWindow】按鈕】按鈕, ,可使命令窗口脫離主窗口而成為一個獨立的可使命令窗口脫離主窗口而成為一個獨立的 窗口窗口, ,如圖所示。如圖所示。 MATLAB7.0 MATLAB7.0的命令窗口的命令窗口 Matlab數(shù)字信號處理基礎(chǔ) 2)2)歷史命令窗口歷史命令窗口 該窗口主要用于記錄所有執(zhí)行過的命令,在默認設(shè)置下,該窗口主要用于記錄所有執(zhí)行過的命令,在默認設(shè)置下, 該窗口會保留自安裝后所有使用過的命令的歷史記錄,并標(biāo)該窗口會保留自安裝后所有使用

9、過的命令的歷史記錄,并標(biāo) 明使用時間,用戶可以通過用鼠標(biāo)雙擊某一歷史記錄來重新明使用時間,用戶可以通過用鼠標(biāo)雙擊某一歷史記錄來重新 執(zhí)行該命令。與命令窗口類似,該窗口也可以成為一個獨立執(zhí)行該命令。與命令窗口類似,該窗口也可以成為一個獨立 的窗口,如圖所示。選中歷史命令后,單擊鼠標(biāo)右鍵,彈出的窗口,如圖所示。選中歷史命令后,單擊鼠標(biāo)右鍵,彈出 便捷操作菜單,通過上下文菜單,可以進行剪切、刪除等操便捷操作菜單,通過上下文菜單,可以進行剪切、刪除等操 作,也可為選中的表達式或命令創(chuàng)建一個作,也可為選中的表達式或命令創(chuàng)建一個MM文件。文件。 Matlab數(shù)字信號處理基礎(chǔ) 3)3)當(dāng)前工作目錄窗口當(dāng)前工

10、作目錄窗口 在當(dāng)前工作目錄窗口可顯示或改變當(dāng)前目錄在當(dāng)前工作目錄窗口可顯示或改變當(dāng)前目錄, ,如圖所示。如圖所示。 MATLAB7.0MATLAB7.0的當(dāng)前工作目錄窗口的當(dāng)前工作目錄窗口 Matlab數(shù)字信號處理基礎(chǔ) 4)4)工作空間管理窗口工作空間管理窗口 工作空間管理窗口顯示目前內(nèi)存中所有的工作空間管理窗口顯示目前內(nèi)存中所有的MATLABMATLAB變量的變變量的變 量名、數(shù)據(jù)結(jié)構(gòu)、字節(jié)數(shù)以及類型等信息,如圖所示。量名、數(shù)據(jù)結(jié)構(gòu)、字節(jié)數(shù)以及類型等信息,如圖所示。 MATLAB7.0MATLAB7.0的工作空間管理窗口的工作空間管理窗口 Matlab數(shù)字信號處理基礎(chǔ) 2.3 M2.3 M文

11、件介紹文件介紹 MM文件分為腳本文件(文件分為腳本文件(MATLAB scriptsMATLAB scripts)和函數(shù)文件)和函數(shù)文件 (MATLAB functionsMATLAB functions),兩者在語法和使用上略有區(qū)別。),兩者在語法和使用上略有區(qū)別。 1)M1)M文件編輯器文件編輯器 MM文件編輯器提供了一個進行文本編輯和文件編輯器提供了一個進行文本編輯和MM文件調(diào)試的圖形文件調(diào)試的圖形 用戶界面,如圖所示。用戶界面,如圖所示。 M M文件編輯器文件編輯器 Matlab數(shù)字信號處理基礎(chǔ) 新建一個新建一個 M M 文件有以下三種途徑:文件有以下三種途徑: 菜單操作(菜單操作(F

12、ile File New New ScriptScript) 命令操作(命令操作(edit Medit M文件名)文件名) 命令按鈕(快捷鍵)命令按鈕(快捷鍵) 打開已有的打開已有的 M M 文件有四種途徑:文件有四種途徑: 菜單操作(菜單操作(File File OpenOpen) 命令操作(命令操作(edit M edit M 文件名)文件名) 命令按鈕(快捷鍵)命令按鈕(快捷鍵) 雙擊雙擊MM文件名文件名 Matlab數(shù)字信號處理基礎(chǔ) 圖所示為圖所示為MM文件編輯器新建文件編輯器新建/ /打開快捷鍵。打開快捷鍵。 M M文件編輯器新建文件編輯器新建/ /打開快捷鍵打開快捷鍵 Matlab

13、數(shù)字信號處理基礎(chǔ) MATLABMATLAB中許多常用的函數(shù)都是函數(shù)式中許多常用的函數(shù)都是函數(shù)式MM文件。函數(shù)文件類似一文件。函數(shù)文件類似一 個黑箱,對用戶而言,可見的只是輸入和輸出,這有助于程序模塊化,個黑箱,對用戶而言,可見的只是輸入和輸出,這有助于程序模塊化, 適于構(gòu)建大型程序。由函數(shù)執(zhí)行的命令以及這些命令所創(chuàng)建的中間變量適于構(gòu)建大型程序。由函數(shù)執(zhí)行的命令以及這些命令所創(chuàng)建的中間變量 都是隱含的,除特別聲明外,這些中間變量在運算過程中都是局部變量,都是隱含的,除特別聲明外,這些中間變量在運算過程中都是局部變量, 存放在函數(shù)本身的工作空間內(nèi),不會和存放在函數(shù)本身的工作空間內(nèi),不會和MATLA

14、BMATLAB基本工作空間的變量相基本工作空間的變量相 互覆蓋。互覆蓋。 2)2)函數(shù)函數(shù) 函數(shù)文件由函數(shù)文件由functionfunction語句引導(dǎo),通常包含如下語句引導(dǎo),通常包含如下5 5個部分。個部分。 函數(shù)題頭:指函數(shù)的定義行,是函數(shù)語句的第一行,在函數(shù)題頭:指函數(shù)的定義行,是函數(shù)語句的第一行,在 該行中定義函數(shù)名、輸入變量列表及輸出變量列表等。該行中定義函數(shù)名、輸入變量列表及輸出變量列表等。 HIHI行:指函數(shù)幫助文本的第一行,為該函數(shù)文件的幫助行:指函數(shù)幫助文本的第一行,為該函數(shù)文件的幫助 主題,當(dāng)使用主題,當(dāng)使用lookforlookfor命令時,可以查看到該行信息。命令時,可

15、以查看到該行信息。 Matlab數(shù)字信號處理基礎(chǔ) 幫助信息:提供了函數(shù)的完整的幫助信息,包括幫助信息:提供了函數(shù)的完整的幫助信息,包括HIHI之后之后 至第一個可執(zhí)行的行至第一個可執(zhí)行的行 或空行為止的所有注釋語句?;蚩招袨橹沟乃凶⑨屨Z句。 函數(shù)體:指函數(shù)代碼段,也是函數(shù)的主體部分。函數(shù)體:指函數(shù)代碼段,也是函數(shù)的主體部分。 注釋部分:指對函數(shù)體中各語句的解釋和說明文本,注注釋部分:指對函數(shù)體中各語句的解釋和說明文本,注 釋語句是以符號釋語句是以符號%引導(dǎo)的。引導(dǎo)的。 腳本是若干命令或函數(shù)的集合,用于執(zhí)行特定的功能。在腳本是若干命令或函數(shù)的集合,用于執(zhí)行特定的功能。在 MATLABMATLA

16、B命令窗口直接輸入此文件的主文件名,命令窗口直接輸入此文件的主文件名,MATLABMATLAB可順序可順序 執(zhí)行此文件內(nèi)的所有命令,不需要在其中輸入?yún)?shù),也不需要給出執(zhí)行此文件內(nèi)的所有命令,不需要在其中輸入?yún)?shù),也不需要給出 輸出變量來接收處理結(jié)果。腳本的操作對象為輸出變量來接收處理結(jié)果。腳本的操作對象為MATLABMATLAB工作空間工作空間 內(nèi)的變量,腳本式內(nèi)的變量,腳本式MM文件運行產(chǎn)生的所有變量都是全局變量,這些文件運行產(chǎn)生的所有變量都是全局變量,這些 變量都駐留在變量都駐留在MATLABMATLAB基本工作空間內(nèi),通過使用基本工作空間內(nèi),通過使用clearclear命令或者命令或者

17、關(guān)閉關(guān)閉MATLABMATLAB系統(tǒng)可以清除這些變量。系統(tǒng)可以清除這些變量。 3)3)腳本腳本 Matlab數(shù)字信號處理基礎(chǔ) 腳本文件可以理解為簡單的腳本文件可以理解為簡單的MM文件,腳本文件中的變量文件,腳本文件中的變量 都是全局變量。函數(shù)文件是在腳本文件的基礎(chǔ)之上多添加了都是全局變量。函數(shù)文件是在腳本文件的基礎(chǔ)之上多添加了 函數(shù)定義行,其代碼組織結(jié)構(gòu)和調(diào)用方式與對應(yīng)的腳本文件函數(shù)定義行,其代碼組織結(jié)構(gòu)和調(diào)用方式與對應(yīng)的腳本文件 截然不同。函數(shù)文件是以函數(shù)聲明行截然不同。函數(shù)文件是以函數(shù)聲明行“function”function”作為開始,作為開始, 如果沒有特別聲明,函數(shù)文件中的變量都是局

18、部變量。函數(shù)如果沒有特別聲明,函數(shù)文件中的變量都是局部變量。函數(shù) 運行完畢之后,其定義的變量將從工作區(qū)間中清除。而腳本運行完畢之后,其定義的變量將從工作區(qū)間中清除。而腳本 文件只是將一系列相關(guān)的代碼結(jié)合封裝,沒有輸入?yún)?shù)和輸文件只是將一系列相關(guān)的代碼結(jié)合封裝,沒有輸入?yún)?shù)和輸 出參數(shù),即不自帶參數(shù),也不一定要返回結(jié)果。而多數(shù)函數(shù)出參數(shù),即不自帶參數(shù),也不一定要返回結(jié)果。而多數(shù)函數(shù) 文件一般都有輸入和輸出變量,并返回結(jié)果。文件一般都有輸入和輸出變量,并返回結(jié)果。 Matlab數(shù)字信號處理基礎(chǔ) MATLABMATLAB中的循環(huán)語句包括中的循環(huán)語句包括forfor循環(huán)和循環(huán)和whilewhile循環(huán)

19、兩種。循環(huán)兩種。 1)for 1)for 循環(huán)循環(huán) forfor循環(huán)語句是流程控制語句中的基礎(chǔ),它以指定的次數(shù)循環(huán)語句是流程控制語句中的基礎(chǔ),它以指定的次數(shù) 重復(fù)執(zhí)行循環(huán)體內(nèi)的語句。重復(fù)執(zhí)行循環(huán)體內(nèi)的語句。forfor語句通常由循環(huán)體和循環(huán)條語句通常由循環(huán)體和循環(huán)條 件組成,循環(huán)體指的是重復(fù)執(zhí)行的語句,而循環(huán)條件是指控件組成,循環(huán)體指的是重復(fù)執(zhí)行的語句,而循環(huán)條件是指控 制循環(huán)語句走向的語句。制循環(huán)語句走向的語句。 for for 循環(huán)語法結(jié)構(gòu)如下:循環(huán)語法結(jié)構(gòu)如下: for for 循環(huán)變量循環(huán)變量 = = 數(shù)組數(shù)組 循環(huán)體;循環(huán)體; endend 1 1、循環(huán)語句、循環(huán)語句 Matlab數(shù)

20、字信號處理基礎(chǔ) MATLAB MATLAB 中的中的for for 循環(huán)語句與其它語言中的循環(huán)語句與其它語言中的for for 循環(huán)語句循環(huán)語句 相同,循環(huán)體的執(zhí)行次數(shù)由數(shù)組的列數(shù)確定。相同,循環(huán)體的執(zhí)行次數(shù)由數(shù)組的列數(shù)確定。 2)while2)while循環(huán)循環(huán) whilewhile循環(huán)語句與循環(huán)語句與forfor循環(huán)語句的循環(huán)控制機制不同,前者是以條循環(huán)語句的循環(huán)控制機制不同,前者是以條 件是否滿足來判斷循環(huán)是否結(jié)束,而后者則是以執(zhí)行次數(shù)是否達到指件是否滿足來判斷循環(huán)是否結(jié)束,而后者則是以執(zhí)行次數(shù)是否達到指 定值為判斷循環(huán)是否結(jié)束的條件。定值為判斷循環(huán)是否結(jié)束的條件。 whilewhile

21、循環(huán)語句的一般形式為:循環(huán)語句的一般形式為: whilewhile循環(huán)判斷的語句循環(huán)判斷的語句 循環(huán)體循環(huán)體 其中,循環(huán)判斷語句為某種形式的邏輯判斷表達式,當(dāng)該表達式的值其中,循環(huán)判斷語句為某種形式的邏輯判斷表達式,當(dāng)該表達式的值 為真時,就執(zhí)行循環(huán)體內(nèi)的語句;當(dāng)表達式的邏輯值為假時,就退出當(dāng)前為真時,就執(zhí)行循環(huán)體內(nèi)的語句;當(dāng)表達式的邏輯值為假時,就退出當(dāng)前 的循環(huán)體。如果循環(huán)判斷語句為矩陣時,當(dāng)且僅當(dāng)所有的矩陣元素非零時,的循環(huán)體。如果循環(huán)判斷語句為矩陣時,當(dāng)且僅當(dāng)所有的矩陣元素非零時, 邏輯表達式的值為真。邏輯表達式的值為真。 10 2 1i sumx 例2-1 求 Matlab數(shù)字信號處

22、理基礎(chǔ) 在在whilewhile循環(huán)語句中,必須有可以修改循環(huán)控制變量的命令,否則該循循環(huán)語句中,必須有可以修改循環(huán)控制變量的命令,否則該循 環(huán)語句將陷入死循環(huán)。循環(huán)語體中可以有控制退出循環(huán)的命令,如環(huán)語句將陷入死循環(huán)。循環(huán)語體中可以有控制退出循環(huán)的命令,如breakbreak 語句。當(dāng)循環(huán)體運行至該命令時,強制退出當(dāng)前循環(huán),執(zhí)行循環(huán)后的其他語句。當(dāng)循環(huán)體運行至該命令時,強制退出當(dāng)前循環(huán),執(zhí)行循環(huán)后的其他 語句。與語句。與breakbreak語句對應(yīng),語句對應(yīng),MATLABMATLAB還提供了還提供了continuecontinue命令,當(dāng)循環(huán)體運命令,當(dāng)循環(huán)體運 行至該命令時會忽略其后的循環(huán)

23、體操作轉(zhuǎn)而執(zhí)行下一層次的循環(huán)。當(dāng)循環(huán)行至該命令時會忽略其后的循環(huán)體操作轉(zhuǎn)而執(zhí)行下一層次的循環(huán)。當(dāng)循環(huán) 控制語句為一空矩陣時,將不執(zhí)行循環(huán)體的操作而直接執(zhí)行其后的其他命控制語句為一空矩陣時,將不執(zhí)行循環(huán)體的操作而直接執(zhí)行其后的其他命 令語句。令語句。 2 2、分支語句、分支語句 1)if-else-end1)if-else-end語句語句 常用的分支結(jié)構(gòu)分為單分支、雙分支和多分支結(jié)構(gòu)。常用的分支結(jié)構(gòu)分為單分支、雙分支和多分支結(jié)構(gòu)。 例程2.2 編程計算Fiboncci數(shù)組中小于10的元素之和 2112 ,1,2.,1 kkk aaakaa Matlab數(shù)字信號處理基礎(chǔ) 單分支結(jié)構(gòu)單分支結(jié)構(gòu) if

24、 if 條件式條件式 表達式表達式 endend 雙分支雙分支 if if 條件式條件式 表達式表達式1 1; else else 表達式表達式2 2; endend 多分支多分支 if if 條件式條件式1 1 表達式表達式1 1; elseif elseif 條件式條件式2 2 表達式表達式2 2; elseelse 表達式表達式k k; endend 2)switch-case-otherwise2)switch-case-otherwise語句語句 語句結(jié)構(gòu)如下:語句結(jié)構(gòu)如下: switch expressionswitch expression case value1 case va

25、lue1 statements1; statements1; case value2case value2 statements2; statements2; case valuemcase valuem statementsn; statementsn; otherwise otherwise statements;statements; endend Matlab數(shù)字信號處理基礎(chǔ) expressionexpression是一個標(biāo)量或者字符串,是一個標(biāo)量或者字符串,MATLAB MATLAB 首先計算首先計算 expressionexpression的值,然后將它依次與各個的值,然后將它依次

26、與各個casecase指令后的檢測值進行比較,指令后的檢測值進行比較, 當(dāng)比較結(jié)果為真時,就執(zhí)行相應(yīng)的語句組,然后跳出當(dāng)比較結(jié)果為真時,就執(zhí)行相應(yīng)的語句組,然后跳出 switch switch 結(jié)構(gòu)。如果結(jié)構(gòu)。如果 所有的比較結(jié)果都為假,則執(zhí)行所有的比較結(jié)果都為假,則執(zhí)行otherwiseotherwise后面的語句組,然后跳出后面的語句組,然后跳出 switch switch 結(jié)構(gòu)。結(jié)構(gòu)。otherwiseotherwise指令可以不出現(xiàn)。指令可以不出現(xiàn)。 與其他的程序設(shè)計語言的與其他的程序設(shè)計語言的switch-caseswitch-case語句不同的是,在語句不同的是,在MATLABMA

27、TLAB語語 言中,當(dāng)其中一個言中,當(dāng)其中一個casecase語句后的條件為真時,語句后的條件為真時,switch-caseswitch-case語句不對其后語句不對其后 的的casecase語句進行判斷,即使有多條語句進行判斷,即使有多條casecase判斷語句為真,也只執(zhí)行所遇到判斷語句為真,也只執(zhí)行所遇到 的第一條為真的語句。的第一條為真的語句。 MATLAB基本程序控制語句基本程序控制語句 Matlab數(shù)字信號處理基礎(chǔ) 常用的波形產(chǎn)生函數(shù)如表常用的波形產(chǎn)生函數(shù)如表2-12-1所示。所示。 表表2-1 2-1 常用波形產(chǎn)生函數(shù)常用波形產(chǎn)生函數(shù) 數(shù)字信號處理常用數(shù)字信號處理常用MATLAB

28、函數(shù)函數(shù) 1 1、波形產(chǎn)生函數(shù)、波形產(chǎn)生函數(shù) Matlab數(shù)字信號處理基礎(chǔ) SquareSquare函數(shù):調(diào)用方式如下函數(shù):調(diào)用方式如下 x=square(t,duty)x=square(t,duty):產(chǎn)生指定周期、峰值為:產(chǎn)生指定周期、峰值為1 1的方波,的方波, dutyduty為占空比為占空比 2、幅度最大值為 、幅度最大值為1 1的方波的方波x=square(t)x=square(t):產(chǎn)生周期為:產(chǎn)生周期為 Matlab數(shù)字信號處理基礎(chǔ) 【例【例2-32-3】用用squaresquare函數(shù)產(chǎn)生周期為函數(shù)產(chǎn)生周期為1 1,占空比分別為,占空比分別為 50%50%和和30%30%的方

29、波。的方波。 Matlab數(shù)字信號處理基礎(chǔ) x=sawtooth(t,width)x=sawtooth(t,width):參數(shù):參數(shù)widthwidth表示一個周期內(nèi)最大值的表示一個周期內(nèi)最大值的 位置,是該位置橫坐標(biāo)和周期的比值。該函數(shù)根據(jù)位置,是該位置橫坐標(biāo)和周期的比值。該函數(shù)根據(jù)widthwidth取取 值不同產(chǎn)生不同形狀的三角波。值不同產(chǎn)生不同形狀的三角波。 SawtoothSawtooth函數(shù):調(diào)用方式如下函數(shù):調(diào)用方式如下 2、幅度最大值為 、幅度最大值為1 1的鋸齒波的鋸齒波x=sawtooth(t)x=sawtooth(t):產(chǎn)生周期為:產(chǎn)生周期為 【例【例2-42-4】用用s

30、awtoothsawtooth函數(shù)產(chǎn)生周期為函數(shù)產(chǎn)生周期為1 1的鋸齒波和方波。的鋸齒波和方波。 Matlab數(shù)字信號處理基礎(chǔ) SincSinc函數(shù):調(diào)用方式如下函數(shù):調(diào)用方式如下 【例【例2-52-5】用用sincsinc函數(shù)產(chǎn)生波形。函數(shù)產(chǎn)生波形。 x=sinc(t)x=sinc(t):產(chǎn)生:產(chǎn)生sincsinc函數(shù)波形。函數(shù)波形。 Matlab數(shù)字信號處理基礎(chǔ) DiricDiric函數(shù):調(diào)用方式如下函數(shù):調(diào)用方式如下 。 【例【例2-62-6】用用diricdiric函數(shù)產(chǎn)生波形。函數(shù)產(chǎn)生波形。 2 4 當(dāng)當(dāng)n n為偶數(shù)時,為偶數(shù)時,函數(shù)周期為函數(shù)周期為 x=diric(x,n)x=di

31、ric(x,n):當(dāng):當(dāng)n n為奇數(shù)時,函數(shù)周期為為奇數(shù)時,函數(shù)周期為 Matlab數(shù)字信號處理基礎(chǔ) RectpulsRectpuls函數(shù):調(diào)用方式如下函數(shù):調(diào)用方式如下 x=rectpuls(t)x=rectpuls(t):產(chǎn)生非周期、單位高度的矩形波;方波:產(chǎn)生非周期、單位高度的矩形波;方波 的中心在的中心在t=0t=0處。處。 x=rectpuls(t,w)x=rectpuls(t,w):產(chǎn)生寬度為:產(chǎn)生寬度為w w的非周期、單位高度的矩的非周期、單位高度的矩 形波。形波。 Matlab數(shù)字信號處理基礎(chǔ) 【例【例2-72-7】用用rectpulsrectpuls函數(shù)產(chǎn)生長度為函數(shù)產(chǎn)生長度

32、為1s1s,寬度為,寬度為0.7s0.7s的的 非周期矩形波。非周期矩形波。 Matlab數(shù)字信號處理基礎(chǔ) TripulsTripuls函數(shù):調(diào)用方式如下函數(shù):調(diào)用方式如下 x=tripuls(t)x=tripuls(t):產(chǎn)生非周期單位高度的三角波,三角波:產(chǎn)生非周期單位高度的三角波,三角波 的中心位置在的中心位置在t=0t=0處;處; x=tripuls(t,width,s)x=tripuls(t,width,s):產(chǎn)生傾斜度為:產(chǎn)生傾斜度為s s的三角波。的三角波。 x=tripuls(t,width)x=tripuls(t,width):產(chǎn)生:產(chǎn)生widthwidth寬度的三角波;寬度

33、的三角波; Matlab數(shù)字信號處理基礎(chǔ) 【例【例2-82-8】用用tripulstripuls函數(shù)產(chǎn)生長度為函數(shù)產(chǎn)生長度為1s1s,寬度為,寬度為0.6s0.6s,傾,傾 斜度分別為斜度分別為0 0和和0.90.9的非周期三角波。的非周期三角波。 Matlab數(shù)字信號處理基礎(chǔ) Pulstran Pulstran 函數(shù):調(diào)用方式如下函數(shù):調(diào)用方式如下 x=pulstran(t,d,func)x=pulstran(t,d,func):其中參數(shù):其中參數(shù)funcfunc取值為取值為 gauspuls(gauspuls(高斯調(diào)制正弦信號高斯調(diào)制正弦信號) );rectpuls(rectpuls(非周

34、期方波非周期方波) ); tripulstripuls(非周期三角波)。該函數(shù)產(chǎn)生以(非周期三角波)。該函數(shù)產(chǎn)生以d d為采樣間隔的為采樣間隔的 funcfunc指定形狀的沖激串;指定形狀的沖激串; x=pulstran(t,d,func,p1,p2)x=pulstran(t,d,func,p1,p2):將參數(shù):將參數(shù)p1p1和和p2p2傳遞給傳遞給 funcfunc函數(shù);函數(shù); x= pulstran(t,d,p,Fs)x= pulstran(t,d,p,Fs):向量:向量p p表示原始序列,表示原始序列,F(xiàn)sFs為采樣率。為采樣率。 對原始序列多次延遲相加得到輸出序列。對原始序列多次延遲相

35、加得到輸出序列。 Matlab數(shù)字信號處理基礎(chǔ) 【例【例2-92-9】用用pulstranpulstran函數(shù)產(chǎn)生三角波沖激串。函數(shù)產(chǎn)生三角波沖激串。 Matlab數(shù)字信號處理基礎(chǔ) chirpchirp函數(shù)函數(shù) chirp(t,f0,t1,f1)chirp(t,f0,t1,f1):產(chǎn)生線性調(diào)頻余弦信號。:產(chǎn)生線性調(diào)頻余弦信號。f0f0和和f1f1分別分別 是是0 0時刻和時刻和t1t1時刻的瞬時頻率。時刻的瞬時頻率。 chirp(t,f0,t1,f1,method)chirp(t,f0,t1,f1,method):參數(shù):參數(shù)methodmethod指定不同的掃頻指定不同的掃頻 方式方式, ,取

36、值方式取值方式三種三種包括包括: : LinearLinear線性的線性的 quadraticquadratic二次的二次的 logarithmiclogarithmic對數(shù)的對數(shù)的 Matlab數(shù)字信號處理基礎(chǔ) 【例【例2-102-10】用用chirpchirp函數(shù)產(chǎn)生二次掃頻信號,繪出時域波形函數(shù)產(chǎn)生二次掃頻信號,繪出時域波形 和時頻圖。和時頻圖。 Matlab數(shù)字信號處理基礎(chǔ) 2 2、傅里葉變換函數(shù)、傅里葉變換函數(shù) 常用的常用的FFTFFT及反變換函數(shù)如下表所示。及反變換函數(shù)如下表所示。 函數(shù)函數(shù)說明說明 fftfft 計算快速離散傅立葉變換計算快速離散傅立葉變換 fftshiftfft

37、shift 調(diào)整調(diào)整fftfft函數(shù)的輸出順序,將零頻位置函數(shù)的輸出順序,將零頻位置 移到頻譜的中心移到頻譜的中心 ifftifft 計算離散傅立葉反變換計算離散傅立葉反變換 Matlab數(shù)字信號處理基礎(chǔ) fftfft函數(shù):調(diào)用方式如下函數(shù):調(diào)用方式如下 y=fft(x)y=fft(x):計算信號:計算信號x x的快速傅立葉變換的快速傅立葉變換y y。當(dāng)。當(dāng)x x的長度為的長度為 2 2的冪時,用基的冪時,用基2 2算法,否則采用較慢的分裂基算法。算法,否則采用較慢的分裂基算法。 y=fft(x,n)y=fft(x,n):計算:計算n n點點FFTFFT。當(dāng)。當(dāng)length(x)nlength

38、(x)n時,截斷時,截斷x x,否,否 則補零。則補零。 Matlab數(shù)字信號處理基礎(chǔ) 【例【例2-112-11】產(chǎn)生一個正弦信號頻率為產(chǎn)生一個正弦信號頻率為60Hz60Hz,并用,并用fftfft函數(shù)函數(shù) 計算并繪出其幅度譜。計算并繪出其幅度譜。 Matlab數(shù)字信號處理基礎(chǔ) fftshiftfftshift函數(shù):調(diào)用方式如下函數(shù):調(diào)用方式如下 y=fftshift(x)y=fftshift(x):如果:如果x x為向量,為向量,fftshift(x)fftshift(x)直接將直接將x x的左右兩的左右兩 部分交換;如果部分交換;如果x x為矩陣(多通道信號),將為矩陣(多通道信號),將x

39、 x的左上、右的左上、右 下和右上、左下四個部分兩兩交換。下和右上、左下四個部分兩兩交換。 【例【例2-122-12】產(chǎn)生一個正弦信號頻率為產(chǎn)生一個正弦信號頻率為60Hz,60Hz,采樣率為采樣率為 1000Hz,1000Hz,用用fftshiftfftshift將其零頻位置搬到頻譜中心。將其零頻位置搬到頻譜中心。 例例2-12 2-12 60Hz60Hz正弦信號的幅度譜及搬移后的頻譜正弦信號的幅度譜及搬移后的頻譜 Matlab數(shù)字信號處理基礎(chǔ) ifftifft函數(shù):調(diào)用方式如下函數(shù):調(diào)用方式如下 y=ifft(x)y=ifft(x):計算信號:計算信號x x的傅立葉反變換。的傅立葉反變換。

40、【例【例2-132-13】計算方波信號的傅立葉反變換。計算方波信號的傅立葉反變換。 例例2-13 2-13 矩形信號及其矩形信號及其IFFTIFFT變換變換 y=ifft(x,n)y=ifft(x,n):計算:計算n n點點IFFTIFFT。如果。如果length(x)nlength(x)n,以,以n n為長為長 度截短度截短x x,否則補零。,否則補零。 Matlab數(shù)字信號處理基礎(chǔ) 3 3、濾波器分析與實現(xiàn)函數(shù)、濾波器分析與實現(xiàn)函數(shù) 函數(shù)名函數(shù)名函數(shù)功能函數(shù)功能函數(shù)名函數(shù)名函數(shù)功能函數(shù)功能 convconv求卷積求卷積AbsAbs求幅值求幅值 impzimpz數(shù)字濾波器的沖數(shù)字濾波器的沖

41、激響應(yīng)激響應(yīng) angleangle求相角求相角 zplanezplane離散系統(tǒng)的零極離散系統(tǒng)的零極 點圖點圖 filterfilter直接直接型濾波器型濾波器 常用濾波器分析與實現(xiàn)函數(shù)常用濾波器分析與實現(xiàn)函數(shù) Matlab數(shù)字信號處理基礎(chǔ) convconv:調(diào)用方式如下:調(diào)用方式如下 【例【例2-142-14】用用convconv求兩個向量的卷積。求兩個向量的卷積。 impzimpz:調(diào)用方式如下:調(diào)用方式如下 h,t=impz(b,a,n)h,t=impz(b,a,n):返回:返回n n點沖激響應(yīng)。點沖激響應(yīng)。 c=conv(a,b)c=conv(a,b):返回向量:返回向量a a、b b的卷積的卷

溫馨提示

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

評論

0/150

提交評論