MATLAB信號(hào)處理[務(wù)實(shí)運(yùn)用]_第1頁(yè)
MATLAB信號(hào)處理[務(wù)實(shí)運(yùn)用]_第2頁(yè)
MATLAB信號(hào)處理[務(wù)實(shí)運(yùn)用]_第3頁(yè)
MATLAB信號(hào)處理[務(wù)實(shí)運(yùn)用]_第4頁(yè)
MATLAB信號(hào)處理[務(wù)實(shí)運(yùn)用]_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余33頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)一 MATLAB入門(1)1.實(shí)驗(yàn)?zāi)康模?(1)了解MATLAB的體系結(jié)構(gòu)與特點(diǎn),熟悉其集成開發(fā)環(huán)境。 (2)熟悉MATLAB界面窗口的功能和使用方法。 (3)熟悉MATLAB的幫助系統(tǒng)及使用方法。 (4)了解MATLAB的的數(shù)據(jù)類型、基本形式和數(shù)組的產(chǎn)生方法。 (5)掌握MATLAB基本的數(shù)學(xué)運(yùn)算操作。2.實(shí)驗(yàn)原理 (1)MATLAB簡(jiǎn)介MATLAB是美國(guó)MathWorks公司開發(fā)的高性能的科學(xué)與工程計(jì)算軟件。它在數(shù)值計(jì)算、自動(dòng)控制、信號(hào)處理、神經(jīng)網(wǎng)絡(luò)、優(yōu)化計(jì)算、小波分析、圖像處理等領(lǐng)域有著廣泛的用途。近年來(lái),MATLAB在國(guó)內(nèi)高等院校、科研院所的應(yīng)用逐漸普及,成為廣大科研、工程技術(shù)人員

2、必備的工具之一。MATLAB具有矩陣和數(shù)組運(yùn)算方便、編程效率極高、易學(xué)易用、可擴(kuò)充性強(qiáng)和移植性好等優(yōu)點(diǎn),俗稱為“草稿紙式的科學(xué)計(jì)算語(yǔ)言”。它把工程技術(shù)人員從繁瑣的程序代碼編寫工作中解放出來(lái),可以快速地驗(yàn)證自己的模型和算法。 經(jīng)過(guò)幾十年的擴(kuò)充和完善,MATLAB已經(jīng)發(fā)展成為集科學(xué)計(jì)算、可視化和編程于一體的高性能的科學(xué)計(jì)算語(yǔ)言和軟件開發(fā)環(huán)境,整套軟件由MATLAB開發(fā)環(huán)境、MATLAB語(yǔ)言、MATLAB數(shù)學(xué)函數(shù)庫(kù)、MATLAB圖形處理系統(tǒng)和MATLAB應(yīng)用程序接口(API)等五大部分組成。MATLAB的主要特點(diǎn)包括強(qiáng)大的計(jì)算能力(尤其是矩陣計(jì)算能力)、方便的繪圖功能及仿真能力、極高的編程效率。另外

3、,MATLAB還附帶了大量的專用工具箱,用于解決各種特定領(lǐng)域的問(wèn)題。通過(guò)學(xué)習(xí)軟件的基本操作及其編程方法,體會(huì)和逐步掌握它在矩陣運(yùn)算、信號(hào)處理等方面的功能及其具體應(yīng)用。通過(guò)本課程實(shí)驗(yàn)的學(xué)習(xí),要求學(xué)生初步掌握MATLAB的使用方法,初步掌握M文件的編寫和運(yùn)行方法,初步將MATLAB運(yùn)用于數(shù)字信號(hào)處理中。循序漸進(jìn)地培養(yǎng)學(xué)生運(yùn)用所學(xué)知識(shí)分析和解決問(wèn)題的能力。 (2)MATLAB的工作界面(Desktop)與操作MATLAB安裝成功后,第一次啟動(dòng)時(shí),主界面如下圖(不同版本可能有差異)所示: 其中 是命令窗口(Command Window),是MATLAB的主窗口,默認(rèn)位于MATLAB界面的右側(cè),用于輸入

4、命令、運(yùn)行命令并顯示運(yùn)行結(jié)果。 是歷史命令窗(Command History),位于MATLAB界面的左下側(cè),默認(rèn)為前臺(tái)顯示。歷史命令窗用于保存用戶輸入過(guò)的所有的命令,為用戶下一次使用同一個(gè)命令提供方便。 是當(dāng)前目錄瀏覽器(Current Directory),位于MATLAB 界面的左上側(cè),默認(rèn)為前臺(tái)顯示。該窗口用于顯示當(dāng)前目錄和目錄中的所有文件及文件的相關(guān)信息,如類型,大小等。 是工作空間窗(Workspace),默認(rèn)位于MATLAB界面左上側(cè)的 后臺(tái)??梢酝ㄟ^(guò)點(diǎn)擊左上方的“Workspace”按鈕使之在前臺(tái)展現(xiàn)。MATLAB提供了方便實(shí)用的功能鍵用于編輯、修改命令窗口中當(dāng)前和以前輸入的命

