




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2023/2/4機械工業出版社Page1第12章MATLAB信號處理【學習目標】了解信號處理的概念領會與掌握用信號處理工具箱提供的各種方法設計濾波器理解統計信號處理的概念及應用會用信號處理GUI對信號進行分析與處理全面了解工具箱中的其他信號處理方法2023/2/4機械工業出版社Page2第12章MATLAB信號處理信號處理工具箱基礎12.1濾波器設計與實現12.2
統計信號處理
12.3
信號處理GUI12.4
工具箱中的其他常用處理方法12.52023/2/4機械工業出版社Page312.1信號處理工具箱基礎信號處理工具箱是一個基于MATLAB環境的工具集合,可以解決諸如波形產生、濾波器設計及實現、參數建模和譜分析等一大類信號處理問題。2023/2/4機械工業出版社Page41.工具箱簡介1)命令行函數MATLAB信號處理工具箱提供了命令行函數用于解決諸如數字濾波器的設計、分析及實現、模擬濾波器的設計、分析及實現、線性系統變換、窗函數、譜分析和倒譜分析、變換、統計信號處理、參數建模、線性預測、多速率信號處理和波形產生等信號處理問題。2023/2/4機械工業出版社Page52)圖形用戶界面MATLAB信號處理工具箱提供的交互式圖形用戶界面用于解決以下3種問題:◆濾波器設計和分析◆窗的設計和分析◆信號的作圖及分析、譜分析和濾波2023/2/4機械工業出版社Page63)支持的數據類型信號處理工具箱僅支持雙精度類型的輸入數據。若輸入數據為單精度浮點型或單精度整型,則大多數情況下會產生錯誤的結果。濾波器設計工具箱與定點工具箱結合在一起,可用于單精度浮點型和定點型的濾波問題和濾波器設計問題。2023/2/4機械工業出版社Page72.交互式工具由于以下直觀易用的交互式工具的使用,信號處理工具箱的功能得以極大擴充。1)濾波器設計和分析工具(FDATool)濾波器設計和分析工具(FDATool)和Filterbuilder為濾波器設計提供了一個功能完善的平臺。FDATool和Filterbuilder為其他的濾波器設計方法、量化特點、C代碼生成和其它增強過濾的濾波器設計工具箱產品提供了無縫連接。若配備有FilterDesignHDLCoder軟件,則可以由FDATool和Filterbuilder
生成HDL代碼。2023/2/4機械工業出版社Page82)濾波器可視化工具(fvtool)提供用于查看、注釋和打印濾波器響應曲線的圖形環境。3)信號處理工具(sptool)提供用于信號觀察、濾波器設計和譜分析的豐富的圖形環境。4)窗函數涉及和分析工具(wintool)提供用于設計和對比窗函數的環境。5)常函數可視化工具(wvtool)提供用于查看、注釋和打印窗函數曲線的圖形環境。2023/2/4機械工業出版社Page93.基本的信號處理概念1)信號的表示數字陣列:MATLAB環境中的中央數據結構,一個二維或多維的有序實數集合或復數集合。所涉及的基本數據類型(一維信號或序列、多通道信號和二維信號)通常都適于用陣列描述。向量表示:MATLAB通常用1×n維或n×1維的向量表示一維的采樣信號或序列,n是采樣點數。在MATLAB中產生一個序列的一種方法是在命令窗口直接將序列元素羅列出來。2023/2/4機械工業出版社Page102)波形產生時間向量:假設產生信號所用的采樣頻率為1000Hz,則可用下面的代碼產生一個時長為1秒(間隔1毫秒)的時間信號:>>t=(0:0.001:1)';產生一個由兩個正弦信號(頻率為50Hz和120Hz,幅度為1和2)構成的采樣信號y:>>y=sin(2*pi*50*t)+2*sin(2*pi*120*t);2023/2/4機械工業出版社Page11對信號y加離散的正態分布的白噪聲,并畫出其前50個點>>randn('state',0);>>yn=y+0.5*randn(size(t));>>plot(t(1:50),yn(1:50))2023/2/4機械工業出版社Page12下面的代碼用來產生單位脈沖信號、單位階躍信號、單位斜坡函數和方波:>>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機械工業出版社Page13多通道信號:可由MATLAB中的矩陣描述。例如,下面代碼用以產生上面的代碼中最后三個信號構成的3通道信號:>>z=[ramp_sig
quad_sig
sq_wave];多通道信號也可由下面的方法產生:先產生一個列向量,再將列向量進行復制以構成一個矩陣,該矩陣就代表一個多通道信號。例如,下面的代碼先產生一個6元素的列向量(首元素為1,其他5個元素為0),再將該向量復制構成一個3通道信號:2023/2/4機械工業出版社Page14>>a=[1zeros(1,5)]';>>c=a(:,ones(1,3))c=111
000000000000000常用的周期信號信號處理工具箱提供了用于產生廣泛應用的周期信號的函數,如:◆sawtooth產生鋸齒波,幅度為±1,周期為2π;使用該函數時,可以用參數“width”指定信號的最大值出現的位置。◆square產生周期為2π的方波;使用時,可以指定方波的占空比(方波信號的正值所占周期的比例)。2023/2/4機械工業出版社Page154.信號產生實例1.序列的產生:分別用行向量和列向量表示序列>>x=[437-91]x=437-91>>x=x'%序列的轉置x=437-912023/2/4機械工業出版社Page16對于單通道信號而言,通常用列向量表示,因為列向量容易擴展到多通道狀態。對于多通道信號,矩陣的每一列代表一個通道的信號,而矩陣的每一行則對應一個采樣點。例如,在例12-1的基礎上產生下面的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機械工業出版社Page17若信號值中有復數元素,則轉置操作將對復元素取共軛。因此,若想在對一個由復數元素構成的行向量進行轉置時,復元素不取共軛,可以用“.'”實現。例如:>>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機械工業出版社Page182.周期信號的產生:產生一個時長為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機械工業出版社Page1912.2濾波器設計與實現濾波器設計是根據指定的濾波性能要求確定濾波器系數的過程,濾波器的實現則是根據這些系數選擇合適的濾波器結構。濾波器的設計和實現都完成以后,即可對輸入數據進行濾波。本節介紹如何利用信號處理工具箱設計和實現濾波器。2023/2/4機械工業出版社Page201.濾波器的實現和分析1)卷積和濾波濾波的數學基礎就是卷積運算。MATLAB中的函數conv可以用來實現兩個一維向量的卷積運算,下面的代碼可以實現序列和其自身的卷積:>>conv([111],[111])
ans=123212023/2/4機械工業出版社Page21假設一個滑動平均濾波器的單位脈沖響應為輸入序列x(k)為一個長度為5的隨機向量,若在MATLAB中分別用變量h和x描述,則用下面的代碼即可計算出濾波器的輸出y:>>x=randn(5,1);>>h=[1111]/4;>>y=conv(h,x);2023/2/4機械工業出版社Page222)濾波器和傳遞函數若用Y(z)和X(z)分別表示數字濾波器的輸出序列y(n)和輸入序列x(n)的Z變換,H(z)表示濾波器的脈沖響應的Z變換,則式子即是濾波器的傳遞函數。b(i)和a(i)是濾波器的系數,濾波器的階數則由n和m中的較大者描述。2023/2/4機械工業出版社Page23濾波器的系數和名字n=0:b為一個標量,濾波器稱為無限脈沖響應(IIR)濾波器、全極點型濾波器、遞歸系統或自回歸(AR)濾波器。m=0:a為一個標量,濾波器稱為有限脈沖響應(FIR)濾波器、全零點型濾波器、非遞歸系統或滑動平均(MA)濾波器。n和m都大于0:濾波器是一個IIR、零極點型的遞歸系統或自回歸滑動平均(ARMA)濾波器。2023/2/4機械工業出版社Page24用函數filter進行濾波若某單極點數字濾波器(低通)的傳遞函數為則該濾波器在MATLAB中可用向量b和a描述>>b=1;>>a=[1-0.9];假設濾波器的輸入為x,則用下面的代碼即可得到濾波器的輸出y:y=filter(b,a,x);2023/2/4機械工業出版社Page252.頻率響應數字濾波器的頻率響應可由MATLAB中的函數freqz求解,若一個數字濾波器的頻率響應用下式描述:下面的代碼求出濾波器的p點復頻率響應:[h,w]=freqz(b,a,p);2023/2/4機械工業出版社Page26函數freqz還可以指定采樣頻率或任意的頻率點數。例如:若要求一個12階切比雪夫I型濾波器的256點頻率響應,且指定采樣頻率為1000Hz,實現代碼如下:>>[b,a]=cheby1(12,0.5,200/500);>>[h,f]=freqz(b,a,256,1000);若采樣頻率用Fs描述,則上述代碼中的返回值f是一個256點的頻率向量,其元素在0到Fs/2之間。2023/2/4機械工業出版社Page27若要畫出濾波器的幅度相應和相位響應,則在調用函數freqz時省去輸出即可。例如,一個9階的巴特沃斯低通濾波器的截止頻率為400Hz,采樣頻率為2000Hz,求其256點的復頻率響應,并畫出其幅度相應和相位響應,實現代碼如下:>>[b,a]=butter(9,400/1000);>>freqz(b,a,256,2000)2023/2/4機械工業出版社Page282023/2/4機械工業出版社Page29觀察濾波器的幅度響應和相位響應也可以經由fvtool完成。在MATLAB的命令窗口輸入下面的代碼:fvtool(b,a)在打開的窗口中單擊工具欄上的,即可在同一窗口中觀察濾波器的幅度相應和相位響應,如下圖所示。2023/2/4機械工業出版社Page302023/2/4機械工業出版社Page313.濾波器的設計1)IIR濾波器設計2023/2/4機械工業出版社Page32下面的代碼分別設計了不同類型的低通、帶通、高通和帶阻濾波器:[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機械工業出版社Page33傳統的IIR數字濾波器設計包括下面3個步驟:1)設計截止頻率為1的模擬低通濾波器(歸一化模擬低通濾波器),并將該原型濾波器轉換為實際的模擬濾波器;2)將模擬濾波器變換到數字域;3)將濾波器離散化。在上述設計過程中所用到的函數及功能如下:2023/2/4機械工業出版社Page34模擬低通原型濾波器設計buttap:設計巴特沃斯型低通模擬原型濾波器;cheb1ap:設計切比雪夫I型低通模擬原型濾波器besselap:設計Bessel型低通模擬原型濾波器;ellipap:設計橢圓型低通模擬原型濾波器;cheb2ap:設計切比雪夫II型低通模擬原型濾波器頻率變換lp2lp:將低通模擬原型濾波器轉換為模擬低通濾波器lp2hp:將低通模擬原型濾波器轉換為模擬高通濾波器lp2bp:將低通模擬原型濾波器轉換為模擬帶通濾波器lp2bs:將低通模擬原型濾波器轉換為模擬帶阻濾波器離散化bilinear:雙線性變換法設計IIR數字濾波器impinvar:脈沖響應不變法設計IIR數字濾波器2023/2/4機械工業出版社Page352)FIR濾波器設計信號處理工具箱提供了許多用于FIR濾波器設計的函數,如:fir1、fir2、kaiserord、firls、firpm、firpmord、fircls、fircls1、cfirpm和firrcos等。在這些函數中,cfirpm可以設計任意一種線性相位濾波器和非線性相位濾波器,而其他的函數都只能設計線性相位濾波器。2023/2/4機械工業出版社Page36以函數fir1為例,fir1是用窗化法設計FIR濾波器,其語法形式為:b=fir1(n,Wn)b=fir1(n,Wn,win)Wn:截止頻率(取值在[0,1]之間,1對應奈奎斯特頻率);b:長為n+1的行向量;win:長為n+1的向量,win省略則默認使用海明窗2023/2/4機械工業出版社Page374.濾波器設計實例用雙線性變換法設計一個IIR數字帶通濾波器。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機械工業出版社Page382023/2/4機械工業出版社Page39設計一個48階帶通濾波器,通帶為>>b=fir1(48,[0.350.65]);>>fvtool(b,1)2023/2/4機械工業出版社Page405.用Filterbuilder
GUI設計濾波器
用filterbuilder設計一個帶通IIR濾波器的步驟1)在MATLAB的命令窗口輸入filterbuilder,打開如圖所示的濾波器響應類型選擇對話框;2023/2/4機械工業出版社Page412)在列表框中選擇【Bandpass】,然后單擊,打開如圖所示的帶通濾波器設計界面;2023/2/4機械工業出版社Page423)將【Impulseresponse】項選為“IIR”,【Ordermode】項選為“Minimum”,【Designmethod】項選為“Butterworth”,單擊窗口右上角的,即可觀察設計出的IIR濾波器的幅頻響應。2023/2/4機械工業出版社Page436.濾波器設計和分析GUI1)用FDATool設計濾波器以設計FIR帶通濾波器為例,步驟如下:◆在MATLAB的命令窗口輸入fdatool,打開濾波器設計窗口;◆指定濾波器的類型、設計方法和各種設計指標;◆單擊窗口下方的,即在窗口中顯示濾波器的幅頻響應曲線。2023/2/4機械工業出版社Page442023/2/4機械工業出版社Page452)用FDATool分析濾波器◆改變圖像顯示區域所顯示的曲線種類菜單項【Analysis】的下拉菜單用來顯示濾波器的各種響應類型。其中,下拉菜單項【OverlayAnalysis】可用來同時顯示多種響應類型。工具欄上的按鈕組也可用來改變圖形顯示區域所顯示的響應類型,從左到右依次是:幅度相應、相位響應、幅度和相位響應、群時延、相時延、脈沖響應、階躍響應、零極點圖、濾波器系數、濾波器信息、幅度相應估計和舍入噪聲功率譜。2023/2/4機械工業出版社Page46◆顯示數據點信息在曲線的某一點上單擊鼠標右鍵,即可顯示該點的數據信息,已顯示信息的點用黑色方塊標注;在黑色方塊上再次單擊鼠標右鍵,即可通過右鍵單擊菜單改變數據信息的顯示位置、字體大小、是否可移動選項、插值方法、是否將信息輸出到變量空間選項、刪除該數據點信息選項和刪除所有數據點信息選項。2023/2/4機械工業出版社Page47◆改變分析參數和采樣頻率用鼠標右鍵單擊圖形顯示區域的空白處,顯示下拉菜單【AnalysisParameters】、【SamplingFrequency】和【''What’sThis?''】,分別用來設置分析參數、改變采樣頻率和顯示幫助信息。◆在獨立窗口顯示響應曲線單擊菜單【View】→【FilterVisualizationTool】即可打開fvtool,用獨立的窗口顯示濾波器的響應曲線。2023/2/4機械工業出版社Page48◆濾波器的其他分析方法在濾波器設計窗口的左邊界下部有一個如下圖所示的工具欄(設計窗口上是由上至下顯示的),從上到下依次是:創建多速率濾波器、濾波器類型轉換、設置量化參數、濾波器實現模型、零極點編輯器和從變量空間導入濾波器。2023/2/4機械工業出版社Page4912.3統計信號處理統計信號處理是指,利用信號與干擾的不同統計特性,從統計的觀點出發,研究如何對這種隨機性觀測結果進行處理,以便盡可能地抑制干擾而提取有用的信號。統計信號處理是一個重要的科學分支,其主要內容是信號的檢測理論、估計和濾波理論及應用。2023/2/4機械工業出版社Page501.相關和協方差兩個隨機過程的互相關和互協方差可由函數xcorr和xcov計算,特殊地,函數xcorr和xcov也可以計算自相關和自協方差。與卷積的計算類似,相關的計算函數xcorr采用的算法思想也是FFT。不同的是,在進行相關計算前,應先將兩個子序列中的一個序列進行翻轉。2023/2/4機械工業出版社Page512.譜估計2023/2/4機械工業出版社Page52用非參數化方法中的周期圖法,對疊加噪聲的兩個正弦信號的和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機械工業出版社Page532023/2/4機械工業出版社Page5412.4信號處理GUI在MATLAB的命令窗口輸入sptool,得右圖。2023/2/4機械工業出版社Page551.信號觀察器信號觀察器完成的工作如下:分析和對比向量信號或陣列(矩陣)信號放大信號的一部分測量信號數據的多種特征對比多通道信號在音頻硬件上播放部分信號打印信號波形2023/2/4機械工業出版社Page56觀察信號的步驟1)選中【Signals】列表框中的一個信號(例如chirp);2)單擊下方的顯示的波形如右圖所示。2023/2/4機械工業出版社Page572.濾波器可視化工具FVTool的啟動是從SPTool開始的,方法如下:◆單擊SPTool窗口上的【Filters】列表框下方的:此時FVTool顯示已選擇濾波器的幅度相應,且和SPTool相聯系,SPTool中的任何改變將引起FVTool中相應的改變。◆單擊FVTool中的菜單【File】→【NewFilterAnalysis】:此時FVTool是一個獨立的窗口,與SPTool沒有任何聯系。2023/2/4機械工業出版社Page583.頻譜觀察器頻譜觀測器可以完成下列工作:◆分析和對比譜密度曲線◆用不同的譜估計方法(Burg、協方差、FFT、修正協方差、MTM、MUSIC、Welch和Yule-WalkerAR)創建功率譜◆修改功率譜密度參數(如FFT長度、窗的類型和采樣頻率)◆打印譜曲線2023/2/4機械工業出版社Page59若要查看SPTool窗口的【Spectra】列表框中已有信號的功率譜,則將該信號選中,然后單擊下方的即可。若【Spectra】列表框中沒有要查看的信號,則創建步驟如下:1)在【Signals】列表框中選擇一個信號(如
mtlb);2)單擊【Spectra】列表框下方的3)在打開的頻譜觀測器窗口中單擊左下方的2023/2/4機械工業出版社Page602023/2/4機械工業出版社Page614.噪聲的濾波和分析1)從SPTool中導入一個信號◆在命令窗口輸入下面的代碼;>>randn('state',0);>>x=randn(5000,1);◆輸入sptool打開SPTool;◆單擊菜單【File】→【Import】;◆在打開的ImporttoSPTool窗口中選擇信號x,單擊,將x導入到右側的【Data】區域,在右下方的【SamplingFrequency】處輸入5000,在【Name】處輸入noise,單擊。2023/2/4機械工業出版社Page622)設計濾波器單擊SPTool中【Filters】列表框下方的以默認濾波器名“filt1”打開FDATool,按右圖設計一個FIR帶通濾波器。2023/2/4機械工業出版社Page633)將設計的濾波器應用于信號noise◆選擇信號noise[vector]和濾波器fir1[design];◆單擊【Filters】列表框下方的打開ApplyFilter窗口,如下圖所示;◆在【OutputSignal】處輸入blnoise;◆單擊2023/2/4機械工業出版社Page644)分析信號
對比信號noise和blnoise。◆按下Shift鍵的同時依次用鼠標單擊信號noise和blnoise,將它們同時選中;◆單擊【Signals】列表框下方的打開信號觀察器;◆單擊信號觀察器工具欄上的“”,在打開的窗口中選擇信號blnoise,然后單擊,信號觀察器中即同時顯示出noise和blnoise,如下圖所示。2023/2/4機械工業出版社Page652023/2/4機械工業出版社Page665)觀察信號noise和blnoise的功率譜◆選擇信號noise,單擊【Spectra】列表框下方的;◆在打開的SpectrumViewer窗口中單擊,即顯示出信號noise的功率譜密度;◆同樣的方法顯示信號blnoise的功率譜密度,在
SPTool的【Spectra】列表框中顯示出spect1[auto]和spect2[auto]。◆重新激活SPTool窗口,同時選中spect1[auto]和spect2[auto],單擊【Spectra】列表框下方的,即在圖形顯示區同時顯示了noise和blnoise的功率譜密度,如下圖所示。2023/2/4機械工業出版社Page672023/2/4機械工業出版社Page6812.5工具箱中的其他常用處理方法
除了濾波器的設計和實現以及統計信號處理外,信號處理工具箱還提供了多種多樣的函數,用于其它常用的信號處理理論,如:窗函數、參數建模、重采樣、倒譜分析、通信中的調制與解調以及幾種特殊的信號變換等。2023/2/4機械工業出版社Page691.窗窗的選擇在濾波器的設計和譜估計中起著非常重要的作用,主要用來抑制對無限長序列進行截短所產生的吉布斯效應的影響。信號處理工具箱提供了用于設計和分析窗的圖形用戶界面工具wintool和窗的實現工具wvtool。以wintool為例,在MATLAB的命令窗口輸入wintool,即打開窗的設計和分析窗口,默認顯示海明窗,如下圖左所示。
wintool可用來同時顯示多個窗函數的波形及幅度響應,下圖右將FlatTop窗、漢寧窗、布萊克曼窗和海明窗同時顯示出來以作對比。2023/2/4機械工業出版社Page702023/2/4機械工業出版社Page712.參數建模參數建模用于尋找一個數學模型的參數來描述一個信號、系統或過程,用系統的已知信息創建模型。參數建模的應用包括語音和音樂合成、數據壓縮、高分辨率譜估計、通信、工業和仿真。1)可用的參數建模函數時域建模:arburg、arcov、armcov、aryule、
lpc、levinson、prony和stmcb。頻域建模:invfreqz和invfreqs。2023/2/4機械工業出版社Page722)時域建模線性預測建模假設信號x(k)的每一個輸出樣本均是過的去n個輸出的線性組合,即則,信號x的一個n階全極點模型可以用下面的代碼產生:a=lpc(x,n);用下面的代碼產生一個全極點濾波器的脈沖響應序列,并添加噪聲:>>randn('state',0);>>x=impz(1,[10.10.1
0.10.1],10)+randn(10,1)/10;2023/2/4機械工業出版社Page73則,系統的一個4階全極點模型的系數可由下面的代碼生成:>>a=lpc(x,4)a=1.00000.25740.16660.12030.25983)頻域建模◆設計一個低通巴特沃斯濾波器;>>[b,a]=butter(4,0.4)b=0.04660.18630.27950.18630.0466a=1.0000-0.78210.6800-0.18270.0301◆計算濾波器的頻率響應;>>[h,w]=freqz(b,a,64);2023/2/4機械工業出版社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,函數invfreqz可以設計任意階次的濾波器與之相對應。例如,下面的代碼建立一個3階模型:>>[b4,a4]=invfreqz(h,w,3,3)b4=0.04640.17850.24460.1276a4=1.0000-0.95020.7382-0.20062023/2/4機械工業出版社Page75函數invfreqz用下式來確定所建立的模型是最好的其中,A(w(k))和B(w(k))是多項式系數向量a和b的傅里葉變換,n是頻率向量w和脈沖響應h(k)的長度,wt(k)是不同頻率之間的相對誤差的加權。此時,模型的建立可由下面的代碼實現:invfreqz(h,w,n,m,wt);但是,此模型的穩定性不能確保。2023/2/4機械工業出版社Page76函數invfreqz提供了一種使實頻率響應點之間的均方誤差加權和最小的算法,即繼續在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此時,所建立的模型總是穩定的。2023/2/4機械工業出版社Page77將由上述兩種方法所得到的模型的頻率響應和原始巴特沃斯濾波器的頻率響應,同時用fvtool顯示出來并加以比較,如下圖所示。2023/2/4機械工業出版社Page783.重采樣信號處理工具箱提供了許多函數,用于以較高的采樣率或較低的采樣率對信號進行重采樣,有:upfirdn:將重采樣應用于FIR濾波器spline:三次樣條插值decimate:抽取interp:插值interp1:一維插值resample:以新的采樣率重采樣2023/2/4機械工業出版社Page79以函數resample為例進行說明,其語法形式為:y=resample(x,p,q);即,函數以原始采樣頻率的p/q倍速率對信號x進行重采樣,返回結果y的長度是x長度的p/q倍。MATLAB中有一長度為4001的音頻信號向量,采樣率為7418Hz,可在命令窗口通過下面的命令查看>>clear>>loadmtlb>>whosNameSizeBytesClassAttributesFs1x18double
mtlb4001x132008double>>FsFs=74182023/2/4機械工業出版社Page80若要以8192Hz的采樣率將此信號播放出來,需對其進行重采樣。首先,用函數rat獲得重采樣所需的因子p和q,重采樣后進行放音。代碼如下:>>[p,q]=rat(8192/Fs,0.0001)p=127q=115>>y=resample(mtlb,p,q);>>sound(y,8192)2023/2/4機械工業出版社Page814.倒譜分析及實例倒譜分析可由工具箱中的函數cceps完成,用以估計輸入序列的復倒譜,其語法形式為:xhat=cceps(x)返回值xhat是一個和輸入序列x同長度的實序列。以100Hz的采樣率產生一個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機械工業出版社Page82>>c=cceps(s2);>>plot(t,c)計算新信號的復倒譜:2023/2/4機械工業出版社Page835.通信應用及實例1)調制信號處理工具箱中的函數modulate可實現對信號的調制,常用的語法形式為:y=modulate(x,fc,fs,'method',opt)[y,t]=modulate(x,fc,fs,'method',opt)其中,x是原信號,fc是載波頻率,fs是采樣頻率,method是調制方法選擇參數,opt其他的參數選項。2023/2/4機械工業出版社Page842)解調解調由函數demod實現,常用的語法形式為:x=demod(y,fc,fs,'method',opt)各參數的含義同modulate。若y是一個矩陣,則dem
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 紅木家具購銷合同協議書
- 合作協議電子合同怎么簽
- 廢棄物品銷毀合同協議
- 期貨操盤協議合同
- 代言合同續簽協議
- 轉讓地皮協議合同
- 晉城合同協議翻譯
- 產業園項目工程合同協議
- 員工協議合同封面
- 電廠施工安全合同協議書
- 2023版押品考試題庫必考點含答案
- 網絡計劃技術-網絡計劃技術概述(建筑施工組織)
- 危險化學品生產使用企業老舊裝置安全風險評估指南(試行)(可編輯版)
- 大飛機C919:追夢五十載,“破繭化蝶”
- 品牌視覺形象設計智慧樹知到答案章節測試2023年天津科技大學
- 設備運行巡檢情況月記錄表
- 2022年上海市初中學業考試地理中考試卷真題(含答案詳解)
- 洗潔精生產操作規程
- 高考語文復習-議論文結尾寫作之深化主旨 練習
- 建筑公司組織關系架構圖
- GB/T 4957-2003非磁性基體金屬上非導電覆蓋層覆蓋層厚度測量渦流法
評論
0/150
提交評論