數(shù)字信號處理MATLAB實現(xiàn)及綜合應用_第1頁
數(shù)字信號處理MATLAB實現(xiàn)及綜合應用_第2頁
數(shù)字信號處理MATLAB實現(xiàn)及綜合應用_第3頁
數(shù)字信號處理MATLAB實現(xiàn)及綜合應用_第4頁
數(shù)字信號處理MATLAB實現(xiàn)及綜合應用_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第7章數(shù)字信號處理MATLAB實現(xiàn)及綜合應用7.1數(shù)字信號處理MATLAB實現(xiàn)7.2在雙音撥號系統(tǒng)中的應用7.3在wav信號分析方面的應用7.4在自適應濾波器方面的應用隨著信息學科和計算機學科的飛速發(fā)展,數(shù)字信號處理的重要性日益顯著,數(shù)字信號的處理已成為電子信息學科中的工程技術人員必不可少的知識。由于數(shù)字信號處理的概念比較抽象,再加上其數(shù)值計算又比較繁瑣,因此,國外很早就開始把MATLAB用于數(shù)字信號處理的教學過程,并取得了很好的經(jīng)驗,現(xiàn)在MATLAB已經(jīng)成為解決數(shù)字信號處理問題的公認的標準軟件。為了使讀者更好地掌握數(shù)字信號處理的基本概念和基本理論,本章首先在7.1節(jié)給出前面各章的MATLAB典型例題。通過這些例題,幫助讀者弄清一些重要的概念,加深對課程基本概念和基本原理的理解,學會利用計算機軟件解決在理論學習中不易解決的問題。然后在7.2節(jié)~7.4節(jié)分別給出了數(shù)字信號處理技術在通信、信號分析、自適應濾波等方面的實際應用,并給出了MATLAB仿真程序和結果分析,這些內容可以擴寬讀者數(shù)字信號處理技術應用的知識面,促進理論與實際相結合。本章和下一章上機實驗都是課程學習的重要實踐環(huán)節(jié),它不僅能幫助同學們理解和掌握課程的重要概念和基本內容,而且也有益于讀者深入學習和應用信號處理知識來解決實際問題。7.1數(shù)字信號處理MATLAB實現(xiàn)7.1.1MATLAB簡介7.1.2離散時間信號與系統(tǒng)分析應用舉例7.1.3離散傅里葉變換應用舉例7.1.4IIR濾波器設計常用函數(shù)及舉例7.1.5FIR濾波器設計常用函數(shù)及舉例7.1.1MATLAB簡介MATLAB是由美國MathWorks公司推出的軟件產(chǎn)品,“MATLAB”是MatrixLaboratory(矩陣實驗室)的縮寫。MATLAB是一個完整的并可擴展的計算機環(huán)境,是一種進行科學和工程計算的交互式程序語言。它的基本數(shù)據(jù)單元是不需要指定維數(shù)的矩陣,解決同樣的數(shù)值計算問題,使用MATLAB效率要提高許多倍。MATLAB采用開放式的環(huán)境,你可以讀到它的原碼、了解它的算法,并能改變當前的函數(shù)或增添自己編寫的函數(shù)。目前,在國內外大學和研究機構中,MATLAB是一種非常流行的計算機語言,許多重要的學術刊物上發(fā)表的論文均是用MATLAB來分析計算和繪制各種圖形。它還是一種有力的教學工具,在大學的線性代數(shù)、自動控制理論、數(shù)字信號處理、動態(tài)系統(tǒng)仿真等課程的教學中,已成為標準的教學工具。1.變量2.基本操作符3.輸入、輸出語句4.庫函數(shù)5.繪圖操作表7-1 MATLAB的常用繪圖命令及功能實際的圖形顯示有多種情況,下面分別加以說明。(1)需要用多個圖形窗顯示多個圖形時,應在圖形顯示語句之前加上圖形窗指令figure;(2)在一個圖形窗中顯示多個圖形時,應在圖形顯示語句之前調用圖形窗分塊函數(shù)subplot();(3)在一個圖形坐標系中顯示多條曲線時,要在plot()語句前先執(zhí)行指令holdon用以保持當前曲線,顯示完成之后,再執(zhí)行指令holdoff;(4)需要選擇坐標軸尺寸時,在plot()語句之后調用axis()函數(shù)。信號處理工具箱覆蓋了經(jīng)典信號處理的大多數(shù)內容,是一個非常優(yōu)秀的算法研究、輔助設計工具。它提供了大量的工具函數(shù)、濾波器分析和設計工具,常用的函數(shù)有以下幾種。(1)設計IIR濾波器相關函數(shù)buttord、butter、cheblord、cheb2ord、ellipord、cheby1、cheby2等。6.用于數(shù)字信號處理的工具箱——SIGNAL(2)設計FIR濾波器相關函數(shù)fir1、fir2、firls、remezord、remez等;窗函數(shù):boxcar、hanning、hamming、blackman、kaiser。(3)傅里葉變換相關函數(shù)FFT(一維快速傅里葉變換)、IFFT(一維快速傅里葉逆變換)、FFT2(二維快速傅里葉變換)、abs(絕對值或模)、angle(相角)等。(4)頻率變換相關函數(shù)freqz、freqs、lp2lp、lp2hp、lp2bp、lp2bs。(5)頻率響應相關函數(shù)freqz、freqs。7.1.2離散時間信號與系統(tǒng)分析應用舉例1.zplane(b,a)函數(shù)或pzplotz(b,a)函數(shù)2.freqz函數(shù)3.filter函數(shù)圖7-1零極點圖圖7-2頻率響應圖圖7-3仿真波形7.1.3離散傅里葉變換應用舉例在MATLAB中,可用函數(shù)dft來實現(xiàn)離散傅里葉變換運算。而且,在實用中,MATLAB還提供了內部函數(shù)來快速進行離散傅里葉變換運算。它采用了優(yōu)化的算法,并且程序是用目的碼編寫的,使得它有極高的運算速度,命名為fft,反變換是ifft。調用方式為y=fft(x)或y=fft(x,N)。圖7-44點DTFT和DFT圖圖7-5DFT圖(N=8,N=16)圖7-6x(n)的前10點數(shù)據(jù)對應的x(n)、X(ejw)、X(k)

