matlab課程設(shè)計(jì)---基于matlab的語音信號處理_第1頁
已閱讀1頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  題 目: 基于MATLAB的語音信號處理</p><p><b>  設(shè)計(jì)任務(wù)與要求:</b></p><p>  1、Matlab的基本運(yùn)算</p><p>  極限的計(jì)算、微分的計(jì)算、積分的計(jì)算、級數(shù)的計(jì)算、求解代數(shù)方程

2、、求解常微分方程;</p><p>  矩陣的最大值、最小值、均值、方差、轉(zhuǎn)置、逆、行列式、特征值的計(jì)算、矩陣的相乘、右除、左除、冪運(yùn)算;</p><p>  2、基于MATLAB的語音信號處理</p><p> ?。?)完成語音信號的采集,利用windows自帶的錄音機(jī)或其他軟件,錄制一段</p><p>  午語音,時(shí)間在1s以內(nèi),并對信

3、號進(jìn)行采樣,畫出采樣信號的時(shí)域和頻域波、(2)要求用窗函數(shù)法和雙線性變換法設(shè)計(jì)三種數(shù)字濾波器 </p><p> ?。?)用設(shè)計(jì)好濾波器的對語音信號進(jìn)行濾波處理,畫出處理后的時(shí)域和頻域波形。</p><p> ?。?)對濾波前后的語音信號頻譜進(jìn)行對比,并對設(shè)計(jì)結(jié)果進(jìn)行分析。</p><p><b>  參考文獻(xiàn):</b></p>

4、<p>  1、易克初,田斌,付強(qiáng).語音信號處理.北京:國防工業(yè)出版社,2000年</p><p>  2、賈永紅.數(shù)字圖像處理.武漢大學(xué)出版社,2003年9月</p><p><b>  時(shí)間安排:</b></p><p>  第16周安排任務(wù),分組。</p><p>  第17周設(shè)計(jì)仿真,撰寫報(bào)告。<

5、/p><p>  第18周完成設(shè)計(jì),提交報(bào)告,答辯。</p><p>  指導(dǎo)教師簽名: 2011 年 月 日</p><p>  系主任(或責(zé)任教師)簽名: 2011 年 月 日</p><p><b>  目錄</b>

6、;</p><p><b>  摘要1</b></p><p>  ABSTRACT2</p><p>  1 課程設(shè)計(jì)的基本原理3</p><p>  1.1 設(shè)計(jì)要求3</p><p>  1.1.1 采用MATLAB基本運(yùn)算如下3</p><p>  1.1

7、.2 基于MATLAB的語音信號處理3</p><p>  1.2.Matlab的基本運(yùn)算4</p><p>  1.2.1極限的計(jì)算4</p><p>  1.2.2微分的計(jì)算4</p><p>  1.2.3積分的計(jì)算5</p><p>  1.2.4 級數(shù)的計(jì)算5</p><p&g

8、t;  1.2.5 求解代數(shù)方程5</p><p>  1.2.6 求解常微分方程6</p><p>  1.2.7 矩陣的基本運(yùn)算6</p><p>  1.2.8 多項(xiàng)式的基本運(yùn)算6</p><p>  1.3 語音信號的錄入與打開8</p><p>  1.4 時(shí)域信號的FFT分析8</p>

9、;<p>  1.5 數(shù)字濾波器設(shè)計(jì)原理8</p><p>  1.5.1 用窗函數(shù)法設(shè)計(jì)FIR濾波器9</p><p>  1.5.2 用雙線性變換法設(shè)計(jì)IIR數(shù)字濾波器9</p><p>  2 語音信號分析和處理過程10</p><p>  2.1 語音信號的采集10</p><p>  

10、2.2 窗函數(shù)法設(shè)計(jì)11</p><p>  2.2.1窗函數(shù)法低通濾波器11</p><p>  2.2.2 窗函數(shù)法高通濾波器14</p><p>  2.2.3 窗函數(shù)法帶通濾波器15</p><p>  2.3雙極性變換法設(shè)計(jì)16</p><p>  2.3.1 雙極性變換法設(shè)計(jì)低通濾波器18<

11、;/p><p>  2.3.2 雙極性變換法設(shè)計(jì)高通濾波器20</p><p>  2.3.3 雙極性變換法設(shè)計(jì)帶通濾波器22</p><p>  2.4 結(jié)果分析24</p><p><b>  3 總結(jié)25</b></p><p><b>  參考文獻(xiàn)26</b>&

12、lt;/p><p><b>  摘要</b></p><p>  MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)的簡稱,和Mathematica、Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號處理

