版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用第8章MATLAB程序假想語言在信號操作中的使用8,1概述8,2根本數(shù)值運(yùn)算8,3根本語句8,4
MATLAB函數(shù)8,5MATLAB在信號操作中的使用舉例第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用8,1概述8,1,1MATLAB程序假想語言簡介MATLAB,Matrix
Laboratory的縮寫,是由Mathworks公司開發(fā)的一套用于科學(xué)工程統(tǒng)計(jì)的可視化高功能語言,具有強(qiáng)盛的矩陣運(yùn)算功底.與各人常用的Fortran和C等高級語言相比,MATLAB的語法法那么更簡單,更切近人的思維方式,被稱之為“草稿紙式的語言”.中斷如今,MATLAB差不多發(fā)展到12,1版,合用于全部32位的Windows操縱系統(tǒng),按NTFS(NT文件系統(tǒng))標(biāo)準(zhǔn)下完好裝置約需
850
MB.MATLAB軟件關(guān)鍵由主包、仿真系統(tǒng)和工具箱三大部分構(gòu)成.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用8,1,2
MATLAB使用入門1,MATLAB的裝置與卸載MATLAB軟件在用戶接口假想上具有較強(qiáng)的親和力,其裝置環(huán)節(jié)對比典型,開門見山運(yùn)行光盤中的裝置向?qū)е纬绦?/p>
SETUP.exe,按其提示一步步挑選即可.MATLAB自身帶有卸載程序,在其裝置目錄下有uninstall子目錄,運(yùn)行該目錄下的uninstall.exe即可;也能夠通過Windows系統(tǒng)的裝置卸載程序履行卸載.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用2,MATLAB的啟動(dòng)與退出MATLAB裝置實(shí)現(xiàn)后,會自動(dòng)在Windows桌面上生成一個(gè)快捷方式,它是指向裝置目錄下\bin\win32\matlab.exe的鏈接,雙擊它即可來到MATLAB集成環(huán)境的根本窗口,同樣稱之為號令窗口.MATLAB的退出與同樣WIN32的程序同樣,值得一提的是它有一個(gè)自身專有的快捷鍵Ctrl+Q.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用3,MATLAB界面簡介圖8-1
MATLAB根本界面——號令窗口第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用1)菜單欄菜單欄中包羅File、Edit、View、Web、Window和Help六個(gè)菜單項(xiàng).這個(gè)地方著重講解File項(xiàng).File項(xiàng)是信息輸入輸出的接口,包羅10個(gè)子項(xiàng),這個(gè)地方重點(diǎn)講解其中的5個(gè)子項(xiàng):New:
新建文件項(xiàng).
有四個(gè)挑選:
M
File(.M,
文本標(biāo)準(zhǔn)的MATLAB程序文件,
可以開門見山通過文件名的方式在MATLAB環(huán)境下講明運(yùn)行);Figure(圖形);Model(仿真模型文件)和GUI(可視化界面文件).第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用Open:翻開全部MATLAB撐持的文件標(biāo)準(zhǔn),系統(tǒng)將自動(dòng)識差別時(shí)接收相應(yīng)的程序?qū)ξ募男胁僮?例似,翻開一個(gè).m文件,系統(tǒng)將自動(dòng)翻開M文件編纂器對它履行編纂.Import
Data...:導(dǎo)入用于MATLAB操作的信息函數(shù),包羅各種圖象文件、聲音文件和.mat文件.Save
Workspace
As...:將任務(wù)空間的變量以.mat(二進(jìn)制)或
ASCII文本的情勢存入文件.Set
Path...:設(shè)置任務(wù)路徑.可以翻開路徑設(shè)置(Set
Path)對話框(圖8-2),將用戶自已創(chuàng)立的目錄介入MATLAB的目錄系統(tǒng)中,以便所編制的文件可以在MATLAB環(huán)境中開門見山調(diào)用.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用圖8-2路徑設(shè)置對話框第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用單擊Add
Folder...按鈕可以將你的一個(gè)文件夾介入到系統(tǒng)路徑中;Add
with
Subfolders...許可把一個(gè)文件夾包羅其全部的子文件夾介入到系統(tǒng)路徑中.這兩種操縱均可以直觀地在右側(cè)的路徑欄內(nèi)看到結(jié)論.選中一個(gè)介入的文件夾,你可以操縱Move
to
Top(移至全部路徑的最前面),Move
Up(上移一個(gè)),MoveDown(下移一個(gè)),Move
to
Bottom(移至全部路徑的最背面)等四個(gè)按鈕將扭轉(zhuǎn)文件在系統(tǒng)路徑中的布列位置以利于對文件的搜刮使用,也能夠操縱Remove按鈕將其刪除.對路徑操縱終了后,按Save按鈕予以保留;按Close按鈕封閉本對話框;按Revert按鈕勾銷全部未保留的修改;按Default按鈕將還原到MATLAB裝置時(shí)的路徑設(shè)置;按Help按鈕那么啟動(dòng)幫助系統(tǒng)解答疑難.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用2)號令行區(qū)對輸入號令的講明MATLAB按以下次序履行:①查抄它是否是任務(wù)空間中的變量,是那么表現(xiàn)變量內(nèi)容.②查抄它是否是嵌入函數(shù),是那么運(yùn)行之.③查抄它是否是子函數(shù).④查抄它是否是私有函數(shù).⑤查抄它是否是位于MATLAB搜刮路徑范疇內(nèi)的函數(shù)文件或腳本文件.請看重,介入有兩個(gè)以上的方案與輸入的號令相匹配,MATLAB將只履行第一個(gè)匹配.第4,8,章MMAAATTLLAABA程B常序設(shè)用計(jì)號語令言在信號處理中的應(yīng)用表8-1
MATLAB常用號令第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用8,2根本數(shù)值運(yùn)算8,2,1
MATLAB內(nèi)部特別變量和常數(shù)MATLAB內(nèi)部有很多變量和常數(shù),用以表達(dá)特別含義.常用的有:變量ans:指導(dǎo)往后未定義變量名的答案.常數(shù)eps:示意浮點(diǎn)相對精度,其值是從1,0到下一個(gè)最大浮點(diǎn)數(shù)之間的差值.該變量值做為部分MATLAB函數(shù)統(tǒng)計(jì)的相對浮點(diǎn)精度,
按IEEE規(guī)格,
eps=2-52, 近似為2,2204e-016,第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用(3)常數(shù)Inf:示意無窮大.當(dāng)輸入或統(tǒng)計(jì)中有除以0時(shí)產(chǎn)生Inf.(4)虛數(shù)單位i,j:示意復(fù)數(shù)虛部單位,相當(dāng)于.NaN:示意不定型值,是由00運(yùn)算產(chǎn)生的.常數(shù)pi:示意圓周率π,其值為3,141
592
653
589
7….第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用8,2,2變量類型1.變量命名法那么MATLAB中對變量的命名應(yīng)遵守以下法那么:變量名可以由字母、 數(shù)字和下劃線混淆構(gòu)成,
但必須以字母開頭.字符長度不能大于31,變量命名辨識大小寫.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用2.全部變量和全局變量全部變量是指那些每個(gè)函數(shù)體內(nèi)自已定義的,不能從其他函數(shù)和MATLAB任務(wù)空直會見的變量.全局變量是指用關(guān)鍵字“global”表明的變量.全局變量名應(yīng)盡管大寫,同時(shí)能反映它自已的含義.介入需要在任務(wù)空間和幾個(gè)函數(shù)中都能會見一個(gè)全局變量,必須在任務(wù)空間和這幾個(gè)函數(shù)中都表明該變量是全局的.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用8,2,3矩陣及其運(yùn)算MATLAB具有強(qiáng)盛的矩陣運(yùn)算和信息操作功能,對矩陣的操作必須聽從代數(shù)法那么.1.矩陣生成1)同樣矩陣的生成對于同樣的矩陣MATLAB的生成方式有多種.最簡單的方式是從鍵盤開門見山輸入矩陣元素.開門見山輸入矩陣元素時(shí)應(yīng)看重:各元素之間用空格或逗號隔開,用分號或回車終了矩陣行,用中括號把矩陣全部元素括起來.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用例8-1在任務(wù)空間產(chǎn)生一個(gè)3×3矩陣A可用MATLAB語言描述似下:A=[1
2
3;
4
5
6;
7
8
9]或
A=[1
2
34
5
67
8
9]運(yùn)行結(jié)論:A=1
2
34
5
67
8
9第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用2)特別矩陣的生成對于特別的矩陣可開門見山調(diào)用MATLAB的函數(shù)生成.用函數(shù)zeros生成全0矩陣:標(biāo)準(zhǔn)B=zeros(m,n)生成m×n的全0陣.用函數(shù)ones生成全1矩陣:標(biāo)準(zhǔn)B=ones(m,n)生成m×n的全1陣.用函數(shù)eye生成單位陣:標(biāo)準(zhǔn)B=eye(m,n)生成m×n矩陣,其中對角線元素全為1,其他元素為0.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用2.矩陣的運(yùn)算矩陣的運(yùn)算有根本運(yùn)算和函數(shù)運(yùn)算兩品種型.根本運(yùn)算包羅矩陣的加、減、乘、除、乘方、求轉(zhuǎn)置、求逆等,其關(guān)鍵特點(diǎn)是通過MATLAB供應(yīng)的根本運(yùn)算符+、-、*、(\)、^等即可實(shí)現(xiàn).函數(shù)運(yùn)算主假如通過調(diào)用MATLAB系統(tǒng)內(nèi)置的運(yùn)算函數(shù)來求取矩陣的行列式(det(A)),求秩(rank(A)),求特點(diǎn)值和特點(diǎn)向量([V,D]=eig(A)),求Jordan規(guī)格形(jordan(A))和矩陣分化等.需要用時(shí)可以參閱聯(lián)機(jī)幫助和相關(guān)參考書.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用例8-2矩陣的根本運(yùn)算.A=[1,
2,
3;
4,
5,
6];B
=[6,
5,
4;
3,
2,
1];C
=A+B%統(tǒng)計(jì)兩個(gè)矩陣的和D
=B′ %統(tǒng)計(jì)矩陣B的轉(zhuǎn)置E=A*D %做矩陣乘法,必須要知足矩陣乘法的根本要求%E該當(dāng)是
2階方陣F=det(E)%求E的行列式值G=E^(-1)%求E的逆第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用輸出結(jié)論:C=7
7
77
7
7D=6
35
24
1E=28
1073
28F=54G=0.5185
-0.1852-1,3519
0.5185第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用8,3根本語句8,3,1程序操縱語句1, 循環(huán)語句MATLAB的循環(huán)語句包羅for循環(huán)和while循環(huán)兩品種型.1)for循環(huán)語法標(biāo)準(zhǔn):for循環(huán)變量=起始值:步長:停止值循環(huán)體end第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用起始值和停止值為一整形數(shù),步長可感覺整數(shù)或小數(shù),省略步長時(shí),默許步長為1,履行for循環(huán)時(shí),判斷循環(huán)變量的值是否大于(步長為負(fù)時(shí)那么判斷是否小于)停止值,不大于(步長為負(fù)時(shí)那么小于)那么履行循環(huán)體,履行終了后加上步長,大于(步長為負(fù)時(shí)那么小于)停止值后退出循環(huán).第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用例8-3給矩陣A、B賦值.MATLAB語句及運(yùn)行結(jié)論似下:k=5;a=zeros(k,k)%矩陣賦零初值for
m=1∶kfor
n=1∶ka(m,n)=1(m+n-1);endendfor
i=m∶-1∶1b(i)=i;end第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用運(yùn)行結(jié)論:a=1,0000
0.5000
0.3333
0.2500
0.20000.5000
0.3333
0.2500
0.2000
0.16670.3333
0.2500
0.2000
0.1667
0.14290.2500
0.2000
0.1667
0.1429
0.12500.2000
0.1667
0.1429
0.1250
0.1111b=1
2
3
4
5第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用2)while循環(huán)語法標(biāo)準(zhǔn):while表達(dá)式循環(huán)體end其履行方式為:如果表達(dá)式為真(運(yùn)算值非0),那么履行循環(huán)體;如果表達(dá)式為假(運(yùn)算結(jié)論為0),那么退出循環(huán)體,履行end后的語句.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用例8-4
a=3;while
aa=a-1end輸出:a=2a=1a=0第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用2,前提轉(zhuǎn)移語句前提轉(zhuǎn)移語句有if和switch兩種.1)if語句MATLAB中if語句的用法與其他高級語言相相近,其根本語法標(biāo)準(zhǔn)有以下幾種:標(biāo)準(zhǔn)一:if邏輯表達(dá)式履行語句end第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用標(biāo)準(zhǔn)二:if邏輯表達(dá)式履行語句1else履行語句2end標(biāo)準(zhǔn)三:if邏輯表達(dá)式1履行語句1else
if邏輯表達(dá)式2履行語句2end第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用2)switch語句switch語句的用法與其他高級語言相相近,其根本語法標(biāo)準(zhǔn)為:switch表達(dá)式(標(biāo)量或字符串)case值1語句1case值2語句2…otherwise語句nend第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用8,3,2繪圖語句常用的MATLAB繪圖語句有figure、plot、subplot、stem等,圖形修飾語句有title、axis、text等.1.
figurefigure有兩種用法,只用一句figure號令,會創(chuàng)立一個(gè)新的圖形窗口,同時(shí)返回一個(gè)整數(shù)型的窗口編號.figure(n)示意將第n號圖形窗口做為往后的圖形窗口,同時(shí)將其表如今全部窗口的最前面;介入該圖形窗口不存在,那么新建一個(gè)窗口,同時(shí)賦以編號n.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用2.
plot線型繪圖函數(shù).用法為plot(x,y,′s′).指標(biāo)x為橫軸變量,y為縱軸變量,s用以操縱圖形的根本特點(diǎn)似顏色、粗細(xì)等,同樣可以省略,常用方式似表8-2所示.表8-2常用繪圖指標(biāo)的含義第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用Stem繪制離散序列圖,常用標(biāo)準(zhǔn)stem(y)和stem(x,y)分不和相應(yīng)的
plot函數(shù)的繪圖法那么同樣,只是用stem號令繪制的是離散序列圖.subplotsubplot(m,n,i)圖形表現(xiàn)時(shí)分割窗口號令,把一個(gè)圖形窗口分為m行,n列,m×n個(gè)小窗口,同時(shí)指定第i個(gè)小窗口為往后窗口.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用5.繪圖修飾號令在繪制圖形時(shí),咱們同樣需要為圖形減少各種注記以增加可讀性.在plot語句后使用title(′題目′)可以在圖形上方減少題目使用xlabel(′標(biāo)記′)或ylabel(′標(biāo)記′)為X軸或Y軸減少講明,
text(X值、Y值、′想加的標(biāo)示′)可以在圖形中隨意任性位置減少標(biāo)示.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用例8-5畫圖根本語句似圖
8-3所示.圖8-3例8-5中繪制的幾種正弦波形第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用MATLAB語句及運(yùn)行結(jié)論似下:x=0:0.1*pi:2*pi;
%定義x向量figure(1);
%創(chuàng)立一個(gè)新的圖形窗口,
編號為1subplot(2,2,1);
%將窗口分割為2行,
2列,
在第1個(gè)plot(x,sin(x));
%畫圖title(′正弦線′);
%給圖形加題目subplot(2,2,2);
%在第2個(gè)窗口中作圖plot(x,sin(x),′r′);
%畫一正弦波,
紅色xlabel(′X′);
%給x軸加講明第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用ylabel(′SIN(X)′);%給y軸加講明subplot(2,2,3);%在第2個(gè)窗口中作圖plot(x,sin(x),′--′);
%畫一正弦波,破折線subplot(2,2,4);
%在第2個(gè)窗口中作圖plot(x,sin(x),′r+′);
%畫一正弦波,
紅色破折線text(4,0,′注記′);第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用8,4
MATLAB函數(shù)8,4,1函數(shù)及其調(diào)用方式在MATLAB語言中,M文件有兩種情勢:腳本和函數(shù).腳本沒有輸入輸出指標(biāo),只是部分函數(shù)和號令的組合.它可以在MATLAB環(huán)境下開門見山履行,也能夠會見存在于整個(gè)任務(wù)空間內(nèi)的信息.由腳本創(chuàng)立的變量在腳本履行完后仍將保留在任務(wù)空間中可以接著對其履行操縱,直到使用clear號令對其排解為止.函數(shù)是MATLAB語言的關(guān)鍵構(gòu)成部分.MATLAB供應(yīng)的各種工具箱中的M文件幾乎根基上以函數(shù)的情勢給出的.函數(shù)接收輸入指標(biāo),返回輸出指標(biāo),且只能會見該函數(shù)自已任務(wù)空間中的變量,從號令窗或其他函數(shù)中不能對其任務(wù)空間的變量履行會第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用1.函數(shù)結(jié)構(gòu)MATLAB語言中供應(yīng)的函數(shù)同樣由以下五個(gè)部分構(gòu)成:函數(shù)定義行;H1行;函數(shù)幫助文件;函數(shù)體;注釋.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用這五個(gè)部分中最關(guān)鍵的是函數(shù)定義行和函數(shù)體.函數(shù)定義行:MATLAB語言在M文件的第一行用關(guān)鍵字“function”把M文件定義為一個(gè)函數(shù),同時(shí)指定它的名字(必須和文件名同樣),同時(shí)也定義了函數(shù)的輸入和輸出指標(biāo).函數(shù)定義行是一個(gè)MATLAB函數(shù)所必須的,其他各部分的內(nèi)容可以沒有,這類函數(shù)稱為空函數(shù).例似:求最大值函數(shù)“max”的定義行可描述為function
[Y,I]=max(x)第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用其中,“max”為函數(shù)名,輸入指標(biāo)為“x”,輸出指標(biāo)為“Y”和“I”.函數(shù)體:函數(shù)體是函數(shù)的主體部分,它包羅履行運(yùn)算和賦值的全部MATLAB程序代碼.函數(shù)體中可以包羅流程操縱、輸入輸出、統(tǒng)計(jì)、賦值、注釋以及函數(shù)調(diào)用和腳本文件調(diào)用等.在函數(shù)體中實(shí)現(xiàn)對輸出指標(biāo)的統(tǒng)計(jì).第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用2.函數(shù)調(diào)用函數(shù)調(diào)用的環(huán)節(jié)事實(shí)上定是指標(biāo)傳送的環(huán)節(jié).例似,在一個(gè)腳本文件里調(diào)用函數(shù)“max”可接收似下方式:n=1:20;a=sin(2*pi*n20);[Y,I]=max(a);該調(diào)用環(huán)節(jié)把變量“a”傳給了函數(shù)中的輸入指標(biāo)“x”,接著把函數(shù)運(yùn)算的返回值傳給輸出指標(biāo)“Y”和“I”.其中,Y是a序列的最大值,I是最大值Y對應(yīng)的坐標(biāo)值.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用8,4,2常用數(shù)字信號操作函數(shù)1.信號產(chǎn)生函數(shù)1)三角波或鋸齒波產(chǎn)生函數(shù):sawtooth()語法標(biāo)準(zhǔn):sawtooth(t,width).產(chǎn)生以2π
為周期幅值范疇在[-1,+1]之間的三角波或鋸齒波.指標(biāo)t為時(shí)候向量;width是[0,1]之間的數(shù),它決意函數(shù)在一個(gè)周期內(nèi)上升部分和下降部分的比例.width=0.5產(chǎn)生三角波,width=1產(chǎn)生鋸齒波,此刻函數(shù)可簡寫為:sawtooth(t).第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用2)方波產(chǎn)生函數(shù):square()語法標(biāo)準(zhǔn):square(t).產(chǎn)生以2π為周期幅值范疇在[-1,+1]之間的方波,指標(biāo)t為時(shí)候向量.3)sinc產(chǎn)生函數(shù):sinc()語法標(biāo)準(zhǔn):sinc(t)t≠0t=0第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用例8-6信號產(chǎn)生舉例clear
allt=0:0.0001:0.1;x1=sawtooth(2*pi*50*t);%在[0,0.1]之間產(chǎn)生5個(gè)周期的鋸齒波subplot(221)plot(t,x1)x2=sawtooth(2*pi*50*t,0.5);%在[0,0.1]之間產(chǎn)生5個(gè)周期的三角波subplot(222)plot(t,x2)x3=square(2*pi*50*t);%在[0,2]之間產(chǎn)生10個(gè)周期的方波第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用subplot(223)plot(t,x3)axis([0,0.1,-1,2,1,2])t=-4:0.1:4;x4=sinc(t);%產(chǎn)生抽樣函數(shù)subplot(224)plot(t,x4)運(yùn)行結(jié)論似圖8-4所示.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用圖8-4常用信號(a)鋸齒波;(b)三角波;(c)方波;(d)抽樣函數(shù)第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用2.常用窗的MATLAB函數(shù)示意表8-3常用窗的MATLAB函數(shù)示意窗標(biāo)題MATLAB函數(shù)窗標(biāo)題MATLAB函數(shù)矩形窗boxcar(N)哈明窗hamming(N)三角窗triang(N)布萊克曼窗blackman(N)漢寧窗hanning(N)凱塞-貝爾窗kaiser(N,
BETA)第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用講明:除凱塞-貝爾窗外其他窗函數(shù)的使用方式同樣.函數(shù)的指標(biāo)N是窗長度,調(diào)用結(jié)論為一個(gè)列向量.例產(chǎn)生50點(diǎn)的哈明窗可用MATLAB語言示意為:y=hamming(50);plot(y)
凱塞-貝爾窗函數(shù)是一組可調(diào)窗函數(shù).
其法標(biāo)準(zhǔn)為:
Kaiser(N,
BETA),
返回一個(gè)N點(diǎn)的Kaiser窗,
指標(biāo)BETA是窗函數(shù)表達(dá)式中的指標(biāo)β,
其含義參照前面的理論部分講解.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用3.濾波器解析與實(shí)現(xiàn)函數(shù)取絕對值:abs()語法標(biāo)準(zhǔn):abs(x).當(dāng)x為實(shí)數(shù)時(shí)統(tǒng)計(jì)x的絕對值;x為復(fù)數(shù)時(shí)得到的是復(fù)數(shù)的模值;x為字符串時(shí)得到各字符的ASCII碼.取相角:angle()語法標(biāo)準(zhǔn):angle(z).求復(fù)矢量或復(fù)矩陣的相角,結(jié)論為一個(gè)以弧度為單位介于-π和+π之間的值.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用3)求線性卷積:conv()語法標(biāo)準(zhǔn):conv(x,y).求矢量x和y的卷積,如果x(n)和y(n)的長度分不為M和N,那么返回值是長度為M+N-1的矢量.例8-7
x(n)=[3
4
5];
y(n)=[2
6
7
8],求其線性卷積.MATLAB語句似下:x=[3
4
5];y=[2
6
7
8];
z=conv(x,y)運(yùn)行結(jié)論:z=6
26
55
82
67
40第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用4)操縱指定的數(shù)字濾波器對信息履行濾波:filter()常用語法標(biāo)準(zhǔn):y=filter(b,a,x).函數(shù)filter操縱數(shù)字濾波器對信息履行濾波時(shí),接收開門見山Ⅱ型結(jié)構(gòu)實(shí)現(xiàn),因而合用于
IIR和FIR兩種濾波器.指標(biāo):a=[a0
a1
a2…aM],b=[b0b1
b2…bN]是濾波器系數(shù),x為輸入序列矢量,y為濾波后的輸出.即:濾波器的系統(tǒng)函數(shù)為:規(guī)格情勢中取a0=1,如果輸入濾波系數(shù)a中a0≠1時(shí),
MATLAB會自動(dòng)歸一化系數(shù);如果a0=0,系統(tǒng)給出犯錯(cuò)信息.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用5)統(tǒng)計(jì)數(shù)字濾波器H(z)的次數(shù)響應(yīng)H(ejω):freqz()語法標(biāo)準(zhǔn):[H,W]=freqz(B,A,N)得到數(shù)字濾波器的N點(diǎn)的次數(shù)向量W和與之相對應(yīng)的N點(diǎn)的次數(shù)響應(yīng)向量H,統(tǒng)計(jì)所得的N個(gè)次數(shù)點(diǎn)平均的分布在[0,π]上.指標(biāo)A=[a0
a1
a2…
aM],B=[b0
b1
b2…bN]是濾波器系數(shù),即濾波器H(z)情勢似下:第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用指標(biāo)N(與上式中階次N的含義差不)最好選用2的整數(shù)次冪,以便使用FFT履行飛速運(yùn)算,N的缺省值為512,freqz(B,A,N)開門見山繪制次數(shù)響應(yīng)圖,而不返回任何值.H=freqz(B,A,W)返回W向量中指定的次數(shù)范疇內(nèi)的次數(shù)響應(yīng).其中,W以弧度為單位在[0,π]范疇內(nèi).[H,F(xiàn)]=freqz(B,A,N,F(xiàn)s)對H(ejω)在[0,F(xiàn)s2]上等間隔采樣N點(diǎn),采樣點(diǎn)次數(shù)及相應(yīng)的次數(shù)響應(yīng)值分不記錄在F和H中.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用6)統(tǒng)計(jì)數(shù)字濾波器H(z)的單位脈沖響應(yīng)h(n):impz()語法標(biāo)準(zhǔn):[H,T]=impz(B,A).濾波器用傳送函數(shù)模型限定,指標(biāo)B,A分不為H(z)分子分母多項(xiàng)式的系數(shù),函數(shù)返回濾波器的沖擊響應(yīng)列向量H和時(shí)候即采樣間隔列向量T.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用4.變幻函數(shù)1)一維飛速離散Fourier變幻:fft()語法標(biāo)準(zhǔn):y=fft(x).y是統(tǒng)計(jì)信號x的飛速離散傅里葉變幻.當(dāng)x為矩陣時(shí),統(tǒng)計(jì)x中每一列信號的離散傅里葉變幻.當(dāng)x的長度為2的冪時(shí),用基2算法;否那么,接收較慢的分裂基算法.y=fft(x,n).統(tǒng)計(jì)n點(diǎn)的FFT.當(dāng)x的長度大于n時(shí),截?cái)鄕;否那么補(bǔ)零.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用2)一維飛速離散Fourier逆變幻:ifft()語法標(biāo)準(zhǔn):y=ifft(x).y是統(tǒng)計(jì)信號x的飛速離散傅里葉變幻的逆變幻.y=ifft(x,n).統(tǒng)計(jì)n點(diǎn)的飛速離散傅里葉變幻的逆變幻.3)離散余弦變幻(DCT):dct()語法標(biāo)準(zhǔn):y=dct(x).統(tǒng)計(jì)信號x的離散余弦變幻.y=dct(x,n).統(tǒng)計(jì)n點(diǎn)的離散余弦變幻.當(dāng)x的長度大于n時(shí),截?cái)鄕;否那么補(bǔ)零.離散余弦逆變幻可由函數(shù)idct實(shí)現(xiàn).第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用例
8-9
統(tǒng)計(jì)信號 ,
n=1,
2,
…,
100
的DCT.用MATLAB語言可實(shí)現(xiàn)似下:N=100;n=1:N;x=n+20*sin(2*pi*n20);y=dct(x);z=idct(y);subplot(311);stem(x,′.′);ylabel(′原始信號′);subplot(312);stem(y,′.′);ylabel(′DCT信號′);subplot(313);stem(z,′.′);ylabel(′IDCT信號′)第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用圖8-6信號的DCT和IDCT變幻第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用嘗試一內(nèi)容:1,解析同時(shí)繪出常用函數(shù)(a)鋸齒波;(b)三角波;(c)方波;(d)抽樣函數(shù)的時(shí)域特點(diǎn)波形.2,解析同時(shí)繪出常用窗函數(shù)時(shí)域特點(diǎn)波形.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用8,5
MATLAB在信號操作中的使用舉例8,5,1線性卷積與圓周卷積的統(tǒng)計(jì)例8-10已知兩序列:0≤n≤11其他
0≤n≤5其他求它們的線性卷積yl(n)=h(n)*x(n)和N點(diǎn)的圓周卷積y(n)=h(n)○N
x(n),同N
時(shí)探索兩者之間的關(guān)系.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用實(shí)現(xiàn)程序:統(tǒng)計(jì)圓周卷積的函數(shù).function
yc=circonv(x1,x2,N)%開門見山統(tǒng)計(jì)圓周卷積y=circonv(x1,x2,N)%輸出指標(biāo):圓周卷積結(jié)論y%輸入指標(biāo):需要統(tǒng)計(jì)圓周卷積的序列x1,x2和圓周卷積的點(diǎn)數(shù)Nif
length(x1)>Nerror(′N
must
not
be
less
than
length
of
x1′);endif
length(x2)>Nerror(′N
must
not
be
less
than
length
of
x2′);第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用%以上語句判斷兩個(gè)序列的長度是否小于Nx1=[x1,zeros(1,N-length(x1))];%填充序列x1(n)使其長度為N1+N2-1(序列x1(n)的長度為N1,序列x2(n)的長度為N2)x2=[x2,zeros(1,N-length(x2))];
%填充序列x2(n)使其長度為N1+N2-1n=[0:1:N-1];x2=x2(mod(-n,N)+1);H=zeros(N,N);for
n=1:1:N%生成序列x2((-n))NH(n,:)=cirshiftd(x2,n-1,N);end%該矩陣的k行為x2((k-1-n))Nyc=x1*H′;
%統(tǒng)計(jì)循環(huán)卷積第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用function
y=cirshiftd(x,m,N)%directly
realize
circular
shift
for
sequence
x%y=cirshiftd(x,m,N);%x:input
sequence
whose
length
is
less
than
N%m:how
much
to
shift%N:circular
length%y:output
shifted
sequenceif
length(x)>Nerror(′the
length
of
x
must
be
less
than
N′);endx=[x,zeros(1,N-length(x))];n=[0:1:N-1];y=x(mod(n-m,N)+1);第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用(2)
探索兩者之間的關(guān)系.clear
all;n=[0:1:11];m=[0:1:5];N1=length(n);N2=length(m);xn=0.8,^n;%生成x(n)hn=ones(1,N2);%生成h(n)yln=conv(xn,hn);%開門見山用函數(shù)conv統(tǒng)計(jì)線性卷第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用ycn=circonv(xn,hn,N1);
%用函數(shù)circonv統(tǒng)計(jì)N1點(diǎn)圓周卷積ny1=[0:1:length(yln)-1];ny2=[0:1:length(ycn)-1];subplot(2,1,1);%畫圖stem(ny1,yln);ylabel(′線性卷積′)subplot(2,1,2);stem(ny2,ycn);ylabel(′圓周卷積′)axis([0,16,0,4]);第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用圖8-7線性卷積和圓周卷積的對比第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用8,5,2操縱離散傅里葉變幻(DFT)解析信號的頻譜例8-11已知序列x(n)=2
sin(0.48πn)+cos(0.52πn)0≤n<100繪制x(n)及它的離散傅里葉變幻|X(k)|圖.MATLAB實(shí)現(xiàn)程序:clear
allN=100;n=0:N-1;xn=2*sin(0.48*pi*n)+cos(0.52*pi*n);XK=fft(xn,N);magXK=abs(XK);phaXK=angle(XK);subplot(1,2,1)第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用plot(n,xn)xlabel(′n′);ylabel(′x(n)′);title(′x(n)
N=100′);subplot(1,2,2)k=0:length(magXK)-1;stem(k,magXK,′.′);xlabel(′k′);ylabel(′|X(k)|′);title(′X(k)
N=100′);第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用圖8-8信號及其離散傅里葉變幻第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用8,5,3操縱FFT實(shí)現(xiàn)線性卷積如果序列x1(n)、x2(n)為長度分不為N1,N2的有限長序列,yc(n)=x1(n)○x2(n),yl(n)=x1(n)*
x2(n).由DFT的性質(zhì)可知N≥N1+N2-1時(shí)有yl(n)=yc(n)=IDFT{DFT[x1(n)]·DFT[x2(n)]}.序列較長時(shí)DFT運(yùn)算同樣用飛速算法FFT實(shí)現(xiàn).在
MATLAB的信號操作工具箱中函數(shù)FFT和IFFT用于飛速傅里葉變幻和逆變幻.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用例8-12用FFT實(shí)現(xiàn)例
8-10中兩序列的線性卷積.實(shí)現(xiàn)程序:n=[0:1:11];m=[0:1:5];N1=length(n);N2=length(m);xn=0.8,^n;%生成x(n)hn=ones(1,N2);%生成h(n)N=N1+N2-1;XK=fft(xn,N);第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用HK=fft(hn,N);YK=XK.*HK;yn=ifft(YK,N);if
all(imag(xn)==0)&(all(imag(hn)==0))%實(shí)序列的循環(huán)卷積仍舊為實(shí)序列yn=real(yn);endx=0:N-1;stem(x,yn,′.′)第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用圖8-9操縱FFT實(shí)現(xiàn)線性卷積第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用嘗試二內(nèi)容:1,統(tǒng)計(jì)序列x(n)=[1,2,3,4,5],與序列h(n)=[2,-2,35]的線性卷積和N=5,10點(diǎn)的圓周卷積.2,某序列為
,使用FFT函數(shù)解析其頻譜.操縱差不寬度N的矩形窗截短該序列,N分不為20,40,160,察看差不長度N的窗對譜解析結(jié)論的作用.第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用8,5,4
FIR濾波器的假想與實(shí)現(xiàn)FIR濾波器的假想方式有窗函數(shù)法和次數(shù)采樣法兩種,在
MATLAB的數(shù)字信號操作工具箱中供應(yīng)了函數(shù)fir1,fir1是接收典范窗函數(shù)法假想線性相位FIR數(shù)字濾波器,且具有規(guī)格低通、帶通、高通和帶阻等類型.語法標(biāo)準(zhǔn):B=fir1(n,Wn)B=fir1(n,Wn,′ftype′)B=fir1(n,Wn,window)B=fir1(n,Wn,′ftype′,window)第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用其中,n為FIR濾波器的階數(shù),對于高通、帶阻濾波器n取偶數(shù).Wn為濾波器中斷次數(shù),取值范疇0~1,對于帶通、帶阻濾波器,Wn=[W1,W2],且W1<W2,′ftype′為濾波器類型.缺省時(shí)為低通或帶通濾波器,為′high′時(shí)是高通濾波器,為′stop′時(shí)是帶阻濾波器.window為窗函數(shù),列向量,其長度為n+1;缺省時(shí),自動(dòng)取hamming窗.輸出指標(biāo)B為FIR濾波器系數(shù)向量,長度為n+1,第8章MATLAB程序設(shè)計(jì)語言在信號處理中的應(yīng)用例8-13用窗函數(shù)法假想一個(gè)線性相位FIR低通濾波器,功能指標(biāo):通帶中斷次數(shù)W
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版海外房產(chǎn)合伙購買協(xié)議3篇
- 2024項(xiàng)目投資與建設(shè)咨詢服務(wù)協(xié)議
- 專用簡易借款協(xié)議模板2024年版
- 二零二五版公司股權(quán)質(zhì)押及回購協(xié)議3篇
- 2025年度私車租賃夜間出行服務(wù)合同2篇
- 二零二五年度智慧城市建設(shè)合作協(xié)議示范文本4篇
- 2024版權(quán)轉(zhuǎn)讓與授權(quán)許可合同
- 2025年生態(tài)園區(qū)產(chǎn)權(quán)車位購置及維護(hù)服務(wù)合同4篇
- 二零二四年二手房買賣合同糾紛調(diào)解與仲裁條款3篇
- 二零二五年房車托管服務(wù)與生態(tài)旅游項(xiàng)目合作合同3篇
- 集成電路設(shè)計(jì)工藝節(jié)點(diǎn)演進(jìn)趨勢
- 新型電力系統(tǒng)簡介演示
- 特種設(shè)備行業(yè)團(tuán)隊(duì)建設(shè)工作方案
- 眼內(nèi)炎患者護(hù)理查房課件
- 肯德基經(jīng)營策略分析報(bào)告總結(jié)
- 買賣合同簽訂和履行風(fēng)險(xiǎn)控制
- 中央空調(diào)現(xiàn)場施工技術(shù)總結(jié)(附圖)
- 水質(zhì)-濁度的測定原始記錄
- 數(shù)字美的智慧工業(yè)白皮書-2023.09
- -安規(guī)知識培訓(xùn)
- 2021-2022學(xué)年四川省成都市武侯區(qū)部編版四年級上冊期末考試語文試卷(解析版)
評論
0/150
提交評論