MATLAB基礎(chǔ)與實例進階-12_第1頁
MATLAB基礎(chǔ)與實例進階-12_第2頁
MATLAB基礎(chǔ)與實例進階-12_第3頁
MATLAB基礎(chǔ)與實例進階-12_第4頁
MATLAB基礎(chǔ)與實例進階-12_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2023/2/4機械工業(yè)出版社Page1第12章MATLAB信號處理【學(xué)習(xí)目標】了解信號處理的概念領(lǐng)會與掌握用信號處理工具箱提供的各種方法設(shè)計濾波器理解統(tǒng)計信號處理的概念及應(yīng)用會用信號處理GUI對信號進行分析與處理全面了解工具箱中的其他信號處理方法2023/2/4機械工業(yè)出版社Page2第12章MATLAB信號處理信號處理工具箱基礎(chǔ)12.1濾波器設(shè)計與實現(xiàn)12.2

統(tǒng)計信號處理

12.3

信號處理GUI12.4

工具箱中的其他常用處理方法12.52023/2/4機械工業(yè)出版社Page312.1信號處理工具箱基礎(chǔ)信號處理工具箱是一個基于MATLAB環(huán)境的工具集合,可以解決諸如波形產(chǎn)生、濾波器設(shè)計及實現(xiàn)、參數(shù)建模和譜分析等一大類信號處理問題。2023/2/4機械工業(yè)出版社Page41.工具箱簡介1)命令行函數(shù)MATLAB信號處理工具箱提供了命令行函數(shù)用于解決諸如數(shù)字濾波器的設(shè)計、分析及實現(xiàn)、模擬濾波器的設(shè)計、分析及實現(xiàn)、線性系統(tǒng)變換、窗函數(shù)、譜分析和倒譜分析、變換、統(tǒng)計信號處理、參數(shù)建模、線性預(yù)測、多速率信號處理和波形產(chǎn)生等信號處理問題。2023/2/4機械工業(yè)出版社Page52)圖形用戶界面MATLAB信號處理工具箱提供的交互式圖形用戶界面用于解決以下3種問題:◆濾波器設(shè)計和分析◆窗的設(shè)計和分析◆信號的作圖及分析、譜分析和濾波2023/2/4機械工業(yè)出版社Page63)支持的數(shù)據(jù)類型信號處理工具箱僅支持雙精度類型的輸入數(shù)據(jù)。若輸入數(shù)據(jù)為單精度浮點型或單精度整型,則大多數(shù)情況下會產(chǎn)生錯誤的結(jié)果。濾波器設(shè)計工具箱與定點工具箱結(jié)合在一起,可用于單精度浮點型和定點型的濾波問題和濾波器設(shè)計問題。2023/2/4機械工業(yè)出版社Page72.交互式工具由于以下直觀易用的交互式工具的使用,信號處理工具箱的功能得以極大擴充。1)濾波器設(shè)計和分析工具(FDATool)濾波器設(shè)計和分析工具(FDATool)和Filterbuilder為濾波器設(shè)計提供了一個功能完善的平臺。FDATool和Filterbuilder為其他的濾波器設(shè)計方法、量化特點、C代碼生成和其它增強過濾的濾波器設(shè)計工具箱產(chǎn)品提供了無縫連接。若配備有FilterDesignHDLCoder軟件,則可以由FDATool和Filterbuilder