13、與通訊、圖像處理、信號檢測、金融建模設(shè)計(jì)與分析等領(lǐng)域。</p><p>  MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完相同的事情簡捷得多,并且mathwork也吸收了像Maple等軟件的優(yōu)點(diǎn),使MATLAB成為一個(gè)強(qiáng)大的數(shù)學(xué)軟件。在新的版本中也加入了對C,F(xiàn)ORTRAN,C++ ,JAVA的支持??梢灾苯诱{(diào)用,用戶也

14、可以將自己編寫的實(shí)用程序?qū)氲組ATLAB函數(shù)庫中方便自己以后調(diào)用,此外許多的MATLAB愛好者都編寫了一些經(jīng)典的程序,用戶可以直接進(jìn)行下載就可以用。</p><p>  關(guān)鍵字:MATLAB、矩陣運(yùn)算、圖像處理</p><p><b>  ABSTRACT</b></p><p>  MATLAB is Matrix lab (Matrix

15、Laboratory) abbreviation, and Mathematica, Maple and called three mathematical software. It in math class technology applications in the numerical calculation is second to none. MATLAB matrix operations can be drawn func

16、tion and data, and realize the algorithm, create the user interface, the link to the rest of the programming language procedure, etc. Are mainly used in the engineering, control design, signal processing and communicatio

17、n, image processing and signal </p><p>  MATLAB unit is the basic data of the matrix, its instruction expression and mathematics, engineering in the form of common is very similar, so MATLAB to the solution

18、to problems than with C, FORTRAN language such as the same things simple, and mathwork also absorbed like Maple software such as the advantages of the MATLAB to become a powerful mathematical software. In the new version

19、 joining in the C, FORTRAN, C + +, JAVA support. Can directly calls, users can take the practical program written </p><p>  Key word: MATLAB, matrix computation, image processing</p><p>  1 課程設(shè)計(jì)

20、的基本原理</p><p><b>  1.1 設(shè)計(jì)要求</b></p><p>  1.1.1 采用MATLAB基本運(yùn)算如下</p><p>  極限的計(jì)算、微分的計(jì)算、積分的計(jì)算、級數(shù)的計(jì)算、求解代數(shù)方程、求解常微分方程;</p><p>  矩陣的最大值、最小值、均值、方差、轉(zhuǎn)置、逆、行列式、特征值的計(jì)算、矩陣的相

21、乘、右除、左除、冪運(yùn)算;</p><p>  多項(xiàng)式加減乘除運(yùn)算、多項(xiàng)式求導(dǎo)、求根和求值運(yùn)算、多項(xiàng)式的部分分式展開、多項(xiàng)式的擬合、插值運(yùn)算。</p><p>  1.1.2 基于MATLAB的語音信號處理</p><p>  (1).完成語音信號的采集,利用windows自帶的錄音機(jī)或其他軟件,錄制一段</p><p>  午語音,時(shí)間在1s

22、以內(nèi),并對信號進(jìn)行采樣,畫出采樣信號的時(shí)域和頻域波形。</p><p> ?。?).要求用窗函數(shù)法和雙線性變換法設(shè)計(jì)以下三種數(shù)字濾波器,其性能指標(biāo)如下</p><p>  a.低通濾波器性能指標(biāo) fb=1000hz ,fc=1200hz ,最大衰減As=1000db ,最小衰減fb=1000hz ;</p><p>  b.高通濾波器性能指標(biāo)fs=4800hz,fb

23、=5000hz, 最大衰減 As=100db ,最小衰減Ap=1db ; </p><p>  c.帶通濾波器性能指標(biāo) fb1=1200hz,fb2=3000hz , fc1=1000hz, fc2=3200hz,最大衰減 As=100db ,最小衰減Ap=1db ; </p><p>  (3)用設(shè)計(jì)好濾波器的對語音信號進(jìn)行濾波處理,畫出處理后的時(shí)域和頻域波形。</p>&

24、lt;p>  (4).對濾波前后的語音信號頻譜進(jìn)行對比,并對設(shè)計(jì)結(jié)果進(jìn)行分析。</p><p>  1.2.Matlab的基本運(yùn)算</p><p>  1.2.1極限的計(jì)算</p><p>  MATLAB提供的命令函數(shù)limit()可以完成極限運(yùn)算,其調(diào)用格式如下:</p><p>  limit(F,x,a,’left’)</