5、令行。這些功能鍵如下表所示:命令窗口中常用的功能鍵功能鍵功能功能鍵功能重新調(diào)入上一命令行End光標(biāo)移到行尾重新調(diào)入下一命令行Ctrl+Home光標(biāo)移到命令窗頂部光標(biāo)左移一個(gè)字符Ctrl+End光標(biāo)移到命令窗底部光標(biāo)右移一個(gè)字符Esc清除命令行Ctrl+光標(biāo)左移一個(gè)字Delete刪除光標(biāo)處字符Ctrl+光標(biāo)右移一個(gè)字Backspace刪除光標(biāo)處左邊字符Home光標(biāo)移到行首clc清除命令窗顯示內(nèi)容clear清除工作空間中的變量和函數(shù)(3)MATLAB的幫助系統(tǒng)MATLAB提供了強(qiáng)大而完善的幫助系統(tǒng),包括命令行幫助、聯(lián)機(jī)幫助和演示幫助。要學(xué)會(huì)使用MATLAB,必須充分利用其幫助系統(tǒng),尤其是命令行幫助

6、功能。命令行幫助可以通過(guò)help命令獲得,其格式為:help 或help 目錄名目錄名函數(shù)名主題名數(shù)學(xué)符號(hào)(全英文)第一種格式在命令窗直接輸入help,不帶任何參數(shù),此時(shí),將顯示MATLAB的分類目錄和對(duì)目錄的簡(jiǎn)要說(shuō)明;第二種格式可以顯示具體目錄所包含的命令和函數(shù),或者具體的命令、函數(shù)、符號(hào)或某個(gè)主題的詳細(xì)信息。例如,在命令窗口鍵入:help sin,將會(huì)顯示關(guān)于正弦函數(shù)sin的詳細(xì)的幫助信息,通常包括函數(shù)的輸入輸出參數(shù)的含義、函數(shù)的調(diào)用格式以及函數(shù)使用實(shí)例等。(4)MATLAB的數(shù)據(jù)類型、基本形式及產(chǎn)生方法 i) 數(shù)據(jù)類型:MATLAB中的數(shù)據(jù)類型主要有:數(shù)值型(numerical),字符型

7、(char),元胞型(cell),結(jié)構(gòu)體型(structure)等,實(shí)驗(yàn)中涉及的主要是數(shù)值型和字符型。與C語(yǔ)言不同的是,在MATLAB中使用變量時(shí),不需要事先定義其數(shù)據(jù)類型,MATLAB會(huì)自動(dòng)判定。 ii) 數(shù)據(jù)基本形式:數(shù)據(jù)、變量在MATLAB中的基本形式是數(shù)組(array),其中一維數(shù)組又稱為向量(或矢量,vector),有行向量和列向量之分;二維數(shù)組又稱為矩陣(matrix),而標(biāo)量則視為11矩陣。 iii)數(shù)組的產(chǎn)生和引用:產(chǎn)生數(shù)組的方法很多,下面介紹兩種基本的方法。一維數(shù)組的產(chǎn)生:st:step:en,其中st和en分別為數(shù)組第一個(gè)和最后一個(gè)元素,step為相鄰兩個(gè)元素之間的差值。例

8、如 x=1:2:5 產(chǎn)生數(shù)組x=1 3 5。矩陣的產(chǎn)生:矩陣元素放在一對(duì)方括號(hào)中,同一行元素用逗號(hào)或空格隔開,不同行用分號(hào)隔開。例如 A=1 2;3,4。iiii)數(shù)組的引用:一維數(shù)組用單下標(biāo)引用,比如x(2);矩陣用雙下標(biāo)或單下標(biāo)引用均可,比如 A(1,2)與A(3)指的是同一個(gè)元素。除此以外,還有其他引用方式。3.實(shí)驗(yàn)內(nèi)容及其步驟本次實(shí)驗(yàn)需要完成以下內(nèi)容:(1) 常用窗口的基本操作注意:1)所有輸入在英文輸入狀態(tài)下進(jìn)行;2)表達(dá)式后加上分號(hào)“;”,則計(jì)算結(jié)果不顯示,這種方法可以加速程序運(yùn)行速度;表達(dá)式后無(wú)分號(hào),計(jì)算結(jié)果馬上顯示在命令窗口中。在命令窗輸入一條算式并計(jì)算,將計(jì)算結(jié)果賦給變量x,