生成HDL代碼。2023/2/4機械工業(yè)出版社Page82)濾波器可視化工具(fvtool)提供用于查看、注釋和打印濾波器響應(yīng)曲線的圖形環(huán)境。3)信號處理工具(sptool)提供用于信號觀察、濾波器設(shè)計和譜分析的豐富的圖形環(huán)境。4)窗函數(shù)涉及和分析工具(wintool)提供用于設(shè)計和對比窗函數(shù)的環(huán)境。5)常函數(shù)可視化工具(wvtool)提供用于查看、注釋和打印窗函數(shù)曲線的圖形環(huán)境。2023/2/4機械工業(yè)出版社Page93.基本的信號處理概念1)信號的表示數(shù)字陣列:MATLAB環(huán)境中的中央數(shù)據(jù)結(jié)構(gòu),一個二維或多維的有序?qū)崝?shù)集合或復(fù)數(shù)集合。所涉及的基本數(shù)據(jù)類型(一維信號或序列、多通道信號和二維信號)通常都適于用陣列描述。向量表示:MATLAB通常用1×n維或n×1維的向量表示一維的采樣信號或序列,n是采樣點數(shù)。在MATLAB中產(chǎn)生一個序列的一種方法是在命令窗口直接將序列元素羅列出來。2023/2/4機械工業(yè)出版社Page102)波形產(chǎn)生時間向量:假設(shè)產(chǎn)生信號所用的采樣頻率為1000Hz,則可用下面的代碼產(chǎn)生一個時長為1秒(間隔1毫秒)的時間信號:>>t=(0:0.001:1)';產(chǎn)生一個由兩個正弦信號(頻率為50Hz和120Hz,幅度為1和2)構(gòu)成的采樣信號y:>>y=sin(2*pi*50*t)+2*sin(2*pi*120*t);2023/2/4機械工業(yè)出版社Page11對信號y加離散的正態(tài)分布的白噪聲,并畫出其前50個點>>randn('state',0);>>yn=y+0.5*randn(size(t));>>plot(t(1:50),yn(1:50))2023/2/4機械工業(yè)出版社Page12下面的代碼用來產(chǎn)生單位脈沖信號、單位階躍信號、單位斜坡函數(shù)和方波:>>t=(0:0.001:1)';>>imp=[1;zeros(99,1)];%單位脈沖信號>>unit_step=ones(100,1);%單位階躍信號>>ramp_sig=t;%單位斜坡信號>>quad_sig=t.^2;%時間信號的二次波>>sq_wave=square(4*pi*t);%占空比為50%的方波2023/2/4機械工業(yè)出版社Page13多通道信號:可由MATLAB中的矩陣描述。例如,下面代碼用以產(chǎn)生上面的代碼中最后三個信號構(gòu)成的3通道信號:>>z=[ramp_sig

quad_sig

sq_wave];多通道信號也可由下面的方法產(chǎn)生:先產(chǎn)生一個列向量,再將列向量進行復(fù)制以構(gòu)成一個矩陣,該矩陣就代表一個多通道信號。例如,下面的代碼先產(chǎn)生一個6元素的列向量(首元素為1,其他5個元素為0),再將該向量復(fù)制構(gòu)成一個3通道信號:2023/2/4機械工業(yè)出版社Page14>>a=[1zeros(1,5)]';>>c=a(:,ones(1,3))c=111

000000000000000常用的周期信號信號處理工具箱提供了用于產(chǎn)生廣泛應(yīng)用的周期信號的函數(shù),如:◆sawtooth產(chǎn)生鋸齒波,幅度為±1,周期為2π;使用該函數(shù)時,可以用參數(shù)“width”指定信號的最大值出現(xiàn)的位置?!魋quare產(chǎn)生周期為2π的方波;使用時,可以指定方波的占空比(方波信號的正值所占周期的比例)。2023/2/4機械工業(yè)出版社Page154.信號產(chǎn)生實例1.序列的產(chǎn)生:分別用行向量和列向量表示序列>>x=[437-91]x=437-91>>x=x'%序列的轉(zhuǎn)置x=437-912023/2/4機械工業(yè)出版社Page16對于單通道信號而言,通常用列向量表示,因為列向量容易擴展到多通道狀態(tài)。對于多通道信號,矩陣的每一列代表一個通道的信號,而矩陣的每一行則對應(yīng)一個采樣點。例如,在例12-1的基礎(chǔ)上產(chǎn)生下面的3通道信號,代碼如下:>>y=[x2*xx/pi]y=4.00008.00001.27323.00006.00000.95497.000014.00002.2282-9.0000-18.0000-2.86481.00002.00000.31832023/2/4機械工業(yè)出版社Page17若信號值中有復(fù)數(shù)元素,則轉(zhuǎn)置操作將對復(fù)元素取共軛。因此,若想在對一個由復(fù)數(shù)元素構(gòu)成的行向量進行轉(zhuǎn)置時,復(fù)元素不取共軛,可以用“.'”實現(xiàn)。例如:>>x=[1-i3+i2+3*i4-2*i];>>x1=x'x1=1.0000+1.0000i3.0000-1.0000i2.0000-3.0000i4.0000+2.0000i>>x2=x.'x2=1.0000-1.0000i3.0000+1.0000i2.0000+3.0000i4.0000-2.0000i2023/2/4機械工業(yè)出版社Page182.周期信號的產(chǎn)生:產(chǎn)生一個時長為1.5秒、頻率為50Hz、采樣頻率為10kHz的鋸齒波信號,并畫出前0.2秒的波形。>>fs=10000;>>t=0:1/fs:1.5;>>x=sawtooth(2*pi*50*t);>>plot(t,x);>>holdon;>>axis([00.2-11]);2023/2/4機械工業(yè)出版社Page1912.2濾波器設(shè)計與實現(xiàn)濾波器設(shè)計是根據(jù)指定的濾波性能要求確定濾波器系數(shù)的過程,濾波器的實現(xiàn)則是根據(jù)這些系數(shù)選擇合適的濾波器結(jié)構(gòu)。濾波器的設(shè)計和實現(xiàn)都完成以后,即可對輸入數(shù)據(jù)進行濾波。本節(jié)介紹如何利用信號處理工具箱設(shè)計和實現(xiàn)濾波器。2023/2/4機械工業(yè)出版社Page201.濾波器的實現(xiàn)和分析1)卷積和濾波濾波的數(shù)學(xué)基礎(chǔ)就是卷積運算。MATLAB中的函數(shù)conv可以用來實現(xiàn)兩個一維向量的卷積運算,下面的代碼可以實現(xiàn)序列和其自身的卷積:>>conv([111],[111])