25、p><p>  該命令對表達(dá)式F求極限,獨(dú)立變量x從左邊趨于a,函數(shù)中除F外的參數(shù)均可省略,’left’可換成’right’。舉例如下:</p><p>  F=sym('(1+a/x)^x')</p><p>  F =(a/x + 1)^x</p><p>  limit(F,'x',inf,'left

26、')</p><p>  ans =exp(a)</p><p>  1.2.2微分的計(jì)算</p><p>  MATLAB提供的函數(shù)diff()可以完成對給定函數(shù)求導(dǎo)函數(shù)的運(yùn)算,其調(diào)用格式如下:</p><p>  Diff(fun,x,n)</p><p>  其意義是求函數(shù)fun關(guān)于變量x的n階導(dǎo)數(shù),n為

27、1時(shí)可省略。</p><p><b>  clear</b></p><p><b>  >> syms x</b></p><p>  >> y=log((x+2)/(1-x));</p><p>  >> dy=diff(y,x)</p><

28、;p>  dy =((1/(x - 1) - (x + 2)/(x - 1)^2)*(x - 1))/(x + 2)</p><p>  >> dy3=diff(y,x,3)</p><p>  dy3 =(2*(1/(x - 1) - (x + 2)/(x - 1)^2)*(x - 1))/(x + 2)^3 - (2*(2/(x - 1)^2 - (2*(x + 2)

29、)/(x - 1)^3))/(x + 2) - (2*(1/(x - 1) - (x + 2)/(x - 1)^2))/(x + 2)^2 + (2*(2/(x - 1)^2 - (2*(x + 2))/(x - 1)^3)*(x - 1))/(x + 2)^2 + ((6/(x - 1)^3 - (6*(x + 2))/(x - 1)^4)*(x - 1))/(x + 2)</p><p>  >>

30、 pretty(dy3) %其功能是使它作用的表達(dá)式更符合數(shù)學(xué)上的書寫習(xí)慣</p><p>  1.2.3積分的計(jì)算</p><p>  int(f)——函數(shù)f對符號變量x或接近字母x的符號變量求不定積分;</p><p>  int(f,t)——函數(shù)f對符號變量t 求不定積分;</p><p>  int(f,a,b)——函數(shù)f 對符號變

31、量x 或接近字母x的符號變量求從a到b的定積分;</p><p>  int(f,t,a,b)——函數(shù)f 對符號變量t 求從a 到b 的定積分。</p><p>  >> syms a x</p><p>  f=sin(a*x)</p><p>  g=int(f,0,pi) </p><p>  f

32、 =sin(a*x)</p><p>  g =(2*sin((pi*a)/2)^2)/a</p><p>  1.2.4 級數(shù)的計(jì)算</p><p>  MATLAB中級數(shù)常用函數(shù)為symsum,格式如下:</p><p>  r = symsum(s);r = symsum(s,v);r = symsum(s,a,b);r = symsu

33、m(s,v,a,b)</p><p>  函數(shù)表達(dá)的意義是表達(dá)式s關(guān)于變量v從a到b求和。</p><p>  taylor(f,n,a)——函數(shù)f 對符號變量x (或最接近字母x 的符號變量)在a 點(diǎn)的n-1階泰勒多項(xiàng)式(n 缺省時(shí)值為6,a 缺省值為0)</p><p>  >> taylor(sin(x)) </p><p&g

34、t;  ans =x^5/120 - x^3/6 + x</p><p>  1.2.5 求解代數(shù)方程</p><p>  在MATLAB中,我們使用solve(f,t)命令解代數(shù)方程,所要做的事是把方程用的單引號引起來然后敲回車。其中solve的第二中調(diào)用方式,我們可以告訴它要解那個(gè)符號,語法如下:</p><p>  solve(equation,variabl

35、e)</p><p>  g1='x+y+z-1';</p><p>  g2='x-y+z-2';</p><p>  g3='2*x-y-z-1';</p><p>  [x,y,z]=solve(g1,g2,g3)</p><p>  x =2/3 y =-1/2

36、 z =5/6</p><p>  1.2.6 求解常微分方程</p><p>  dsolve(‘eq’,’s1’,’s2’,...,’x’),其中eq為方程;s1,s2,…為初始條件缺省時(shí)給出含任意常數(shù)c1,c2,…的通解;x為自變量,缺省時(shí)默認(rèn)為t。</p><p>  y=dsolve('Dy=-2*y+2*x^2+2*x','y(

37、0)=1','x')</p><p>  y =1/exp(2*x) + x^2</p><p>  1.2.7 矩陣的基本運(yùn)算</p><p>  矩陣計(jì)算是線性代數(shù)中的核心內(nèi)容,其對于整個(gè)數(shù)學(xué)系統(tǒng)的計(jì)算方面的意義是十分巨大的,集中它的基本運(yùn)算包括最大值、最小值、均值、方差、轉(zhuǎn)置、逆、行列式、特征值的計(jì)算、矩陣的相乘、右除、左除、冪運(yùn)算等等

38、,下面將具體介紹。</p><p>  矩陣的運(yùn)算都是要以矩陣為基礎(chǔ)的,本報(bào)告中決定選用一組矩陣來完成幾乎全部可以完成的計(jì)算,那么首先就得生成矩陣了。</p><p>  矩陣的定義和分配可以 有多種方法。最簡單的方法是有方括號[]包圍的逐行給定元素。若定義一個(gè)標(biāo)量,則方括號就不需要了。</p><p>  相同行中的元素是由一行或多個(gè)空格‘’或一個(gè)逗號‘,’分隔,

39、列由分號‘; ’或回車鍵分隔。沒有結(jié)尾分號的每個(gè)命令在屏幕上顯示出其結(jié)果。若結(jié)尾帶分號,就執(zhí)行計(jì)算,但計(jì)算結(jié)果并不顯示。</p><p>  函數(shù)矩陣的最大值、最小值、均值、方差、逆、行列式、特征值的計(jì)算是通過函數(shù)max()、min()、mean()、var()、inv()、det()、eig()來實(shí)現(xiàn)的;矩陣的相乘、右除、左除、冪運(yùn)算可以直接通過相關(guān)運(yùn)算符來實(shí)現(xiàn).</p><p>  1

40、.2.8 多項(xiàng)式的基本運(yùn)算</p><p>  多項(xiàng)式的運(yùn)算,主要包括多項(xiàng)式加減乘除、多項(xiàng)式求導(dǎo)、求根和求值運(yùn)算、多項(xiàng)式的部分分式展開、多項(xiàng)式的擬合、插值運(yùn)算。</p><p>  1.2.8.1 多項(xiàng)式的四則運(yùn)算</p><p>  多項(xiàng)式求導(dǎo)、求根和求值運(yùn)算是通過函數(shù)polyder()、roots()、polyval()來實(shí)現(xiàn)的;</p><

41、p>  1.2.8.2多項(xiàng)式的部分分式展開及擬合</p><p>  函數(shù)residue可以將多項(xiàng)式之比用部分分式展開,也可以將一個(gè)部分分式表示為多項(xiàng)式之比。其調(diào)用格式如下:</p><p>  [r,p,k]=residue(a,b)返回多項(xiàng)式之比a/b的部分分式展開,參照下面公式。</p><p>  [a,b]=residue(r,p,k)返回部分分式的

42、多項(xiàng)式向量。</p><p>  通過函數(shù)residue()、polyfit()實(shí)現(xiàn)</p><p>  1.2.8.3 多項(xiàng)式的插值擬合</p><p>  插值函數(shù)通常是分段的,,插值數(shù)據(jù)通過給定的數(shù)據(jù)點(diǎn)x,y。插值函數(shù)一般地可表示為yi=interpi(x,y,xi,’method’)其中i代表幾維插值可取1、2,xi為插值范圍內(nèi)的任意點(diǎn)集的x坐標(biāo),yi是插值

43、后對應(yīng)數(shù)據(jù)點(diǎn)集的坐標(biāo),method為插值函數(shù)的類型選項(xiàng),有l(wèi)inear為線性,也是缺省項(xiàng),cubic和cubic spline為三次樣條等三樣。</p><p>  一維多項(xiàng)式插值:yi=interp1(x,y,xi,method);x必須是向量,y可是是向量也可以是矩陣。如果y是向量,則必須與x具有相同的長度,這時(shí)xi可以是標(biāo)量、向量和任意維矩陣,yi與xi具有相同的大??;如果y是矩陣,則其大小必須是[n,d

44、1,d2,...,dk](n是向量x的長度),函數(shù)對d1*d2*d3…*dk組y值都進(jìn)行插值。yi=interp1(y,xi);默認(rèn)x為1:n,其中n是向量y的長度。yi=interp1(x,y,xi,method);輸入變量method用于指定插值方法yi=interp1(x,y,xi,method,’extrap’);對超出插值范圍的數(shù)據(jù)指定外推方法’extrap’yi=interp1(x,y,xi,method,extra

45、pval);對超出差值范圍的數(shù)值返回extrapval的值,一般為0或者NaN(Not a Number)PP=interp1(x,y,method,’pp’);返回值pp為數(shù)據(jù)y的分段多項(xiàng)式形式。method指定產(chǎn)生多項(xiàng)式的方法。</p><p>  1.3 語音信號的錄入與打開</p><p>  在MATLAB中,[y,fs,bits]=wavread('Blip'

46、,[N1 N2]);用于讀取語音,采樣值放在向量y中,fs表示采樣頻率(Hz),bits表示采樣位數(shù)。[N1 N2]表示讀取從N1點(diǎn)到N2點(diǎn)的值(若只有一個(gè)N的點(diǎn)則表示讀取前N點(diǎn)的采樣值)。</p><p>  sound(x,fs,bits); 用于對聲音的回放。向量y則就代表了一個(gè)信號(也即一個(gè)復(fù)雜的“函數(shù)表達(dá)式”)也就是說可以像處理一個(gè)信號表達(dá)式一樣處理這個(gè)聲音信號。</p><p>

47、;  1.4 時(shí)域信號的FFT分析</p><p>  在MATLAB的信號處理工具箱中函數(shù)FFT和IFFT用于快速傅立葉變換和逆變換。函數(shù)FFT用于序列快速傅立葉變換,其調(diào)用格式為y=fft(x),其中,x是序列,y是序列的FFT,x可以為一向量或矩陣,若x為一向量,y是x的FFT且和x相同長度;若x為一矩陣,則y是對矩陣的每一列向量進(jìn)行FFT。如果x長度是2的冪次方,函數(shù)fft執(zhí)行高速基-2FFT算法,否則f

48、ft執(zhí)行一種混合基的離散傅立葉變換算法,計(jì)算速度較慢。函數(shù)FFT的另一種調(diào)用格式為y=fft(x,N),式中,x,y意義同前,N為正整數(shù)。函數(shù)執(zhí)行N點(diǎn)的FFT,若x為向量且長度小于N,則函數(shù)將x補(bǔ)零至長度N;若向量x的長度大于N,則函數(shù)截短x使之長度為N;若x 為矩陣,按相同方法對x進(jìn)行處理。</p><p>  1.5 數(shù)字濾波器設(shè)計(jì)原理</p><p>  數(shù)字濾波是數(shù)字信號分析中最重

49、要的組成部分之一,與模擬濾波相比,它具有精度和穩(wěn)定性高、系統(tǒng)函數(shù)容易改變、靈活性強(qiáng)、便于大規(guī)模集成和可實(shí)現(xiàn)多維濾波等優(yōu)點(diǎn)。在信號的過濾、檢測和參數(shù)的估計(jì)等方面,經(jīng)典數(shù)字濾波器是使用最廣泛的一種線性系統(tǒng)。</p><p>  數(shù)字濾波器的作用是利用離散時(shí)間系統(tǒng)的特性對輸入信號波形(或頻譜)進(jìn)行加工處理,或者說利用數(shù)字方法按預(yù)定的要求對信號進(jìn)行變換。</p><p>  1.5.1 用窗函數(shù)法

50、設(shè)計(jì)FIR濾波器</p><p>  如果所希望的濾波器的理想頻率響應(yīng)函數(shù)為 Hd(e jω),則其對應(yīng)的單位脈沖響應(yīng)為:</p><p><b>  (1)</b></p><p>  用窗函數(shù)w(n)將hd(n)截?cái)?,并進(jìn)行加權(quán)處理,得到:</p><p><b> ?。?)</b></p