9、執(zhí)行以下操作: 查看變量x的值; 清除命令窗口的顯示(清屏); 調(diào)出剛才輸入的算式,修改并重新計(jì)算; 清除變量x參考:x =2*4+3/4-3.2(2) 向量產(chǎn)生產(chǎn)生一個(gè)行向量,元素全為1;產(chǎn)生一個(gè)列向量,元素全為0;產(chǎn)生一個(gè)元素為偶數(shù)的向量;參考:a=ones(1,5); b=zeros(6,1); c=2:2:12;(3) 輸入簡(jiǎn)單的矩陣并計(jì)算:要點(diǎn):英文標(biāo)點(diǎn);矩陣元素放在“”之中,每一行的元素間用逗號(hào)或空格隔開,不同的行以分號(hào)“;”或回車來(lái)分割;,并計(jì)算A*B,A.*B,A/B,A./B,比較結(jié)果有何不同。參考:A = 1,2;3,4; B = 2,4;1,3;A*B; A.*B; A/

10、B;A./B; (4) 復(fù)數(shù)產(chǎn)生和運(yùn)算:已知,求的模和幅角,計(jì)算。參考:z1 = 3+4i; z2 = 4+4i; mg =abs(z1);ang=angle(z2); z=z1/z2;4. 實(shí)驗(yàn)用MATLAB函數(shù)介紹在實(shí)驗(yàn)過(guò)程中用到的MATLAB指令(函數(shù))有: 函數(shù)類:ones,zeros,abs, angle等,具體調(diào)用格式參看“help”或者查閱相關(guān)書籍。 命令或運(yùn)算符類:clc,clear,help,lookfor,*,.*,.,/,./ , : 。5.思考練習(xí)題 (1)MATLAB在處理數(shù)據(jù)運(yùn)算過(guò)程中與其他高級(jí)語(yǔ)言有何不同。 (2)熟悉MATLAB的常用數(shù)學(xué)運(yùn)算符號(hào),比較幾種乘法的

11、運(yùn)算符號(hào)有何不同。(3)用help 命令查看以下函數(shù)的功能和用法:plot,stem,figure,subplot,axis,xlabel,ylabel,title,text,legend,sum。(4)已知,計(jì)算C=A*B,求C的實(shí)部,虛部,模和相角。(real , imag , abs , angle)實(shí)驗(yàn)二 MATLAB入門(2)1.實(shí)驗(yàn)?zāi)康模海?)掌握基本的繪圖方法。(2)掌握M文件的編寫和運(yùn)行方法。(3)熟悉MATLAB的搜索路徑及添加搜索路徑的方法。2.實(shí)驗(yàn)原理 (1)二維圖形的繪制與標(biāo)注MATLAB提供了強(qiáng)大的繪圖功能,便于數(shù)據(jù)的可視化操作。其中,二維圖形的繪制與標(biāo)注是最基本也是