ans=123212023/2/4機械工業(yè)出版社Page21假設(shè)一個滑動平均濾波器的單位脈沖響應(yīng)為輸入序列x(k)為一個長度為5的隨機向量,若在MATLAB中分別用變量h和x描述,則用下面的代碼即可計算出濾波器的輸出y:>>x=randn(5,1);>>h=[1111]/4;>>y=conv(h,x);2023/2/4機械工業(yè)出版社Page222)濾波器和傳遞函數(shù)若用Y(z)和X(z)分別表示數(shù)字濾波器的輸出序列y(n)和輸入序列x(n)的Z變換,H(z)表示濾波器的脈沖響應(yīng)的Z變換,則式子即是濾波器的傳遞函數(shù)。b(i)和a(i)是濾波器的系數(shù),濾波器的階數(shù)則由n和m中的較大者描述。2023/2/4機械工業(yè)出版社Page23濾波器的系數(shù)和名字n=0:b為一個標量,濾波器稱為無限脈沖響應(yīng)(IIR)濾波器、全極點型濾波器、遞歸系統(tǒng)或自回歸(AR)濾波器。m=0:a為一個標量,濾波器稱為有限脈沖響應(yīng)(FIR)濾波器、全零點型濾波器、非遞歸系統(tǒng)或滑動平均(MA)濾波器。n和m都大于0:濾波器是一個IIR、零極點型的遞歸系統(tǒng)或自回歸滑動平均(ARMA)濾波器。2023/2/4機械工業(yè)出版社Page24用函數(shù)filter進行濾波若某單極點數(shù)字濾波器(低通)的傳遞函數(shù)為則該濾波器在MATLAB中可用向量b和a描述>>b=1;>>a=[1-0.9];假設(shè)濾波器的輸入為x,則用下面的代碼即可得到濾波器的輸出y:y=filter(b,a,x);2023/2/4機械工業(yè)出版社Page252.頻率響應(yīng)數(shù)字濾波器的頻率響應(yīng)可由MATLAB中的函數(shù)freqz求解,若一個數(shù)字濾波器的頻率響應(yīng)用下式描述:下面的代碼求出濾波器的p點復(fù)頻率響應(yīng):[h,w]=freqz(b,a,p);2023/2/4機械工業(yè)出版社Page26函數(shù)freqz還可以指定采樣頻率或任意的頻率點數(shù)。例如:若要求一個12階切比雪夫I型濾波器的256點頻率響應(yīng),且指定采樣頻率為1000Hz,實現(xiàn)代碼如下:>>[b,a]=cheby1(12,0.5,200/500);>>[h,f]=freqz(b,a,256,1000);若采樣頻率用Fs描述,則上述代碼中的返回值f是一個256點的頻率向量,其元素在0到Fs/2之間。2023/2/4機械工業(yè)出版社Page27若要畫出濾波器的幅度相應(yīng)和相位響應(yīng),則在調(diào)用函數(shù)freqz時省去輸出即可。例如,一個9階的巴特沃斯低通濾波器的截止頻率為400Hz,采樣頻率為2000Hz,求其256點的復(fù)頻率響應(yīng),并畫出其幅度相應(yīng)和相位響應(yīng),實現(xiàn)代碼如下:>>[b,a]=butter(9,400/1000);>>freqz(b,a,256,2000)2023/2/4機械工業(yè)出版社Page282023/2/4機械工業(yè)出版社Page29觀察濾波器的幅度響應(yīng)和相位響應(yīng)也可以經(jīng)由fvtool完成。在MATLAB的命令窗口輸入下面的代碼:fvtool(b,a)在打開的窗口中單擊工具欄上的,即可在同一窗口中觀察濾波器的幅度相應(yīng)和相位響應(yīng),如下圖所示。2023/2/4機械工業(yè)出版社Page302023/2/4機械工業(yè)出版社Page313.濾波器的設(shè)計1)IIR濾波器設(shè)計2023/2/4機械工業(yè)出版社Page32下面的代碼分別設(shè)計了不同類型的低通、帶通、高通和帶阻濾波器:[b,a]=butter(5,0.4);%巴特沃斯低通濾波器[b,a]=cheby1(4,1,[0.40.7]);%切比雪夫I型帶通濾波器[b,a]=cheby2(6,60,0.8,'high');%切比雪夫II型高通濾波器[b,a]=ellip(3,1,60,[0.40.7],'stop');%橢圓型帶阻濾波器2023/2/4機械工業(yè)出版社Page33傳統(tǒng)的IIR數(shù)字濾波器設(shè)計包括下面3個步驟:1)設(shè)計截止頻率為1的模擬低通濾波器(歸一化模擬低通濾波器),并將該原型濾波器轉(zhuǎn)換為實際的模擬濾波器;2)將模擬濾波器變換到數(shù)字域;3)將濾波器離散化。在上述設(shè)計過程中所用到的函數(shù)及功能如下:2023/2/4機械工業(yè)出版社Page34模擬低通原型濾波器設(shè)計buttap:設(shè)計巴特沃斯型低通模擬原型濾波器;cheb1ap:設(shè)計切比雪夫I型低通模擬原型濾波器besselap:設(shè)計Bessel型低通模擬原型濾波器;ellipap:設(shè)計橢圓型低通模擬原型濾波器;cheb2ap:設(shè)計切比雪夫II型低通模擬原型濾波器頻率變換lp2lp:將低通模擬原型濾波器轉(zhuǎn)換為模擬低通濾波器lp2hp:將低通模擬原型濾波器轉(zhuǎn)換為模擬高通濾波器lp2bp:將低通模擬原型濾波器轉(zhuǎn)換為模擬帶通濾波器lp2bs:將低通模擬原型濾波器轉(zhuǎn)換為模擬帶阻濾波器離散化bilinear:雙線性變換法設(shè)計IIR數(shù)字濾波器impinvar:脈沖響應(yīng)不變法設(shè)計IIR數(shù)字濾波器2023/2/4機械工業(yè)出版社Page352)FIR濾波器設(shè)計信號處理工具箱提供了許多用于FIR濾波器設(shè)計的函數(shù),如:fir1、fir2、kaiserord、firls、firpm、firpmord、fircls、fircls1、cfirpm和firrcos等。在這些函數(shù)中,cfirpm可以設(shè)計任意一種線性相位濾波器和非線性相位濾波器,而其他的函數(shù)都只能設(shè)計線性相位濾波器。2023/2/4機械工業(yè)出版社Page36以函數(shù)fir1為例,fir1是用窗化法設(shè)計FIR濾波器,其語法形式為:b=fir1(n,Wn)b=fir1(n,Wn,win)Wn:截止頻率(取值在[0,1]之間,1對應(yīng)奈奎斯特頻率);b:長為n+1的行向量;win:長為n+1的向量,win省略則默認使用海明窗2023/2/4機械工業(yè)出版社Page374.濾波器設(shè)計實例用雙線性變換法設(shè)計一個IIR數(shù)字帶通濾波器。clc;clear