51、><p>  h(n)就作為實(shí)際設(shè)計(jì)的FIR數(shù)字濾波器的單位脈沖響應(yīng)序列,其頻率響應(yīng)函數(shù)H(e jω)為:</p><p><b> ?。?)</b></p><p>  如果要求線性相位特性,則h(n)還必須滿足:</p><p><b> ?。?)</b></p><p> 

52、 根據(jù)上式中的正、 負(fù)號和長度N的奇偶性又將線性相位FIR濾波器分成四類。 要根據(jù)所設(shè)計(jì)的濾波特性正確選擇其中一類。例如,要設(shè)計(jì)線性相位低通特性, 可選擇h(n)=h(N-1-n)一類,而不能選h(n)=-h(N-1-n)一類。</p><p>  然后用freqz函數(shù)計(jì)算數(shù)字濾波器在頻域中的特性,如果不滿足要求,可根據(jù)具體情況調(diào)整窗函數(shù)類型或長度,知道滿足要求。</p><p>  1.

53、5.2 用雙線性變換法設(shè)計(jì)IIR數(shù)字濾波器</p><p>  雙線性變換法從頻域出發(fā),實(shí)現(xiàn)S平面和Z平面的一一映射關(guān)系,可消除頻譜的混疊現(xiàn)象。</p><p>  2 語音信號分析和處理過程</p><p>  2.1 語音信號的采集</p><p>  利用windows下得錄音機(jī)(開始—程序—附件—娛樂—錄音機(jī),文件—</p>

54、;<p>  屬性—立即轉(zhuǎn)換—8KHZ,8位,單聲道)錄制一段自己的話音,或者采用windows自帶的聲音文件(默認(rèn)為22050HZ),時(shí)間控制在幾秒左右,設(shè)置文件名為ding.wav,并保存在D:\download\matlab\bin下。然后在MATLAB軟件平臺下,利用函數(shù)wavread對語音信號進(jìn)行分析。圖2.1是基于PC機(jī)的語音信號采集過程,聲卡可以完成語音波形的A/D轉(zhuǎn)換,獲得WAVE文件,為后續(xù)的處理儲備原材

