2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

10、2.2 窗函數(shù)法設(shè)計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è)計16</p><p>  2.3.1 雙極性變換法設(shè)計低通濾波器18<

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

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

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

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

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

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

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

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

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

25、p><p>  該命令對表達式F求極限,獨立變量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微分的計算</p><p>  MATLAB提供的函數(shù)diff()可以完成對給定函數(shù)求導函數(shù)的運算,其調(diào)用格式如下:</p><p>  Diff(fun,x,n)</p><p>  其意義是求函數(shù)fun關(guān)于變量x的n階導數(shù),n為

27、1時可省略。</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) %其功能是使它作用的表達式更符合數(shù)學上的書寫習慣</p><p>  1.2.3積分的計算</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ù)的計算</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ù)表達的意義是表達式s關(guān)于變量v從a到b求和。</p><p>  taylor(f,n,a)——函數(shù)f 對符號變量x (或最接近字母x 的符號變量)在a 點的n-1階泰勒多項式(n 缺省時值為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)用方式,我們可以告訴它要解那個符號,語法如下:</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ù)c1,c2,…的通解;x為自變量,缺省時默認為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 矩陣的基本運算</p><p>  矩陣計算是線性代數(shù)中的核心內(nèi)容,其對于整個數(shù)學系統(tǒng)的計算方面的意義是十分巨大的,集中它的基本運算包括最大值、最小值、均值、方差、轉(zhuǎn)置、逆、行列式、特征值的計算、矩陣的相乘、右除、左除、冪運算等等

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

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

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

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

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

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

44、1,d2,...,dk](n是向量x的長度),函數(shù)對d1*d2*d3…*dk組y值都進行插值。yi=interp1(y,xi);默認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的分段多項式形式。method指定產(chǎn)生多項式的方法。</p><p>  1.3 語音信號的錄入與打開</p><p>  在MATLAB中,[y,fs,bits]=wavread('Blip'

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

47、;  1.4 時域信號的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是對矩陣的每一列向量進行FFT。如果x長度是2的冪次方,函數(shù)fft執(zhí)行高速基-2FFT算法,否則f

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

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

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

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

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

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

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

55、料。調(diào)節(jié)錄音機保存界面的“更改”選項,可以存儲各種格式的WAVE文件。</p><p>  圖2.1 基于PC機的語音信號采集過程</p><p>  采集到語音信號之后,需要對語音信號進行分析,如語音信號的時域分析、頻譜分析、語譜圖分析以及加噪濾波等處理。</p><p>  以下為一段程序,是語音信號在MATLAB中實現(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>  程序運行可以聽到聲音,得到的結(jié)果如圖2.2所示:</p><p>  圖2.2 語音信號的讀入與打開</p><p>  2.2 窗函數(shù)法設(shè)計</p><p>  2.2.1

59、窗函數(shù)法低通濾波器</p><p>  窗函數(shù)設(shè)計低通濾波器程序如下:</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>  程序運行可以聽到聲音,得到的結(jié)果如圖2.3所示</p><p>  圖2.3 語音信號通過低通濾波器后的波形</p

65、><p>  2.2.2 窗函數(shù)法高通濾波器</p><p>  窗函數(shù)設(shè)計高通濾波器</p><p><b>  程序設(shè)計如下:</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>  程序運行可以聽到聲音,得到的結(jié)果如圖2.4所示</p><p>  圖2.4 語音信號通過高通濾波器后的波形</p><p>  2.2.3 窗函數(shù)法帶通濾波器</p><p>  窗函數(shù)設(shè)計帶通濾波器</p><p><b>  程序設(shè)計如下:</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>  程序運行可以聽到聲音,得到的結(jié)果如圖2.5所示</p><p>  圖2.5 語音信號通過

78、帶通濾波器后的波形</p><p>  2.3雙極性變換法設(shè)計</p><p>  2.3.1 雙極性變換法設(shè)計低通濾波器</p><p><b>  程序設(shè)計如下:</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>  程序運行可以聽到聲音,得到的結(jié)果如圖2.6所示</p><p><b> ?。?lt;/b></p><p>  圖2.6 語音信號通過低通濾波器</p><p>  2.3.2 雙極性變換法

84、設(shè)計高通濾波器</p><p><b>  程序設(shè)計如下:</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>  程序運行可以聽到聲音,得到的結(jié)果如圖2.7所示</p><p>  圖2.7 語音信號通過高通濾波器</p><p>  2.3.3 雙極性變換法設(shè)計帶通濾波器</p><p><b>  程序設(shè)計如下</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>  程序運行可以聽到聲音,得到的結(jié)果如圖2.8所示</p><p>

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論