all;closeall;[z,p,k]=cheb1ap(5,3);[b,a]=zp2tf(z,p,k);fs=2;u1=2*fs*tan(0.1*(2*pi/fs)/2);u2=2*fs*tan(0.5*(2*pi/fs)/2);Bw=u2-u1;Wo=sqrt(u1*u2);[bt,at]=lp2bp(b,a,Wo,Bw);[bz,az]=bilinear(bt,at,fs);fvtool(bz,az);2023/2/4機械工業(yè)出版社Page382023/2/4機械工業(yè)出版社Page39設(shè)計一個48階帶通濾波器,通帶為>>b=fir1(48,[0.350.65]);>>fvtool(b,1)2023/2/4機械工業(yè)出版社Page405.用Filterbuilder

GUI設(shè)計濾波器

用filterbuilder設(shè)計一個帶通IIR濾波器的步驟1)在MATLAB的命令窗口輸入filterbuilder,打開如圖所示的濾波器響應(yīng)類型選擇對話框;2023/2/4機械工業(yè)出版社Page412)在列表框中選擇【Bandpass】,然后單擊,打開如圖所示的帶通濾波器設(shè)計界面;2023/2/4機械工業(yè)出版社Page423)將【Impulseresponse】項選為“IIR”,【Ordermode】項選為“Minimum”,【Designmethod】項選為“Butterworth”,單擊窗口右上角的,即可觀察設(shè)計出的IIR濾波器的幅頻響應(yīng)。2023/2/4機械工業(yè)出版社Page436.濾波器設(shè)計和分析GUI1)用FDATool設(shè)計濾波器以設(shè)計FIR帶通濾波器為例,步驟如下:◆在MATLAB的命令窗口輸入fdatool,打開濾波器設(shè)計窗口;◆指定濾波器的類型、設(shè)計方法和各種設(shè)計指標;◆單擊窗口下方的,即在窗口中顯示濾波器的幅頻響應(yīng)曲線。2023/2/4機械工業(yè)出版社Page442023/2/4機械工業(yè)出版社Page452)用FDATool分析濾波器◆改變圖像顯示區(qū)域所顯示的曲線種類菜單項【Analysis】的下拉菜單用來顯示濾波器的各種響應(yīng)類型。其中,下拉菜單項【OverlayAnalysis】可用來同時顯示多種響應(yīng)類型。工具欄上的按鈕組也可用來改變圖形顯示區(qū)域所顯示的響應(yīng)類型,從左到右依次是:幅度相應(yīng)、相位響應(yīng)、幅度和相位響應(yīng)、群時延、相時延、脈沖響應(yīng)、階躍響應(yīng)、零極點圖、濾波器系數(shù)、濾波器信息、幅度相應(yīng)估計和舍入噪聲功率譜。2023/2/4機械工業(yè)出版社Page46◆顯示數(shù)據(jù)點信息在曲線的某一點上單擊鼠標右鍵,即可顯示該點的數(shù)據(jù)信息,已顯示信息的點用黑色方塊標注;在黑色方塊上再次單擊鼠標右鍵,即可通過右鍵單擊菜單改變數(shù)據(jù)信息的顯示位置、字體大小、是否可移動選項、插值方法、是否將信息輸出到變量空間選項、刪除該數(shù)據(jù)點信息選項和刪除所有數(shù)據(jù)點信息選項。2023/2/4機械工業(yè)出版社Page47◆改變分析參數(shù)和采樣頻率用鼠標右鍵單擊圖形顯示區(qū)域的空白處,顯示下拉菜單【AnalysisParameters】、【SamplingFrequency】和【''What’sThis?''】,分別用來設(shè)置分析參數(shù)、改變采樣頻率和顯示幫助信息。◆在獨立窗口顯示響應(yīng)曲線單擊菜單【View】→【FilterVisualizationTool】即可打開fvtool,用獨立的窗口顯示濾波器的響應(yīng)曲線。2023/2/4機械工業(yè)出版社Page48◆濾波器的其他分析方法在濾波器設(shè)計窗口的左邊界下部有一個如下圖所示的工具欄(設(shè)計窗口上是由上至下顯示的),從上到下依次是:創(chuàng)建多速率濾波器、濾波器類型轉(zhuǎn)換、設(shè)置量化參數(shù)、濾波器實現(xiàn)模型、零極點編輯器和從變量空間導(dǎo)入濾波器。2023/2/4機械工業(yè)出版社Page4912.3統(tǒng)計信號處理統(tǒng)計信號處理是指,利用信號與干擾的不同統(tǒng)計特性,從統(tǒng)計的觀點出發(fā),研究如何對這種隨機性觀測結(jié)果進行處理,以便盡可能地抑制干擾而提取有用的信號。統(tǒng)計信號處理是一個重要的科學(xué)分支,其主要內(nèi)容是信號的檢測理論、估計和濾波理論及應(yīng)用。2023/2/4機械工業(yè)出版社Page501.相關(guān)和協(xié)方差兩個隨機過程的互相關(guān)和互協(xié)方差可由函數(shù)xcorr和xcov計算,特殊地,函數(shù)xcorr和xcov也可以計算自相關(guān)和自協(xié)方差。與卷積的計算類似,相關(guān)的計算函數(shù)xcorr采用的算法思想也是FFT。不同的是,在進行相關(guān)計算前,應(yīng)先將兩個子序列中的一個序列進行翻轉(zhuǎn)。2023/2/4機械工業(yè)出版社Page512.譜估計2023/2/4機械工業(yè)出版社Page52用非參數(shù)化方法中的周期圖法,對疊加噪聲的兩個正弦信號的和xn做功率譜估計。clc;clear