55、料。調(diào)節(jié)錄音機(jī)保存界面的“更改”選項(xiàng),可以存儲各種格式的WAVE文件。</p><p>  圖2.1 基于PC機(jī)的語音信號采集過程</p><p>  采集到語音信號之后,需要對語音信號進(jìn)行分析,如語音信號的時(shí)域分析、頻譜分析、語譜圖分析以及加噪濾波等處理。</p><p>  以下為一段程序,是語音信號在MATLAB中實(shí)現(xiàn)語音的讀入打開,以及繪出了語音信號的波形頻

56、譜圖。</p><p>  [x,fs,bits]=wavread('ding.wav',[1024 6000]);  </p><p>  sound(x,fs,bits); </p><p>  X=fft(x,6000);</p><p>  magX=abs(X);</p><p> 

57、 angX=angle(X);</p><p>  subplot(221);plot(x);title('原始信號波形');</p><p>  subplot(222);plot(X); title('原始信號頻譜');</p><p>  subplot(223);plot(magX);title('原始信號幅值'

58、;);</p><p>  subplot(224);plot(angX);title('原始信號相位');</p><p>  程序運(yùn)行可以聽到聲音,得到的結(jié)果如圖2.2所示:</p><p>  圖2.2 語音信號的讀入與打開</p><p>  2.2 窗函數(shù)法設(shè)計(jì)</p><p>  2.2.1

59、窗函數(shù)法低通濾波器</p><p>  窗函數(shù)設(shè)計(jì)低通濾波器程序如下:</p><p>  clc;close all</p><p>  [z1,fs,bits]=wavread('ding.wav')</p><p>  y1=z1(1:8192);</p><p>  Y1=fft(y1);<