12、最常用的繪圖操作。下面介紹所涉及的函數(shù)及其用法。1) plot 函數(shù)plot用于繪制連續(xù)函數(shù)的波形,其功能非常強(qiáng)大,可以同時(shí)繪制多條曲線,可以指定曲線的顏色、線型和數(shù)據(jù)點(diǎn)的形狀。調(diào)用格式如下:plot(x,y) 繪制x為橫坐標(biāo),y為縱坐標(biāo)的曲線,x、y可以是向量,也可以是矩陣;例1:以下兩行命令運(yùn)行后,將繪制sin函數(shù)在0之間的波形t=0:0.01:pi;plot(t,sin(t)plot(x,y,s) 繪制曲線,并指定線型、顏色、數(shù)據(jù)點(diǎn)形狀,s 為字符串例2:以下兩行命令運(yùn)行后,將繪制sin函數(shù)在0之間的波形,顏色為綠色,線型為虛線。t=0:0.01:pi;plot(t,sin(t),g-)

13、;plot(x1,y1,x2,y2) 于同一坐標(biāo)系內(nèi)分別x1,y1和x2,y2畫波形;例3:以下命令在同一坐標(biāo)系內(nèi)畫sin和cos函數(shù)的波形并指定顏色和線型。t=0:0.01:pi;plot(t,sin(t),g-,t,cos(t), r-);plot(x1,y1,s1,x2,y2,s2) 于同一坐標(biāo)系內(nèi)分別x1,y1和x2,y2畫波形,并指定線型、顏色等例4:以下命令在同一坐標(biāo)系內(nèi)畫sin和cos函數(shù)的波形,指定顏色和線型。t=0:0.01:pi;plot(t,sin(t),t,cos(t);2) stem 函數(shù)stem 用于繪制離散序列的波形。一般調(diào)用格式為:stem(n,x) 畫出以n、

14、x為坐標(biāo)的圖形。例如 n=0:10;x = cos(pi*n/3);stem(n,x);3) figure 和subplot函數(shù)figure 用來(lái)產(chǎn)生新的圖形窗口。函數(shù)subplot用來(lái)將圖形窗口切分為若干子窗口并激活其中某個(gè)子窗口用于當(dāng)前繪圖操作,一般和plot、stem等畫圖函數(shù)成對(duì)使用。調(diào)用格式為figure 生成一個(gè)新的圖形窗口。subplot(mnk)或subplot(m,n,k) 將圖形窗口切分為mn的子圖,并激活第k個(gè)用于繪圖。例5 以下命令在同一圖形窗口的三個(gè)子圖中分別畫圖:t=0:0.01:pi;n=0:10;subplot(311);plot(t,sin(t);subplo

15、t(312);plot(t,cos(t);subplot(313);stem(n,cos(pi*n/3);4) 用于圖形標(biāo)注的函數(shù) xlabel,ylabel,title 坐標(biāo)軸與圖形名稱標(biāo)注 調(diào)用格式為:xlabel(s),ylabel(s),title(s),s為字符變量或常數(shù)。例如:xlabel(t),ylabel(y),title(waveform of cos) axis 坐標(biāo)范圍控制,調(diào)用格式為: axis(xmin xmax ymin ymax)例如:axis(-2 3 -3 3) text 添加文本注釋,格式為text(x,y,s) 在坐標(biāo)(x,y)處添加文本注釋s,s是字符串

16、。例如:text(0.5,1,maxpoint); legend 給多條曲線標(biāo)注,同一坐標(biāo)系中有多條曲線時(shí),用legend區(qū)分它們。 調(diào)用格式:legend(str1,str2,),str1,str2,均為字符串例如:legend(sin,cos);(2)M文件的編寫與運(yùn)行MATLAB有兩種運(yùn)行方式:命令行運(yùn)行方式和M文件運(yùn)行方式。前者是在命令窗的提示符“”后直接輸入命令或計(jì)算表達(dá)式,回車后MATLAB即執(zhí)行運(yùn)算并可以顯示運(yùn)行結(jié)果,這種方式適合實(shí)現(xiàn)一些簡(jiǎn)單的功能,如簡(jiǎn)單計(jì)算和繪圖等;后一種方式中,M文件是用MATLAB語(yǔ)言編寫的程序文件,其擴(kuò)展名為.m,在MATLAB的M文件編輯器中輸入、編輯

17、和調(diào)試,生成后在命令窗口中運(yùn)行該程序,與運(yùn)行MATLAB其他命令相似。 從形式上來(lái)講,M文件可以分成M腳本(M script)文件和M函數(shù)(M function)兩類。腳本文件就是一系列MATLAB語(yǔ)句、命令的羅列、組合,運(yùn)行腳本文件時(shí),MATLAB依次執(zhí)行文件中的每一行語(yǔ)句,與操作系統(tǒng)中批處理文件的運(yùn)行方式相似。M函數(shù)文件和腳本文件的主要區(qū)別在于格式的不同:M函數(shù)文件第一行為函數(shù)定義行,以關(guān)鍵字“function”(通常為藍(lán)色字體)開頭,而腳本文件無(wú)此定義行;函數(shù)文件定義行的一般格式如下:function y1,y2,y3, = myfun(x1,x2,x3,)即定義行由關(guān)鍵字functio

18、n,輸出變量y1,y2,y3,,函數(shù)名myfun和輸入變量x1,x2,x3,四部分組成。其中關(guān)鍵字和函數(shù)名不能省略,輸入變量和輸出變量可以有多個(gè),也可以一個(gè)都沒有。沒有輸入輸出變量時(shí),中括號(hào),等號(hào)和小括號(hào)均可以省略。以下是M腳本文件和M函數(shù)文件的示例: %This is an M script sample。clear;x = -pi:0.1:pi;y1 = sin(x);y2 = cos(x);plot(x,y1,x,y2);title(cosine and sine functions);xlabel(time);ylabel(Amplitude);legend(y = cos(x),y

19、= sin(x);grid on;%This is an M function sample.function y,pos = findmax(a)% findMax find the max value of matrix a togeter with its position% y = findmax(a):find the max value of matrix a% y,pos = findmax(a):find the max value of matrix a,get its position % as well in posy,p = max(a(:);r,c =ind2sub(

20、size(a),p);pos = r,c;1)M文件的編寫與保存將上述兩段代碼在MATLAB自帶的文本編輯器里輸入,并保存,就分別得到腳本文件和函數(shù)文件。保存時(shí)要注意幾點(diǎn),一是文件名必須以字母開頭,二是函數(shù)文件名應(yīng)與函數(shù)名字相同,三是名字不能與MATLAB關(guān)鍵字相同,四是擴(kuò)展名為“.m”。2)M文件的運(yùn)行腳本文件的運(yùn)行很簡(jiǎn)單,只要在命令窗口中輸入文件名(不含擴(kuò)展名)并回車即可;比如,某腳本文件名為myfile.m,那么命令窗中輸入myfile,并回車即可。對(duì)函數(shù)文件,在命令窗中調(diào)用形式與該函數(shù)定義行的格式相同。比如,對(duì)上述函數(shù)文件findmax,可以在命令窗口中輸入: a=1,2;3,4;%

21、調(diào)用前需要給輸入變量賦具體值mx,ps=findmax(a)完成對(duì)findmax的調(diào)用,兩個(gè)輸出值分別賦給mx和ps兩個(gè)變量。(3)MATLAB的搜索路徑及設(shè)置M文件運(yùn)行時(shí),MATLAB按照事先設(shè)置好的路徑搜索順序來(lái)尋找M文件,如果要執(zhí)行的文件不在MATLAB的搜索路徑中,就無(wú)法執(zhí)行。利用MATLAB主界面File菜單中的“set path”可以將需要的目錄、文件夾添加到MATLAB的搜索路徑中,也可以設(shè)置新的搜索順序?;蛘呃煤瘮?shù)addpath,path,和pathtool設(shè)置搜索路徑。3.實(shí)驗(yàn)內(nèi)容及其步驟(4) 基本繪圖操作將一個(gè)圖形窗口分為三個(gè)子窗口,在三個(gè)字窗口中分別畫y=sin(t)

22、,y=cos(t)和y=cos(n/3) 的波形。前兩個(gè)為連續(xù)波形,第三個(gè)為離散波形。對(duì)第二個(gè)圖的橫坐標(biāo)、縱坐標(biāo)進(jìn)行標(biāo)注。(5) M文件的編寫、調(diào)試及運(yùn)行M 文件編寫及運(yùn)行:分別用編寫腳本文件和函數(shù)文件實(shí)現(xiàn) 1+2+3+50。提示:150放在數(shù)組x中,x的生成語(yǔ)句為:n = 50; x = 1:n;求和用sum函數(shù),函數(shù)用法請(qǐng)利用help命令獲得。4. 實(shí)驗(yàn)用MATLAB函數(shù)介紹在實(shí)驗(yàn)過(guò)程中用到的MATLAB命令(函數(shù))有: plot, stem, subplot, xlabel, ylabel, title, text,legend,figure,axis,addpath,path,path

23、tool,sum,sin,cos,exp等,具體調(diào)用格式參看“help”或者查閱相關(guān)書籍。另外,在具體的實(shí)驗(yàn)過(guò)程中也可以根據(jù)實(shí)際需要自己定義函數(shù)。 5.思考題 (1)用help命令查看plot的用法,回答以下問(wèn)題: 1)plot函數(shù)中兩個(gè)輸入X和Y代表什么?他們是標(biāo)量、向量還是矩陣?2)用plot繪圖時(shí),可以指定哪些線型和顏色?(2)繪制振蕩曲線及其包絡(luò)線的圖形,其中t的取值范圍是,并進(jìn)行相應(yīng)的標(biāo)注。(3)編寫一個(gè)函數(shù)文件,實(shí)現(xiàn)以下功能:輸入一個(gè)數(shù)組,對(duì)其元素進(jìn)行從大到小的排列,將排序后的數(shù)組輸出;求數(shù)組元素的最大值并求出它在原數(shù)組中的位置。實(shí)驗(yàn)三 連續(xù)信號(hào)的頻域分析1.實(shí)驗(yàn)?zāi)康模?(1)掌握