all;closeall;fs=1000;t=(0:fs)/fs;A=[12];f=[150;140];xn=A*sin(2*pi*f*t)+0.1*randn(size(t));Hs=spectrum.periodogram('Hamming');psd(Hs,xn,'Fs',fs,'NFFT',1024,'SpectrumType','onesided');2023/2/4機械工業(yè)出版社Page532023/2/4機械工業(yè)出版社Page5412.4信號處理GUI在MATLAB的命令窗口輸入sptool,得右圖。2023/2/4機械工業(yè)出版社Page551.信號觀察器信號觀察器完成的工作如下:分析和對比向量信號或陣列(矩陣)信號放大信號的一部分測量信號數(shù)據(jù)的多種特征對比多通道信號在音頻硬件上播放部分信號打印信號波形2023/2/4機械工業(yè)出版社Page56觀察信號的步驟1)選中【Signals】列表框中的一個信號(例如chirp);2)單擊下方的顯示的波形如右圖所示。2023/2/4機械工業(yè)出版社Page572.濾波器可視化工具FVTool的啟動是從SPTool開始的,方法如下:◆單擊SPTool窗口上的【Filters】列表框下方的:此時FVTool顯示已選擇濾波器的幅度相應(yīng),且和SPTool相聯(lián)系,SPTool中的任何改變將引起FVTool中相應(yīng)的改變。◆單擊FVTool中的菜單【File】→【NewFilterAnalysis】:此時FVTool是一個獨立的窗口,與SPTool沒有任何聯(lián)系。2023/2/4機械工業(yè)出版社Page583.頻譜觀察器頻譜觀測器可以完成下列工作:◆分析和對比譜密度曲線◆用不同的譜估計方法(Burg、協(xié)方差、FFT、修正協(xié)方差、MTM、MUSIC、Welch和Yule-WalkerAR)創(chuàng)建功率譜◆修改功率譜密度參數(shù)(如FFT長度、窗的類型和采樣頻率)◆打印譜曲線2023/2/4機械工業(yè)出版社Page59若要查看SPTool窗口的【Spectra】列表框中已有信號的功率譜,則將該信號選中,然后單擊下方的即可。若【Spectra】列表框中沒有要查看的信號,則創(chuàng)建步驟如下:1)在【Signals】列表框中選擇一個信號(如

mtlb);2)單擊【Spectra】列表框下方的3)在打開的頻譜觀測器窗口中單擊左下方的2023/2/4機械工業(yè)出版社Page602023/2/4機械工業(yè)出版社Page614.噪聲的濾波和分析1)從SPTool中導(dǎo)入一個信號◆在命令窗口輸入下面的代碼;>>randn('state',0);>>x=randn(5000,1);◆輸入sptool打開SPTool;◆單擊菜單【File】→【Import】;◆在打開的ImporttoSPTool窗口中選擇信號x,單擊,將x導(dǎo)入到右側(cè)的【Data】區(qū)域,在右下方的【SamplingFrequency】處輸入5000,在【Name】處輸入noise,單擊。2023/2/4機械工業(yè)出版社Page622)設(shè)計濾波器單擊SPTool中【Filters】列表框下方的以默認濾波器名“filt1”打開FDATool,按右圖設(shè)計一個FIR帶通濾波器。2023/2/4機械工業(yè)出版社Page633)將設(shè)計的濾波器應(yīng)用于信號noise◆選擇信號noise[vector]和濾波器fir1[design];◆單擊【Filters】列表框下方的打開ApplyFilter窗口,如下圖所示;◆在【OutputSignal】處輸入blnoise;◆單擊2023/2/4機械工業(yè)出版社Page644)分析信號