60、;/p><p>  fp=1000;fc=1200;As=1000;Ap=1;Fs=8000;</p><p>  wc=2*pi*fc/Fs; wp=2*pi*fp/Fs;</p><p>  wdel=wc-wp;</p><p>  beta=0.112*(As-8.7);</p><p>  N=ceil((As-

61、8)/2.285/wdel);</p><p>  wn= kaiser(N+1,beta); </p><p>  ws=(wp+wc)/2/pi;</p><p>  b=fir1(N,ws,wn);</p><p>  figure(1);</p><p>  freqz(b,1);</p><

62、;p>  x=fftfilt(b,z1);</p><p>  X=fft(x,8192);</p><p>  figure(2);</p><p>  subplot(2,2,1);plot(abs(Y1));axis([0,1000,0,1.0]);</p><p>  title('濾波前信號頻譜');</

63、p><p>  subplot(2,2,2);plot(abs(X));axis([0,1000,0,1.0]);</p><p>  title('濾波后信號頻譜');</p><p>  subplot(2,2,3);plot(z1);</p><p>  title('濾波前信號波形');</p>

64、<p>  subplot(2,2,4);plot(x);</p><p>  title('濾波后信號波形');</p><p>  sound(x,fs,bits);</p><p>  程序運(yùn)行可以聽到聲音,得到的結(jié)果如圖2.3所示</p><p>  圖2.3 語音信號通過低通濾波器后的波形</p

65、><p>  2.2.2 窗函數(shù)法高通濾波器</p><p>  窗函數(shù)設(shè)計(jì)高通濾波器</p><p><b>  程序設(shè)計(jì)如下:</b></p><p>  clc;close all</p><p>  [z1,fs,bits]=wavread('ding.wav')</p&

66、gt;<p>  y1=z1(1:8192);</p><p>  Y1=fft(y1);</p><p>  fp=4800;fc=5000;As=100;Ap=1;Fs=8000;</p><p>  wc=2*pi*fc/Fs; wp=2*pi*fp/Fs;</p><p>  wdel=wc-wp;</p>

67、<p>  beta=0.112*(As-8.7);</p><p>  N=ceil((As-8)/2.285/wdel);</p><p>  wn= kaiser(N,beta); </p><p>  ws=(wp+wc)/3/pi;</p><p>  b=fir1(N-1,ws,'high',wn);&

68、lt;/p><p>  figure(1);</p><p>  freqz(b,1);</p><p>  x=fftfilt(b,z1);</p><p>  X=fft(x,8192);</p><p>  figure(2);</p><p>  subplot(2,2,1);plot(ab

69、s(Y1));axis([0,5000,0,1.0]);</p><p>  title('濾波前信號頻譜');</p><p>  subplot(2,2,2);plot(abs(X));axis([0,5000,0,1.0]);</p><p>  title('濾波后信號頻譜');</p><p>  s

70、ubplot(2,2,3);plot(z1);</p><p>  title('濾波前信號波形');</p><p>  subplot(2,2,4);plot(x);</p><p>  title('濾波后信號波形');</p><p>  sound(x,fs,bits);</p><

71、;p>  程序運(yùn)行可以聽到聲音,得到的結(jié)果如圖2.4所示</p><p>  圖2.4 語音信號通過高通濾波器后的波形</p><p>  2.2.3 窗函數(shù)法帶通濾波器</p><p>  窗函數(shù)設(shè)計(jì)帶通濾波器</p><p><b>  程序設(shè)計(jì)如下:</b></p><p>  cle

72、ar;close all</p><p>  [z1,fs,bits]=wavread('ding.wav')</p><p>  y1=z1(1:8192);</p><p>  Y1=fft(y1);</p><p>  fp1=1200 ;fp2=3000 ;fc1=1000 ;fc2=3200 ;As=100 ;Ap