24、周期信號(hào)分解和合成的方法。 (2)掌握非周期信號(hào)頻譜分析方法。 2.實(shí)驗(yàn)原理 (1)周期信號(hào)的分析與合成 周期為T的周期信號(hào)的傅里葉級(jí)數(shù)有三角型與指數(shù)型兩種形式,分別表示為: 和 式子中,各系數(shù)的計(jì)算公式和相互關(guān)系如下:,傅里葉級(jí)數(shù)表明周期信號(hào)可以分解為正弦信號(hào)或虛指數(shù)的線性組合。由三角型的系數(shù)可畫出周期信號(hào)的單邊幅度譜和相位譜,由指數(shù)型的系數(shù)可畫出周期信號(hào)的雙邊譜,它們都是離散譜。上述系數(shù)可以用MATLAB函數(shù)quad或quadl計(jì)算。它們的調(diào)用格式為:y = quad(FUN,A,B), 和 y = quadl(FUN,A,B)其中,F(xiàn)UN是被積函數(shù)名或函數(shù)句柄;A和B分別是積分區(qū)間的下限

25、和上限。比如,系數(shù)可以如下計(jì)算:,(T為信號(hào)周期)PS: quad:采用遞推自適應(yīng)的Simpson法來(lái)計(jì)算,在低精度的非光滑曲線計(jì)算中是最有效的;quad1:采用遞推自適應(yīng)的Lobatto法來(lái)計(jì)算,在高精度的光滑曲線計(jì)算中更為高效;例1 求周期為4,幅度為1、脈沖寬度為2的對(duì)稱矩形脈沖信號(hào)的三角型傅里葉級(jí)數(shù)。參考:T = 4;A = 1;tao = 2;w0 = 2*pi/T;N = 6;f = (n) (2*quad (t)(A*rectpuls(t,tao).*cos(n*w0*t),-T/2,T/2)/T);%(n):匿名函數(shù),自定義matlab中的函數(shù),表示隨后跟隨的是屬于變量n的函數(shù)