對比信號noise和blnoise?!舭聪耂hift鍵的同時依次用鼠標單擊信號noise和blnoise,將它們同時選中;◆單擊【Signals】列表框下方的打開信號觀察器;◆單擊信號觀察器工具欄上的“”,在打開的窗口中選擇信號blnoise,然后單擊,信號觀察器中即同時顯示出noise和blnoise,如下圖所示。2023/2/4機械工業(yè)出版社Page652023/2/4機械工業(yè)出版社Page665)觀察信號noise和blnoise的功率譜◆選擇信號noise,單擊【Spectra】列表框下方的;◆在打開的SpectrumViewer窗口中單擊,即顯示出信號noise的功率譜密度;◆同樣的方法顯示信號blnoise的功率譜密度,在

SPTool的【Spectra】列表框中顯示出spect1[auto]和spect2[auto]。◆重新激活SPTool窗口,同時選中spect1[auto]和spect2[auto],單擊【Spectra】列表框下方的,即在圖形顯示區(qū)同時顯示了noise和blnoise的功率譜密度,如下圖所示。2023/2/4機械工業(yè)出版社Page672023/2/4機械工業(yè)出版社Page6812.5工具箱中的其他常用處理方法

除了濾波器的設(shè)計和實現(xiàn)以及統(tǒng)計信號處理外,信號處理工具箱還提供了多種多樣的函數(shù),用于其它常用的信號處理理論,如:窗函數(shù)、參數(shù)建模、重采樣、倒譜分析、通信中的調(diào)制與解調(diào)以及幾種特殊的信號變換等。2023/2/4機械工業(yè)出版社Page691.窗窗的選擇在濾波器的設(shè)計和譜估計中起著非常重要的作用,主要用來抑制對無限長序列進行截短所產(chǎn)生的吉布斯效應(yīng)的影響。信號處理工具箱提供了用于設(shè)計和分析窗的圖形用戶界面工具wintool和窗的實現(xiàn)工具wvtool。以wintool為例,在MATLAB的命令窗口輸入wintool,即打開窗的設(shè)計和分析窗口,默認顯示海明窗,如下圖左所示。