圖7-7x(n)補零至100點對應的x(n)、X(ejw)、X(k)

圖7-9128點x(n)對應的x(n)、X(ejw)、X(k)7.1.4IIR濾波器設計常用函數(shù)及舉例1.最小階數(shù)選擇函數(shù)[n,wn]=buttord/cheb1ord/cheb2ord/ellipord(wp,ws,Rp,Rs,'s')1.最小階數(shù)選擇函數(shù)[z,p,k]=buttap(n)/cheb1ap(n,Rp)/cheb2ap(n,Rs)/ellipap(n,Rp,Rs)2.模擬低通原型函數(shù)(1)低通到低通的頻率變換[b1,a1]=lp2lp(b,a,w0),其中,w0為低通濾波器的截止頻率(rad/s)。(2)低通到高通的頻率變換[b1,a1]=lp2hp(b,a,w0),其中,w0為高通濾波器的截止頻率(rad/s)。3.頻率變換函數(shù)(3)低通到帶通的頻率變換[b1,a1]=lp2bp(b,a,w0,Bw),其中,w0為帶通濾波器的中心頻率,Bw為帶通濾波器的帶寬。當濾波器通帶的下截止頻率為w1,上截止頻率為w2時,w0=sqrt(w1*w2),Bw=w2-w1。(4)低通到帶阻的頻率變換[b1,a1]=lp2bs(b,a,w0,Bw),其中,w0為帶阻濾波器的中心頻率,Bw為帶阻濾波器的帶寬。當濾波器通帶的下截止頻率為w1,上截止頻率為w2時,w0=sqrt(w1*w2),Bw=w2-w1。MATLAB信號處理工具箱還提供了模擬濾波器設計的完全工具函數(shù):butter、cheby1、cheby2、ellip、besself。用戶只需一次調用就可自動完成全部設計過程,編程十分簡單。這些工具函數(shù)既適用于模擬濾波器設計,也適用于數(shù)字濾波器。4.完全設計函數(shù)(1)巴特沃思濾波器:[b,a]=butter(n,wn,'ftype','s')其中,n為濾波器階數(shù);wn為濾波器截止頻率;'s'為模擬濾波器,缺省時為數(shù)字濾波器。(2)切比雪夫濾波器:[b,a]=cheby1(n,Rp,wn,'ftype','s')或[b,a]=cheby2(n,Rs,wn,'ftype','s')(3)橢圓濾波器:[b,a]=ellip(n,Rp,Rs,wn,'ftype','s')[bz,az]=impinvar/bilinear(b,a,fs)5.脈沖響應和雙線性變換函數(shù)其中,b、a分別為模擬濾波器的分子和分母多項式系數(shù)向量;fs為采樣頻率,單位為Hz,缺省時fs默認為1Hz;bz,az分別為數(shù)字濾波器分子和分母多項式系數(shù)向量。圖7-10不同采樣頻率對所設計數(shù)字濾波器頻率響應的影響圖7-11ChebyshevⅠ型數(shù)字高通濾波器幅頻特性圖7-127階ChebyshevⅡ型數(shù)字低通濾波器幅度和相位圖7.1.5FIR濾波器設計常用函數(shù)及舉例1.窗函數(shù)法設計FIR濾波器(2)計算截止頻率為wc的理想低通濾波器的單位脈沖響應hd(n),語句如下hd=ideal_lp(wc,N)(3)h(n)為h=hd.*win。(4)已知h(n),為了得到頻率響應的幅度、相位及群時延,需用語句如下[db,mag,pha,grd,w]=freqz_m(h,1)圖7-13設計的實際低通濾波器結果(1)h(n)為h=real(ifft(H,N))。(2)MATLAB程序中,可以用freqz計算頻率響應,但不能從中確定振幅響應。這是因為在MATLAB函數(shù)中,不存在與abs函數(shù)功能相當而能找到振幅的函數(shù)。但在MATLAB中,提供了4種擴展函數(shù),可以計算FIR4種類型濾波器的振幅響應?!馠r_type1●Hr_type2●Hr_type3●Hr_type42.頻率采樣法設計FIR濾波器前面介紹的窗函數(shù)法設計FIR濾波器,完全是根據(jù)窗函數(shù)法的設計思路和設計流圖一步一步進行的,這有助于掌握方法的原理。在實際應用中,還可以采用另外一種方法——直接利用MATLAB中的內部函數(shù)來進行FIR濾波器的設計。MATLAB信號處理工具箱提供了兩個用窗函數(shù)法設計FIR濾波器的函數(shù),見表7-2。值得一提的是,F(xiàn)IR濾波器的窗函數(shù)設計法不僅可以設計標準頻率響應(低通、高通、帶通及帶阻)濾波器,還可設計任意頻率響應的多帶濾波器。3.直接采用MATLAB內部函數(shù)設計FIR濾波器表7-2 用窗函數(shù)法設計FIR濾波器的內部函數(shù)函數(shù)名函