26、。Matlab7以上版本才支持。for k = 1:N an(k) = f(k);endfun = (t)(A*rectpuls(t,tao);a0 = quad (fun,-T/2,T/2)/T;an = a0,an;nw0=w0*(0:N);stem(nw0,abs(an);例2 畫出例1中前6次諧波合成的信號(hào)波形,要求畫2個(gè)周期。t = -T:0.01:T;N=6;n=(0:N).;ft = an*cos(w0*n*t);plot(t,ft);(2)非周期信號(hào)的頻譜分析非周期的頻譜是連續(xù)譜,MATLAB通常用數(shù)值方法求其頻譜,一種方法是利用DFT變換,另一種方法是利用函數(shù)quad和qua

27、dl。調(diào)用格式參見上文。其中,傅里葉變換為,數(shù)值計(jì)算時(shí),頻率處的頻譜值為。例3求門寬為2的門函數(shù)的傅里葉變換,畫出其幅度譜。參考:w1 = -2*pi;w2 = -w1;t1 = -tao/2;t2 = -t1;N = 500;wk = linspace(w1,w2,N);%線性間隔向量生成函數(shù)F = zeros(1,N);Fw = (w)(quad(t)(rectpuls(t,tao).*exp(-j*w*t),t1,t2);for k = 1:N F(k) = Fw(wk(k);endplot(wk,abs(F);3.實(shí)驗(yàn)內(nèi)容及其步驟本次實(shí)驗(yàn)需要完成以下內(nèi)容:(6) 復(fù)習(xí)有關(guān)傅里葉級(jí)數(shù)和傅

28、里葉變換的有關(guān)內(nèi)容。(7) 求周期為5,幅度為2、脈沖寬度為2的對(duì)稱矩形脈沖信號(hào)的三角型傅里葉級(jí)數(shù),i. 畫出其幅度譜(取前7次諧波)。2)將前7次諧波疊加,畫出合成的波形(畫至少2個(gè)周期)。 提示:參考例1,例2.(8) 求單邊指數(shù)信號(hào)的傅里葉變換,畫出其在區(qū)間-,之間的幅度譜。提示:階躍信號(hào)可使用heaviside(t)函數(shù)4. 實(shí)驗(yàn)用MATLAB函數(shù)介紹在實(shí)驗(yàn)過(guò)程中用到的MATLAB指令(函數(shù))有: rectpuls, cos,quad,quadl, plot,linspace,zeros,abs,exp.5.思考練習(xí)題 (1)分析、對(duì)比實(shí)驗(yàn)內(nèi)容1中合成波形和原周期信號(hào)波形之間的不同,簡(jiǎn)

29、要說(shuō)明原因,增多諧波個(gè)數(shù),合成波形有什么變化?(2)對(duì)實(shí)驗(yàn)過(guò)程中所涉及的問(wèn)題進(jìn)行分析,試編寫和修改相應(yīng)的程序,得出最終正確的結(jié)果和波形圖,并對(duì)實(shí)驗(yàn)報(bào)告進(jìn)行整理分析。6.實(shí)驗(yàn)報(bào)告要求:(1)明確實(shí)驗(yàn)?zāi)康囊约皩?shí)驗(yàn)的原理。 (2)通過(guò)實(shí)驗(yàn)總結(jié)利用MATLAB分析信號(hào)頻譜的一般方法。 (3)完成思考題的內(nèi)容,對(duì)實(shí)驗(yàn)結(jié)果及其波形圖進(jìn)行分析對(duì)比,總結(jié)主要結(jié)論。實(shí)驗(yàn)四 離散信號(hào)的時(shí)域分析1. 實(shí)驗(yàn)?zāi)康模?) 學(xué)習(xí)MATLAB在信號(hào)分析和系統(tǒng)分析中的應(yīng)用;(2) 掌握MATLAB表示離散序列的方法、序列運(yùn)算的MATLAB實(shí)現(xiàn);2. 實(shí)驗(yàn)原理(1) 離散信號(hào)的表示:在MATLAB中,可以用向量(數(shù)組)來(lái)表示有限