wintool可用來同時顯示多個窗函數(shù)的波形及幅度響應(yīng),下圖右將FlatTop窗、漢寧窗、布萊克曼窗和海明窗同時顯示出來以作對比。2023/2/4機械工業(yè)出版社Page702023/2/4機械工業(yè)出版社Page712.參數(shù)建模參數(shù)建模用于尋找一個數(shù)學(xué)模型的參數(shù)來描述一個信號、系統(tǒng)或過程,用系統(tǒng)的已知信息創(chuàng)建模型。參數(shù)建模的應(yīng)用包括語音和音樂合成、數(shù)據(jù)壓縮、高分辨率譜估計、通信、工業(yè)和仿真。1)可用的參數(shù)建模函數(shù)時域建模:arburg、arcov、armcov、aryule、

lpc、levinson、prony和stmcb。頻域建模:invfreqz和invfreqs。2023/2/4機械工業(yè)出版社Page722)時域建模線性預(yù)測建模假設(shè)信號x(k)的每一個輸出樣本均是過的去n個輸出的線性組合,即則,信號x的一個n階全極點模型可以用下面的代碼產(chǎn)生:a=lpc(x,n);用下面的代碼產(chǎn)生一個全極點濾波器的脈沖響應(yīng)序列,并添加噪聲:>>randn('state',0);>>x=impz(1,[10.10.1

0.10.1],10)+randn(10,1)/10;2023/2/4機械工業(yè)出版社Page73則,系統(tǒng)的一個4階全極點模型的系數(shù)可由下面的代碼生成:>>a=lpc(x,4)a=1.00000.25740.16660.12030.25983)頻域建?!粼O(shè)計一個低通巴特沃斯濾波器;>>[b,a]=butter(4,0.4)b=0.04660.18630.27950.18630.0466a=1.0000-0.78210.6800-0.18270.0301◆計算濾波器的頻率響應(yīng);>>[h,w]=freqz(b,a,64);2023/2/4機械工業(yè)出版社Page74◆建模>>[b4,a4]=invfreqz(h,w,4,4)b4=0.04660.18630.27950.18630.0466a4=1.0000-0.78210.6800-0.18270.0301頻率向量w的單位是rad/s,不一定要均勻劃分。對于計算出來的w,函數(shù)invfreqz可以設(shè)計任意階次的濾波器與之相對應(yīng)。例如,下面的代碼建立一個3階模型:>>[b4,a4]=invfreqz(h,w,3,3)b4=0.04640.17850.24460.1276a4=1.0000-0.95020.7382-0.20062023/2/4機械工業(yè)出版社Page75函數(shù)invfreqz用下式來確定所建立的模型是最好的其中,A(w(k))和B(w(k))是多項式系數(shù)向量a和b的傅里葉變換,n是頻率向量w和脈沖響應(yīng)h(k)的長度,wt(k)是不同頻率之間的相對誤差的加權(quán)。此時,模型的建立可由下面的代碼實現(xiàn):invfreqz(h,w,n,m,wt);但是,此模型的穩(wěn)定性不能確保。2023/2/4機械工業(yè)出版社Page76函數(shù)invfreqz提供了一種使實頻率響應(yīng)點之間的均方誤差加權(quán)和最小的算法,即繼續(xù)在MATLAB的命令窗口輸入下面的代碼以建立新的模型:>>wt=ones(size(w));>>[b30,a30]=invfreqz(h,w,3,3,wt,30)b30=0.04640.18290.25720.1549a30=1.0000-0.86640.6630-0.1614此時,所建立的模型總是穩(wěn)定的。2023/2/4機械工業(yè)出版社Page77將由上述兩種方法所得到的模型的頻率響應(yīng)和原始巴特沃斯濾波器的頻率響應(yīng),同時用fvtool顯示出來并加以比較,如下圖所示。2023/2/4機械工業(yè)出版社Page783.重采樣信號處理工具箱提供了許多函數(shù),用于以較高的采樣率或較低的采樣率對信號進行重采樣,有:upfirdn:將重采樣應(yīng)用于FIR濾波器spline:三次樣條插值decimate:抽取interp:插值interp1:一維插值resample:以新的采樣率重采樣2023/2/4機械工業(yè)出版社Page79以函數(shù)resample為例進行說明,其語法形式為:y=resample(x,p,q);即,函數(shù)以原始采樣頻率的p/q倍速率對信號x進行重采樣,返回結(jié)果y的長度是x長度的p/q倍。MATLAB中有一長度為4001的音頻信號向量,采樣率為7418Hz,可在命令窗口通過下面的命令查看>>clear>>loadmtlb>>whosNameSizeBytesClassAttributesFs1x18double