數(shù)

能fir1用窗函數(shù)法設計具有標準頻率響應的FIR濾波器fir2用窗函數(shù)法設計具有任意頻率響應的多帶FIR濾波器圖7-14例7-10運行結果圖(1)函數(shù)fir1例7-11設計一個低通濾波器,通帶0~200Hz,阻帶300~1000Hz,通帶波動7%,阻帶衰減60dB,采樣頻率為2000Hz。圖7-15例7-11濾波器幅度和相位圖(2)函數(shù)fir2圖7-16被污染信號的頻譜特性圖7-17設計的多帶濾波器幅頻特性圖7-18原始信號、污染信號及濾波后信號的比較7.2在雙音撥號系統(tǒng)中的應用7.2.1電話的雙音撥號系統(tǒng)7.2.2Goertzel算法7.2.3檢測DTMF信號的DFT參數(shù)選擇雙音多頻(DualToneMultiFrequency,DTMF)是用按鍵進行電話撥號的制式,它不單單用在電話中,還可以用于傳輸十進制數(shù)據(jù)的其他通信系統(tǒng)中。DTMF也廣泛應用于電子郵件和銀行系統(tǒng)。在這些系統(tǒng)中,用戶可以從電話發(fā)送DTMF信號來選擇菜單語音進行操作。圖7-19雙頻撥號頻率分配7.2.1電話的雙音撥號系統(tǒng)7.2.2Goertzel算法圖7-20計算X(k)的系統(tǒng)結構7.2.3檢測DTMF信號的DFT參數(shù)選擇DTMF信號的參數(shù)選擇要考慮多方面的因素。首先電話數(shù)字化的采樣頻率已知為8kHz,實際上為了抑止語音干擾,檢測系統(tǒng)除了規(guī)定的8個頻率之外,還要檢測它們的2次倍頻處的DFT幅度。這些2倍頻處幅度一般很小,如果基頻和倍頻分量同時都大,那就可能是外來聲音的干擾。表7-4 各個撥號頻率及N=205時其對應的DFT序號8個基頻Hz準確k值最近整數(shù)k值絕對誤差2次諧波頻率Hz準確k值最近整數(shù)k值絕對誤差69717.861180.139139435.024350.02477019.531200.269154038.692390.30885221.833220.167170442.813430.18794124.113240.113188247.285470.285120930.981310.019241860.752610.248133634.235340.235267267.134670.134147737.848380.152295474.219740.219163341.846420.154326682.058820.0587.2.4DTMF信號檢測的MATLAB仿真圖7-21發(fā)送端產(chǎn)生的雙頻信號時域波形圖7-22接收端雙頻信號在8個近似基頻上的DFT幅度7.3在wav信號分析方面的應用7.3.1wav文件的一次性傅里葉 變換7.3.2wav文件的分段傅里葉分析本節(jié)將通過分析計算機中的wav文件來進一步討論數(shù)字信號處理中的信號分析方法。首先介紹幾個常用的函數(shù):[x,fs,bits]=waveread(‘filename’)——這是一個MATLAB中讀取wav文件的數(shù)據(jù)函數(shù)。其中的x表示一長串的數(shù)據(jù),一般是兩列(立體聲);fs是該wav文件在采集時用的采樣頻率;bits是指在進行A/D轉換時用的量化位長(一般是8bits或16bits)。[d]=fft(w,N)——這是MATLAB中快速傅里葉變換(FFT)函數(shù)的一種輸入輸出形式。w是一列波形數(shù)據(jù);N是指用多少點的FFT,一般選擇2的整次方數(shù)(如16,128,1024等),因為這樣就可以使用優(yōu)化的蝶形算法;d是頻域的輸出。由于FFT(DFT)的對稱性,且輸入的是實數(shù),F(xiàn)FT結果的復數(shù)序列是共軛反對稱的,所以它們模是大小對稱的,一般來說只用其一半的數(shù)據(jù)就可以了。sound(w,fs,bits)——和前面的waveread一樣的參數(shù)表示,它將序列的數(shù)據(jù)通過聲卡轉化為聲音。下面先介紹wav文件的一次性傅里葉變換。7.3.1wav文件的一次性傅里葉變換1.聲波主要頻率的分析圖7-23信號的時域波形圖7-24信號頻域的幅值2.聲音信號的重構前面介紹了對wav文件直接進行一次性傅里葉變換的分析,但存在兩個問題:第一,對分析的wav文件直接一次性做FFT,點數(shù)太大,而在實際運用中DSP的FFT的點數(shù)是有限的,一般只能達到千點;第二,語音是分音節(jié)的,應該對它分段分析,所以下面引入分段處理數(shù)據(jù),并連接每個段的頻域結果。7.3.2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論