73、=1 ;Fs=8000 ;</p><p>  wp1=2*pi*fp1/Fs; wc1=2*pi*fc1/Fs; wp2=2*pi*fp2/Fs; wc2=2*pi*fc2/Fs;</p><p>  wdel=wp1-wc1;</p><p>  beta=0.112*(As-8.7);</p><p>  N=ceil((As-8)/2

74、.285/wdel);</p><p>  ws =[(wp1+wc1)/2/pi,(wp2+wc2)/2/pi];</p><p>  wn= kaiser(N+1,beta); </p><p>  b=fir1(N,ws,wn);</p><p>  figure(1); </p><p>  freqz(b,1

75、)</p><p>  x=fftfilt(b,z1);</p><p>  X=fft(x,8192);</p><p>  figure(2);</p><p>  subplot(2,2,1);plot(abs(Y1));axis([0,2000,0,1.0]);</p><p>  title('濾波前

76、信號頻譜');</p><p>  subplot(2,2,2);plot(abs(X));axis([0,2000,0,0.03]);</p><p>  title('濾波后信號頻譜')</p><p>  subplot(2,2,3);plot(z1);</p><p>  title('濾波前信號波形&

77、#39;);</p><p>  subplot(2,2,4);plot(x);</p><p>  title('濾波后信號波形');</p><p>  sound(x,fs,bits);</p><p>  程序運(yùn)行可以聽到聲音,得到的結(jié)果如圖2.5所示</p><p>  圖2.5 語音信號通過

78、帶通濾波器后的波形</p><p>  2.3雙極性變換法設(shè)計(jì)</p><p>  2.3.1 雙極性變換法設(shè)計(jì)低通濾波器</p><p><b>  程序設(shè)計(jì)如下:</b></p><p>  clear;close all</p><p>  [z1,fs,bits]=wavread('

79、;ding.wav')</p><p>  y1=z1(1:8192);</p><p>  Y1=fft(y1);</p><p>  fp=1000;fc=1200;As=100;Ap=1; ;Fs=8000;</p><p>  wc=2*fc/Fs;wb=2*fp/Fs;</p><p>  [n,wp

80、]=cheb1ord(wc,wb,Ap,As);</p><p>  [b,a]=cheby1(n,Ap,wp);</p><p>  figure(1);</p><p>  freqz(b,a);</p><p>  x=filter(b,a,z1);</p><p>  X=fft(x,8192);</p&

81、gt;<p>  figure(2);</p><p>  subplot(2,2,1);plot(abs(Y1));axis([0,1000,0,1.0]);</p><p>  title('濾波前信號頻譜');</p><p>  subplot(2,2,2);plot(abs(X));axis([0,4000,0,0.03]);

82、</p><p>  title('濾波后信號頻譜');</p><p>  subplot(2,2,3);plot(z1);</p><p>  title('濾波前信號波形');</p><p>  subplot(2,2,4);plot(x);</p><p>  title(&#

83、39;濾波后信號波形');</p><p>  sound(x,fs,bits);</p><p>  程序運(yùn)行可以聽到聲音,得到的結(jié)果如圖2.6所示</p><p><b> ?。?lt;/b></p><p>  圖2.6 語音信號通過低通濾波器</p><p>  2.3.2 雙極性變換法

84、設(shè)計(jì)高通濾波器</p><p><b>  程序設(shè)計(jì)如下:</b></p><p>  clear;close all</p><p>  [z1,fs,bits]=wavread('ding.wav')</p><p>  y1=z1(1:8192);</p><p>  Y1=

85、fft(y1);</p><p>  fc=4800 ;fp=5000 ;As=100;Ap=1; Fs=8000;</p><p>  wc=fc/Fs;wb=fp/Fs;</p><p>  [n,wp]=cheb1ord(wc,wb,Ap,As);</p><p>  [b,a]=cheby1(n,Ap,wp,'high'

86、;);</p><p>  figure(1);</p><p>  freqz(b,a);</p><p>  x=filter(b,a,z1);</p><p>  X=fft(x,8192);</p><p>  figure(2);</p><p>  subplot(2,2,1);pl

87、ot(abs(Y1));axis([0,5000,0,1.0]);</p><p>  title('濾波前信號頻譜');</p><p>  subplot(2,2,2);plot(abs(X));axis([0,5000,0,0.03]);</p><p>  title('濾波后信號頻譜');</p><p&

88、gt;  subplot(2,2,3);plot(z1);</p><p>  title('濾波前信號波形');</p><p>  subplot(2,2,4);plot(x);</p><p>  title('濾波后信號波形');</p><p>  sound(x,fs,bits);</p>

89、;<p>  程序運(yùn)行可以聽到聲音,得到的結(jié)果如圖2.7所示</p><p>  圖2.7 語音信號通過高通濾波器</p><p>  2.3.3 雙極性變換法設(shè)計(jì)帶通濾波器</p><p><b>  程序設(shè)計(jì)如下</b></p><p>  clear;close all</p><

90、p>  [z1,fs,bits]=wavread('ding.wav')</p><p>  y1=z1(1:8192);</p><p>  Y1=fft(y1);</p><p>  fp1=1200 ;fp2=3000; fc1=1000 ;fc2=3200 ;As=100;Ap=1; Fs=8000;</p><p&

91、gt;  wc=[2*fc1/Fs,2* fc2/Fs];wb=[2*fp1/Fs,2*fp2/Fs]; </p><p>  [n,wp]=cheb1ord(wc,wb,Ap,As);</p><p>  [b,a]=cheby1(n,Ap,wp,'stop');</p><p>  figure(1);</p><p> 

92、 freqz(b,a);</p><p>  x=filter(b,a,z1);</p><p>  X=fft(x,8192);</p><p>  figure(2);</p><p>  subplot(2,2,1);plot(abs(Y1));axis([0,1000,0,1.0]);</p><p>  ti

93、tle('濾波前信號頻譜');</p><p>  subplot(2,2,2);plot(abs(X));axis([0,4000,0,0.03]);</p><p>  title('濾波后信號頻譜');</p><p>  subplot(2,2,3);plot(z1);</p><p>  title(

94、'濾波前信號波形');</p><p>  subplot(2,2,4);plot(x);</p><p>  title('濾波后信號波形');</p><p>  sound(x,fs,bits);</p><p>  程序運(yùn)行可以聽到聲音,得到的結(jié)果如圖2.8所示</p><p>

95、  圖2.8 語音信號通過帶通濾波器</p><p><b>  2.4 結(jié)果分析</b></p><p>  從結(jié)構(gòu)上看,IIR濾波器必須采用遞歸結(jié)構(gòu)來配置極點(diǎn),并保證極點(diǎn)位置在單位圓內(nèi)。由于有限字長效應(yīng),運(yùn)算過程中將對系數(shù)進(jìn)行舍入處理,引起極點(diǎn)的偏移。這種情況有時(shí)會造成穩(wěn)定性問題,甚至產(chǎn)生寄生振蕩。相反,F(xiàn)IR濾波器只要采用非遞歸結(jié)構(gòu),不論在理論上還是在實(shí)際的有限

96、精度運(yùn)算中都不存在穩(wěn)定性問題,因此造成的頻率特性誤差也較小。此外FIR濾波器可以采用快速傅里葉變換算法,在相同階數(shù)的條件下,運(yùn)算速度可以快得多。 另外,也應(yīng)看到,IIR濾波器雖然設(shè)計(jì)簡單,但主要是用于設(shè)計(jì)具有分段常數(shù)特性的濾波器,如低通、高通、帶通及帶阻等,往往脫離不了模擬濾波器的格局。而FIR濾波器則要靈活得多,尤其是他易于適應(yīng)某些特殊應(yīng)用,如構(gòu)成數(shù)字微分器或希爾波特變換器等,因而有更大的適應(yīng)性和廣闊的應(yīng)用領(lǐng)域。 從上

97、面的簡單比較可以看到IIR與FIR濾波器各有所長,所以在實(shí)際應(yīng)用時(shí)應(yīng)該從多方面考慮來加以選擇。從使用要求上來看,在對相位要求不敏感的場合,如語言通信等,選用IIR較為合適,這樣可以充分發(fā)揮其經(jīng)濟(jì)高效的特點(diǎn);對于圖像信號處理,數(shù)據(jù)傳輸?shù)纫圆ㄐ螖y帶信息的系統(tǒng),則對線性相位要求較高。如果有條件,采用FIR濾</p><p><b>  3 總結(jié)</b></p><p>  

98、本設(shè)計(jì)圓滿的完成了對語音信號的讀取與打開,與課題的要求十分相符;本設(shè)計(jì)也較好的完成了對語音信號的頻譜分析,通過fft變換,得出了語音信號的頻譜圖。在濾波這一塊,課題主要是從巴特沃斯濾波器入手來設(shè)計(jì)濾波器,也從一方面基本實(shí)現(xiàn)了濾波。初略的完成了界面的設(shè)計(jì),但也存在相當(dāng)?shù)牟蛔悖皇呛苊銖?qiáng)的達(dá)到了打開語音文件、顯示已定濾波前后的波形等圖。</p><p>  語音信號處理是語音學(xué)與數(shù)字信號處理技術(shù)相結(jié)合的交叉學(xué)科,課題