mtlb4001x132008double>>FsFs=74182023/2/4機械工業(yè)出版社Page80若要以8192Hz的采樣率將此信號播放出來,需對其進行重采樣。首先,用函數(shù)rat獲得重采樣所需的因子p和q,重采樣后進行放音。代碼如下:>>[p,q]=rat(8192/Fs,0.0001)p=127q=115>>y=resample(mtlb,p,q);>>sound(y,8192)2023/2/4機械工業(yè)出版社Page814.倒譜分析及實例倒譜分析可由工具箱中的函數(shù)cceps完成,用以估計輸入序列的復(fù)倒譜,其語法形式為:xhat=cceps(x)返回值xhat是一個和輸入序列x同長度的實序列。以100Hz的采樣率產(chǎn)生一個45Hz的正弦波>>t=0:0.01:1.27;>>s1=sin(2*pi*45*t);在信號開始后的0.2秒給信號加一個回音,幅度為信號幅度的一半s2=s1+0.5*[zeros(1,20)s1(1:108)];2023/2/4機械工業(yè)出版社Page82>>c=cceps(s2);>>plot(t,c)計算新信號的復(fù)倒譜:2023/2/4機械工業(yè)出版社Page835.通信應(yīng)用及實例1)調(diào)制信號處理工具箱中的函數(shù)modulate可實現(xiàn)對信號的調(diào)制,常用的語法形式為:y=modulate(x,fc,fs,'method',opt)[y,t]=modulate(x,fc,fs,'method',opt)其中,x是原信號,fc是載波頻率,fs是采樣頻率,method是調(diào)制方法選擇參數(shù),opt其他的參數(shù)選項。2023/2/4機械工業(yè)出版社Page842)解調(diào)解調(diào)由函數(shù)demod實現(xiàn),常用的語法形式為:x=demod(y,fc,fs,'method',opt)各參數(shù)的含義同modulate。若y是一個矩陣,則dem

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論