MATLAB及其在數(shù)字信號處理中的應(yīng)用_第1頁
MATLAB及其在數(shù)字信號處理中的應(yīng)用_第2頁
MATLAB及其在數(shù)字信號處理中的應(yīng)用_第3頁
MATLAB及其在數(shù)字信號處理中的應(yīng)用_第4頁
MATLAB及其在數(shù)字信號處理中的應(yīng)用_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE12MATLAB及其在數(shù)字信號處理中的應(yīng)用摘要在科學(xué)技術(shù)迅速發(fā)展的今天,幾乎所有的工程技術(shù)領(lǐng)域中存在數(shù)字信號,對這些信號進行有效處理,以獲取我們需要的信息,正有力地推動數(shù)字信號處理學(xué)科的發(fā)展。MATLAB語言由于其語法的簡潔性、代碼接近自然數(shù)學(xué)描述方式以及具有豐富的專業(yè)函數(shù)庫等諸多優(yōu)點,吸引了眾多科學(xué)研究工作者,越來越成為科學(xué)研究、數(shù)值計算、建模仿真以及學(xué)術(shù)交流的事實標(biāo)準(zhǔn)。隨著MATLAB/SIMULINK通信、信號處理專業(yè)函數(shù)庫和專業(yè)工具箱的成熟,它們在通信理論研究、算法設(shè)計、系統(tǒng)設(shè)計、建模仿真和性能分析驗證等方面的應(yīng)用也更加廣泛。MATLAB軟件集數(shù)值分析、信號處圖形顯示于一體,且界面友好、具有強大的專業(yè)函數(shù)庫和工具箱,在數(shù)字信號處理的科學(xué)研究中越來越重要的計算和仿真驗證工具。關(guān)鍵詞:MATLAB數(shù)字信號處理應(yīng)用abstractWiththerapiddevelopmentofscienceandtechnology,almostallengineeringtechnologyhaverelationshipwithdigitalsignaltoday.Weshouldtohandlethesesignaleffectively,inordertogettheinformationweneed.Andinthiswaythedevelopmentofdigitalsignalprocessingdisciplineisstronglypromoted.Becauseofitssuccinctgrammarandthecodegetsclosetonatureandmathematicsdescriptionwaywithabundantprofessionalfunctionlibrary,andmanyotheradvantages,MATLABlanguagehasbecameatoolofscientificresearchthatbeusedmoreandmorewidely.Itattractednumerousscientificresearchersandbecamethecriterionoftruthofnumericalcalculations,modelingsimulationandacademicexchange.Withthematureofcommunicationandsignalprocessingprofessionalfunctionlibraryandprofessionaltoolbox,theapplicationofMATLAB/SIMULINKalsomoreextensiveincommunicationtheoryresearch,algorithmdesign,systemdesign,modelingsimulationvalidationandperformanceanalysis.MATLABsoftwaresetnumericalanalysis,signalplacegraphicdisplayatanorganicwhole,andfriendlyinterface.Becauseofitsstrongprofessionalfunctionlibraryandtoolbox,itplaysamoreandmoreimportantroleindigitalsignalprocessingofscientificresearchespeciallythecalculationandsimulationvalidationtool.Keywords:MATLAB,digitalsignalprocessing,applications目錄摘要 1abstract 21MATLAB簡介 31.1MATLAB的主要組成部分 41.2MATLAB開發(fā)環(huán)境 52 MATLAB在數(shù)字信號處理中的應(yīng)用 52.1基本信號的表示及可視化 52.2MATLAB在采樣與波形發(fā)生的應(yīng)用 72.3MATLAB在數(shù)字濾波器中的應(yīng)用 8參考文獻 131MATLAB簡介MATLAB是功能強大的科學(xué)及計算軟件,它不但具有以矩陣計算為基礎(chǔ)的強大數(shù)學(xué)計算和分析功能,而且還具有豐富的可視化圖形表現(xiàn)功能和方便的程序設(shè)計能力。MATLAB的應(yīng)用領(lǐng)域極為廣泛,除了數(shù)學(xué)計算和分析外,還被廣泛地應(yīng)用于自動控制、系統(tǒng)仿真、數(shù)字信號處理、圖形圖像分析、數(shù)理統(tǒng)計、人工智能、虛擬現(xiàn)實技術(shù)、通信工程、金融系統(tǒng)等領(lǐng)域,因此,MATLAB是面向21世紀(jì)的計算機程序設(shè)計及科學(xué)計算語言。1.1MATLAB的主要組成部分MATLAB系統(tǒng)包括5個主要部分:(1)開發(fā)環(huán)境MATLAB開發(fā)環(huán)境由一組工具和組件組成,這些工具是圖形化的用戶界面,包括MATLAB桌面和命令窗口、命令歷史窗口、幫助信息瀏覽器、文件和搜索路徑瀏覽器。(2)MATLAB數(shù)學(xué)函數(shù)庫MATLAB集成了豐富的數(shù)學(xué)函數(shù)庫,其強大的計算能力覆蓋了從基本函數(shù)(如求和、正弦、余弦和復(fù)數(shù)運算等)到高級函數(shù)(如矩陣求逆、矩陣特征值、貝塞爾函數(shù)和快速傅立葉變換等)的范圍。(3)MATLAB語言MATLAB語言是一種以矩陣運算為基礎(chǔ)的高級語言,包括控制流的描述、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入輸出及面向?qū)ο蟮木幊汰h(huán)境,既可以編制快速使用小程序,也可以編制大型復(fù)雜的應(yīng)用程序。(4)圖形功能MATLAB提供了功能強大的圖形系統(tǒng),既可以用高級命令完成二維和三維數(shù)據(jù)的可視化、圖像處理、動畫和圖形表達等功能,也可以通過使用圖形句柄完成復(fù)雜的圖形功能,實現(xiàn)對所有圖形對象的操作。(5)應(yīng)用程序接口(API)MATLAB還提供了應(yīng)用程序接口庫函數(shù),允許用戶使用C或FORTRAN語言編寫程序與MATLAB連接,功能包括與MATLAB的動態(tài)連接、調(diào)用MATLAB作為運算引擎、讀寫MAT文件等。MATLAB的廣泛應(yīng)用促進了其本身功能的迅速發(fā)展,以特定領(lǐng)域的應(yīng)用為主要目的的應(yīng)用程序——工具箱的數(shù)量和內(nèi)容在不斷增多。1.2MATLAB開發(fā)環(huán)境啟動MATLAB后,將顯示包括命令窗口(CommandWindow)、工作空間窗口(Workspace)、命令歷史窗口(CommandHistory)和當(dāng)前路徑窗口(CurrentDirectory)等四個窗口和主菜單組成的操作桌面(圖1.1)。操作桌面缺省狀態(tài)下顯示三個窗口,工作空間和當(dāng)前路徑窗口在同一位置顯示,可以通過該窗口下方的箭頭或窗口標(biāo)簽來切換。圖1.1操作桌面MATLAB在數(shù)字信號處理中的應(yīng)用2.1基本信號的表示及可視化數(shù)字信號處理的基礎(chǔ)是離散信號及離散系統(tǒng),在MATLAB中可直觀快速進行離散信號的顯示與運算。用MATLAB表示一離散序列x[k]時,可用兩個向量來表示。其中一個向量表示自變量k的取值范圍,另一個向量表示序列x[k]的值,在命令窗口直接輸入表示兩個向量的命令語句即可。例如利用MATLAB表示單位脈沖序列δ[k-2]在-4≤k≤4范圍內(nèi)各點的取值,可在命令窗口輸入如下語句:k=[-4:4];%確定k的取值范圍x=[(k-2)==0];%當(dāng)(k-n)為0時x的值為1,否則x的值為0stem(k,x);%建立坐標(biāo)系,作圖xlabel(‘k’);%在X軸添加標(biāo)簽:k程序產(chǎn)生的序列波形如圖2.1所示。圖2.1MATLAB產(chǎn)生的單位脈沖序列δ[k-2]在-4≤k≤4的圖形又如生成余弦序列x[n]=cos(0.02πn),其中n的取值范圍是[0,100],可在命令窗口直接輸入如下命令語句:n=0:2:100;%確定自變量n的取值范圍x=cos(0.02*pi*n);stem(x)%作圖xlabel(‘n’);%在X軸添加標(biāo)簽:n程序產(chǎn)生的波形如圖2.2所示圖2.2余弦序列x[n]=cos(0.02πn)的圖像另外,MATLAB的工具箱中還提供了大量的信號產(chǎn)生函數(shù),例如:sawtooth(產(chǎn)生鋸齒波或三角波信號)、square(產(chǎn)生方波信號)、chirp(產(chǎn)生調(diào)諧余弦信號)、gauspuls(產(chǎn)生高斯正弦脈沖信號)等等,調(diào)用這些函數(shù)可以方便地生成多種復(fù)雜信號。2.2MATLAB在采樣與波形發(fā)生的應(yīng)用數(shù)字信號處理的對象,是在采樣時鐘的控制之下,通過A/D轉(zhuǎn)換器一定的采樣頻率對模擬信號進行采樣得到的。根據(jù)采樣定理,采樣率必須大于模擬信號的最高采樣率(Nyquist頻率)的2倍。但是在許多情況下,要求信號以不同的頻率采樣,改變采樣時鐘雖然可行,但是并不可取。這時需要對采樣數(shù)據(jù)進行處理:或者用抽取的方法降低其采樣率(下采樣);或者用內(nèi)插的方法提高其采樣率(上采樣);或者兩者兼有之(重采樣)。在程序設(shè)計階段,為了對程序進行調(diào)試或驗證算法的正確性,需要一些特性已知的信號(簡單的如正弦、方波、三角波等),所以可以由Matlab提供一些波形產(chǎn)生函數(shù)。例如在上節(jié)中提到的方波發(fā)生器square()、鋸齒波和三角波發(fā)生器sawtooth()等。此外,對于采樣處理,MATLAB也提供了一些簡單的處理函數(shù),例如函數(shù)resample()可用于改變信號的采樣率、函數(shù)decimat()用于經(jīng)低通濾波后信號的下采樣以及函數(shù)interp()用于經(jīng)低通濾波后信號的上采樣等等。例如:要產(chǎn)生一頻率為10kHz的周期高斯脈沖信號,其帶寬為50%。脈沖重復(fù)的頻率為1kHz,采樣率為50kHz,脈沖序列的長度為10ms。重復(fù)時幅度每次衰減為原來的0.8倍。可在MATLAB的命令窗口直接輸入如下命令語句:t=0:1/50e3:10e-3;%確定時間范圍及步長d=[0:1/1e3:10e-3;0.8.^(0:10)]';y=pulstran(t,d,'gauspuls',10e3,0.5);%對連續(xù)函數(shù)進行采樣而得到脈沖序列plot(t,y);%作圖xlabel('時間/s');%給X軸加標(biāo)簽“時間/s”ylabel('幅值')%給Y軸加標(biāo)簽“幅值”程序產(chǎn)生的波形如圖2.3所示。圖2.3周期高斯脈沖信號2.3MATLAB在數(shù)字濾波器中的應(yīng)用濾波器是指用來對輸入信號進行濾波的硬件或軟件。如果濾波器的輸入、輸出都是離散時間信號,則該濾波器沖擊響應(yīng)也必然是離散的,這樣的濾波器定義為數(shù)字濾波器。數(shù)字濾波器用硬件實現(xiàn)的基本部件包括延遲器、乘法器和加法器;如果用軟件來實現(xiàn)時,它即是一段線性卷積程序。軟件實現(xiàn)的優(yōu)點是系統(tǒng)函數(shù)具有可變性,僅依賴于算法結(jié)構(gòu),而且易于獲得較理想的濾波功能。MATLAB的信號處理工具箱的兩個基本組成就是濾波器的設(shè)計與實現(xiàn)以及譜分析。工具箱提供了豐富而簡便的設(shè)計、實現(xiàn)FIR和IIR的方法,使原來繁瑣的程序設(shè)計簡化成函數(shù)調(diào)用,特別是濾波器的表達方式和形式之間的相互轉(zhuǎn)換顯得十分簡便,為濾波器的設(shè)計和實現(xiàn)開辟了一片廣闊的天地。數(shù)字濾波器從功能上分類,可分為低通濾波器、高通濾波器、帶通濾波器、帶阻濾波器。從濾波器的網(wǎng)絡(luò)結(jié)構(gòu)或者從單位脈沖響應(yīng)分類,可分為IIR濾波器(即無限長單位沖擊響應(yīng)濾波器)和FIR濾波器(即有限長單位沖擊響應(yīng)濾波器)。IIR濾波器和FIR濾波器的設(shè)計方法有很多不同之處,IIR濾波器設(shè)計方法有兩類,經(jīng)常用到的一類設(shè)計方法是借助于模擬濾波器的設(shè)計方法進行的。其設(shè)計思路是:先設(shè)計模擬濾波器得到傳輸函數(shù)H(s),然后將H(s)按某種方法轉(zhuǎn)換成數(shù)字濾波器的系統(tǒng)函數(shù)H(z)。這類方法是基于模擬濾波器的設(shè)計方法比較成熟的情況下,它不僅有完整的設(shè)計公式,也有完整的圖表供查閱。更可以直接調(diào)用MATLAB中的對應(yīng)的函數(shù)進行設(shè)計。另一類是直接在頻域或者時域中進行設(shè)計的,設(shè)計時必須用計算機作輔助設(shè)計,直接調(diào)用MATLAB中的一些程序或者函數(shù)可以很方便地設(shè)計出所需要的濾波器。FIR濾波器不能采用由模擬濾波器的設(shè)計進行轉(zhuǎn)換的方法。經(jīng)常用的是窗函數(shù)法和頻率采樣法。也可以借助計算機輔助設(shè)計軟件采用切比雪夫等波逼近法進行設(shè)計。對于每種濾波器的設(shè)計,方法也不盡相同,在此不予贅述,可查閱相關(guān)參考文獻。下面,對于IIR濾波器和FIR濾波器的設(shè)計各舉一例以說明。例一:利用Butterworth低通濾波器及脈沖響應(yīng)不變法設(shè)計滿足下列指標(biāo)的數(shù)字濾波器Ωp=0.1πrad,Ωs=0.4πrad,Ap≤1dB,As≥25dB解:設(shè)計滿足上述指標(biāo)數(shù)字濾波器的MATLAB程序如下:%DFBWLP指標(biāo)Wp=0.1*pi;Ws=0.4*pi;Ap=1;As=25;Fs=1;%抽樣頻率(Hz)%確定模擬BW指標(biāo)Wp=WP*Fs;Ws=Ws*Fs;%確定AF階數(shù)N=buttord(Wp,Ws,Ap,As,’s’);%由通帶指標(biāo)確定3-dB截頻Wc=Wp/(10^(0.1*Ap)-1)^(1/2/N);%確定BWAF[numa,dena]=butter(N,Wc,’s’);%確定DF[numd,dend]=impinvar(numa,dena,Fs);w=linspace(0,pi,512);h=freqz(numd,dend,w);%幅度歸一化DF的幅度響應(yīng)norm=max(abs(h));numd=numd/norm;plot(w/pi,20*log10(abs(h)/norm));grid;xlabel(‘Normalizedfrequency’);ylabel(‘Gain,dB’);disp(‘Numeratorploynomial’);fprintf(‘%.4e\n’,numd);disp(‘Denominatorploynomial’);fprintf(‘%.4e\n’,dend);%計算Ap和AsW=[WpWs];h=freqz(numd,dend,w);fprintf(‘Ap=%.4f\n’,-20*log10(abs(h(1))));fprintf(‘As=%.4f\n’,-20*log10(abs(h(2))));運行結(jié)果為Numeratorploynomial0.0000e+0002.3231e-0021.7880e-0020.0000e+000Denominatorploynomial1.0000e+000-2.2230e+0001.7193e+000-4.5520e-001Ap=0.0000As=0.0000該數(shù)字濾波器的增益響應(yīng)如圖2.4所示。圖2.4例一數(shù)字濾波器的增益響應(yīng)例二:試用Kaiser窗設(shè)計滿足下列指標(biāo)的FIR高通濾波器Ωp=0.4πrad,Ωs=0.6πrad,δs=0.01解:設(shè)計滿足上述指標(biāo)數(shù)字濾波器的MATLAB程序如下:%Kaiser窗設(shè)計FIR高通濾波器Rs=0.01;f=[0.4,0.6];a=[0,1];dev=Rs*ones(1,length(a));[M,Wc,beta,ftype]=kaiserord(f,a,dev);%使濾波器為Ⅰ型M=mod(M,2)+M;h=fir1(M,Wc,ftype,kaiser(M+1,beta));omega=linspace(0,pi,512);mag=freqz(h,[1],omega);plot(omega/pi,20*log10(abs(mag)));xlabel('Normalizedfrequency');ylabel('Gain,dB');grid;圖2.5畫出了所設(shè)計的FIR高通濾波器的增益響應(yīng)。圖2.5例二所設(shè)計的FIR高通濾波器的增益響應(yīng)參考文獻[1].陳德樹.計算機繼電保護原理與技術(shù)【M】北京:水利電力出版社,1992.[2].蔣志凱.數(shù)字濾波與卡爾曼濾波【M】北京:中國科學(xué)技術(shù)出版社,1993[3].樓順天、李博菡.基于MATLAB的系統(tǒng)分析與設(shè)計-信號處理【M】西安:西安電子科技大學(xué)出版社,1998.[4].胡廣書.數(shù)字信號處理:理論、算法與實現(xiàn)【M】.北京:清華大學(xué)出版社,1997.[5].蒙以正.MATLAB5.X應(yīng)用與技巧【M】北京:科學(xué)出版社,1999.[6].邵玉斌.Matlab/Sinmulink通信系統(tǒng)建模與仿真實例分析【M】北京:清華大學(xué)出版社,2008[7].陳后金.數(shù)字信號處理【M】北京:高等教育出版社,2004[8].李海濤、鄧櫻.MATLAB程序設(shè)計教程【M】北京:高等教育出版社,2002[9].Samsi,Siddharth1;Gadepally,Vijay2;Krishnamurthy,Ashok.MATLABforsignalprocessingonmultiprocessorsandmulticores.InstituteofElectricalandElectronicsEngineersInc.,March2010[10].DaiF,HYPERLINK"/DaisyOneClickSearch.do?product=WOS&search_mode=DaisyOneClickSearch&db_id=&SID=3Da

溫馨提示

  • 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

提交評論