30、長(zhǎng)序列,不過(guò)這樣的向量并沒有包含樣本位置的信息,因此,需要用兩個(gè)向量(數(shù)組)來(lái)表示一個(gè)有限長(zhǎng)序列,其中一個(gè)向量表示序列的值,稱為樣本向量;另一個(gè)向量表示樣本的位置(即序列的序號(hào)),稱為位置向量。比如序列在MATLAB中需要用以下兩個(gè)向量來(lái)表示:n = -2,-1,0,1,2,3; x = 2,1,-1,5,2; 其中 向量n表示序號(hào),向量x表示序列的值。當(dāng)不需要樣本位置信息或者序列從n = 0 開始時(shí),可以只用樣本向量表示。另外由于內(nèi)存的限制,MATLAB無(wú)法表示無(wú)限長(zhǎng)序列。(2) 離散信號(hào)的基本運(yùn)算 信號(hào)相加:序列相加是對(duì)應(yīng)樣本相加,如果兩序列長(zhǎng)度不等或者位置向量不同,則不能用算數(shù)運(yùn)算符“+

31、”直接實(shí)現(xiàn)相加,必須對(duì)位置向量和長(zhǎng)度統(tǒng)一處理后再相加。以下M函數(shù)可以實(shí)現(xiàn)任意兩序列的相加運(yùn)算: function y, n = sigadd(f1,n1,f2,n2)% y n = sigadd(f1,n1,f2,n2),Add two sequences.% Inputs:% f1 - the first sequence% n1 - index vector of f1% f2 - the second sequence% n2 - index vector of f2% Outputs:% y - the output sequence% n - index vector of y n