99、在這里不討論語音學(xué),而是將語音當(dāng)做一種特殊的信號,即一種“復(fù)雜向量”來看待。也就是說,課題更多的還是體現(xiàn)了數(shù)字信號處理技術(shù)。</p><p>  從課題的中心來看,課題是希望將數(shù)字信號處理技術(shù)應(yīng)用于某一實(shí)際領(lǐng)域,這里就是指對語音的處理。作為存儲于計(jì)算機(jī)中的語音信號,其本身就是離散化了的向量,我們只需將這些離散的量提取出來,就可以對其進(jìn)行處理了。</p><p>  在這里,用到了處理數(shù)字信

100、號的強(qiáng)有力工具M(jìn)ATLAB,通過MATLAB里幾個(gè)命令函數(shù)的調(diào)用,很輕易的在實(shí)際化語音與數(shù)字信號的理論之間搭了一座橋。</p><p>  課題的特色在于它將語音看作了一個(gè)向量,于是語音數(shù)字化了,則可以完全利用數(shù)字信號處理的知識來解決。我們可以像給一般信號做頻譜分析一樣,來給語音信號做頻譜分析,也可以較容易的用數(shù)字濾波器來對語音進(jìn)行濾波處理。</p><p>  但由于知識能力有限,當(dāng)中也

101、存在相當(dāng)?shù)牟蛔?,特別體現(xiàn)在濾波與界面設(shè)計(jì)這一塊。對濾波的研究,本文只是舉出了很小的一個(gè)方面,還有許多精髓都未能一一列舉。至于用戶界面的設(shè)計(jì),由于筆者是初次接觸,也未能有特別的掌握,僅就剛學(xué)習(xí)到的一些加以運(yùn)用,于是設(shè)計(jì)的還是很粗燥。當(dāng)然,這些問題與不足在今后的進(jìn)一步學(xué)習(xí)中,我會一步一步的去進(jìn)行解決。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1

102、] 陳懷琛.MATLAB及在電子信息課程中的應(yīng)用[M].北京:電子工業(yè)出版社.2008年1月</p><p>  [2] 張文.基于MATLAB的語音信號的濾波與實(shí)現(xiàn)[J].山西電子技術(shù).2008年2月</p><p>  [3] 徐靖濤.基于MATLAB的語音信號分析與處理[J].重慶科技學(xué)院學(xué)報(bào)2008年1月</p><p>  [4] 韓紀(jì)慶,張磊,鄭鐵然.語

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論