32、= min(n1(1),n2(1):max(n1(end),n2(end); % index vector of y(n)y1 = zeros(1,length(n); y2 = y1; % initializationy1(n = n1(1) & n = n2(1) & n = n2(end) = f2;y = y1 + y2; 序列的移位:序列移位后,樣本向量沒有變化,只是位置向量變了。任意序列的移位可以用以下的M函數(shù)實(shí)現(xiàn): function y,n = sigshift(x,m,n0)% y,n = sigshift(x,m,n0),result of y = x(n-n0);% Inp

33、uts:% x - sequence to be shifted% m - the index vector of x% n0 - shift amount % Outputs:% y - the output sequence% n - the index vector of yy = x;n = m + n0; 序列的反折:序列反折后,樣本向量倒置,位置向量倒置且變號(hào)。以下函數(shù)可以實(shí)現(xiàn)序列的反折運(yùn)算:function y,n = sigfold(x,m)% y,n = sigfold(x,n),result of y(n) = x(-n);% Inputs:% x - sequence t

34、o be folded% m - the index vector of x% Outputs:% y - the output sequence% n - the index vector of y y = fliplr(x);n = -fliplr(m);3. 實(shí)驗(yàn)內(nèi)容和步驟(1) 序列產(chǎn)生及表示a 在MATLAB中產(chǎn)生有限區(qū)間上的(n)或(n-n0),畫其波形。b 產(chǎn)生兩個(gè)隨機(jī)序列:x1序號(hào)始于-2,結(jié)束于7,樣本值為整數(shù);x2:序號(hào)始于0,結(jié)束于15,樣本值介于 -2與2之間;對(duì)產(chǎn)生的序列畫其波形圖。參考:a. %Generate the delta sequence function

35、 x,n = deltaN(n0,n1,n2)% x,n deltaN(n0,n1,n2),generate delta(n-n0),n1 = n = n2;draw % its stem graph if needed% Inputs:% n0 - sample position% n1 - beginning index of x% n2 - end index of x% Outputs:% x - the delta sequence% n - index vector of xn = n1:n2;x = n = n0;if nargout =,=,=L y = y1,zeros(1,

36、N-L);else m=L-N; y2 = circshift(y1,m); y3 = y2(1:m),zeros(1,N-m); y = y1(1:N)+y3;end函數(shù)中調(diào)用的circshift代碼如下:function y=circshift(x,m)% y=x(n-m)N = length(x)if abs(m)N m= rem(m,N);end n=0:N-1;y=x(mod(n-m,N)+1);提示:分別計(jì)算x1、x2的DFT,相乘,求逆(用ifft),將結(jié)果與圓周卷積的序列比較。4.實(shí)驗(yàn)用MATLAB函數(shù)介紹 用到的函數(shù)有:freqz,linspce,fft,ifft,subpl

37、ot,plot,abs,angle,xlabel,title,hold on,conv,length,rem,mod等。5. 思考題 (1)如果,如何比較精確的求出其DTFT? (2) 利用圓周卷積的矩陣形式,重新寫一個(gè)計(jì)算圓周卷積的函數(shù)。實(shí)驗(yàn)八 離散時(shí)間系統(tǒng)的頻域分析1.實(shí)驗(yàn)?zāi)康?(1)掌握系統(tǒng)頻率響應(yīng)的計(jì)算方法。(2)驗(yàn)證線性相位FIR濾波器的特性。2.實(shí)驗(yàn)原理(1)系統(tǒng)頻響的計(jì)算 用freqz計(jì)算,格式是:X,w = freqz(b,a,N);可以計(jì)算出0區(qū)間N個(gè)頻率點(diǎn)上的頻響,結(jié)果存在X中,而w是這N個(gè)點(diǎn)的頻率值構(gòu)成的向量,b和a分別是系統(tǒng)傳輸函數(shù)的分子系數(shù)和分母系數(shù)。(2)線性相位F

38、IR濾波器的特性 線性相位FIR濾波器共有4種類型,不同類型具有不同的零點(diǎn)特性。分別是:1 型:z=1 和z=-1處有偶數(shù)個(gè)零點(diǎn)或者沒有零點(diǎn);2型:z=1處有偶數(shù)個(gè)零點(diǎn)或無(wú)零點(diǎn),z=-1處有奇數(shù)個(gè)零點(diǎn);3型:z=1和z=-1處有奇數(shù)個(gè)零點(diǎn);4型:z=1處有奇數(shù)個(gè)零點(diǎn),z=-1處有偶數(shù)個(gè)零點(diǎn)或無(wú)零點(diǎn);3.實(shí)驗(yàn)內(nèi)容及其步驟(1)計(jì)算一個(gè)滑動(dòng)平均濾波器的頻響,取M=5,即,畫出幅度和相位響應(yīng):提示:用freqz,abs和angle函數(shù)部分參考代碼:M=5;b =ones(1,5)/M;a=1;H,w=freqz(b,a,500);(2)利用向量b=1 -8.5 12.4 -21,構(gòu)造4種類型的線性相

39、位濾波器,分別畫出各自的單位樣值響應(yīng),幅度響應(yīng)、相位響應(yīng)和零極點(diǎn)圖。提示:用fliplr,freqz,abs,angle,zplane 函數(shù)部分參考代碼:b1 =b,37,fliplr(b); %Design type1 FIR Filtern1=length(b1);subplot(221);stem(n1,b1);H,w=freqz(b1,1,500);%求H(e.jw)zplane(b1,1);%繪制零極點(diǎn)圖4.實(shí)驗(yàn)用MATLAB函數(shù)介紹用到的函數(shù)有:freqz,stem,abs,angle,subplot,xlabel,title,zplane5.思考題(1)設(shè)系統(tǒng)函數(shù) 用MATLAB

40、驗(yàn)證a0時(shí)是什么濾波器。(2)理想低通濾波器的單位樣值響應(yīng)可以用下式近似:,編寫程序,畫出的沖激響應(yīng),和幅度響應(yīng)。選取不同的N值,比較所得結(jié)果。實(shí)驗(yàn)9 IIR數(shù)字濾波器設(shè)計(jì)1.實(shí)驗(yàn)?zāi)康?(1)掌握模擬濾波器設(shè)計(jì)方法(2)掌握雙線性變換法和脈沖響應(yīng)不變法設(shè)計(jì)濾波器;(3)掌握低通、高通、帶通和帶阻濾波器的設(shè)計(jì)。(4) 掌握信號(hào)濾波過(guò)程的具體實(shí)現(xiàn)2實(shí)驗(yàn)原理(1)IIR數(shù)字濾波器的設(shè)計(jì)方法目前,設(shè)計(jì)IIR數(shù)字濾波器的通用方法是先設(shè)計(jì)相應(yīng)的模擬濾波器,然后再通過(guò)雙線性變換法或脈沖響應(yīng)不變法變換到相應(yīng)的數(shù)字濾波器。模擬濾波器從功能上分有低通、高通、帶通及帶阻四種,從逼近方法上分有巴特沃茲(Butterw

41、orth)濾波器、切比雪夫(Chebyshev)I型濾波器、切比雪夫II型濾波器、橢圓(Elliptic)濾波器等。(2) 模擬濾波器設(shè)計(jì)第一步:求階數(shù)及3dB截止頻率巴特沃茲型:N,Wn=buttord(Wp,Ws,Ap,As,s)切比雪夫I型:N,Wn=cheb1ord(Wp,Ws,Ap,As,s)切比雪夫II型:N,Wn=cheb2ord(Wp,Ws,Ap,As,s)橢圓型:N,Wn=ellipord(Wp,Ws,Ap,As,s)第二步:求系統(tǒng)函數(shù)Ha(s)巴特沃茲型:b,a=butter(N,Wn,ftype,s)切比雪夫I型:b,a=cheby1(N,Ap,Wn,ftype,s)切比雪夫II型:b,a=cheby2(N,As,Wn,ftype,s)橢圓型: b,a=e

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論