數(shù)字信號處理課程設(shè)計--基于matlab有噪聲語音信號處理_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  數(shù)字信號處理課程設(shè)計報告</p><p>  課題名稱:基于MATLAB有噪聲語音信號處理</p><p>  專 業(yè): 電子與信息工程</p><p>  班 級: 電信一班</p><p>  學(xué) 號: XXXXXXXXXX</p><p><b>  學(xué)生姓名:

2、 XX </b></p><p><b>  目錄</b></p><p><b>  摘要</b></p><p><b>  正文</b></p><p><b>  一、課程設(shè)計內(nèi)容</b></p><p><

3、;b>  二、設(shè)計原理</b></p><p><b>  1、采樣定理</b></p><p><b>  2、FFT原理</b></p><p>  3、FIR數(shù)字濾波器的設(shè)計</p><p><b>  三、設(shè)計過程</b></p><

4、;p><b>  1、語音信號的采集</b></p><p>  2、語音信號的時域和頻域分析</p><p>  3、語音信號加噪與頻譜分析</p><p><b>  4、濾波器設(shè)計</b></p><p><b> ?、?、低通</b></p><

5、p><b> ?、凇?lt;/b></p><p><b> ?、邸⒏咄?lt;/b></p><p><b>  結(jié)論</b></p><p><b>  參考文獻</b></p><p><b>  摘要</b></p>

6、<p>  濾波器設(shè)計在數(shù)字信號處理中占有極其重要的地位,F(xiàn)IR數(shù)字濾波器和IIR濾波器是濾波器設(shè)計的重要組成部分。利用MATLAB信號處理工具箱可以快速有效地設(shè)計各種數(shù)字濾波器。課題基于MATLAB有噪音語音信號處理的設(shè)計與實現(xiàn),綜合運用數(shù)字信號處理的理論知識對加噪聲語音信號進行時域、頻域分析和濾波。通過理論推導(dǎo)得出相應(yīng)結(jié)論,再利用 MATLAB 作為編程工具進行計算機實現(xiàn)。在設(shè)計實現(xiàn)的過程中,使用窗函數(shù)法來設(shè)計FIR數(shù)

7、字濾波器,用巴特沃斯、切比雪夫和雙線性變法設(shè)計IIR數(shù)字濾波器,并利用MATLAB 作為輔助工具完成設(shè)計中的計算與圖形的繪制。通過對對所設(shè)計濾波器的仿真和頻率特性分析,可知利用MATLAB信號處理工具箱可以有效快捷地設(shè)計FIR和IIR數(shù)字濾波器,過程簡單方便,結(jié)果的各項性能指標(biāo)均達到指定要求。</p><p>  關(guān)鍵詞 數(shù)字濾波器 MATLAB 窗函數(shù)法 </p><p><b&

8、gt;  一、課程設(shè)計內(nèi)容</b></p><p>  錄制一段語音信號,對其進行頻譜分析;利用MATLAB中的隨機函數(shù)產(chǎn)生噪聲加入到語音信號中,模仿語音信號被污染,并對其進行頻譜分析;設(shè)計FIR數(shù)字濾波器, 并對被噪聲污染的語音信號進行濾波, 分析濾波后信號的時域和頻域特征,回放語音信號;</p><p><b>  二、設(shè)計原理</b></p&g

9、t;<p><b>  1、采樣定理</b></p><p>  在進行模擬/數(shù)字信號的轉(zhuǎn)換過程中,當(dāng)采樣頻率fs.max大于信號中,最高頻率fmax的2倍時,即:fs.max>=2fmax,則采樣之后的數(shù)字信號完整地保留了原始信號中的信息,一般實際應(yīng)用中保證采樣頻率為信號最高頻率的5~10倍,采樣定理又稱奈奎斯特定理。 </p><p>  2、

10、FFT的算法原理</p><p>  快速傅氏變換(FFT)是離散傅氏變換的快速算法,它是根據(jù)離散傅氏變換的奇、偶、虛、實等特性,對離散傅立葉變換的算法進行改進獲得的。它對傅氏變換的理論并沒有新的發(fā)現(xiàn),但是對于在計算機系統(tǒng)或者說數(shù)字系統(tǒng)中應(yīng)用離散傅立葉變換,可以說是進了一大步。 </p><p>  設(shè)x(n)為N項的復(fù)數(shù)序列,由DFT變換,任一X(m)的計算都需要N次復(fù)數(shù)乘法和N-1次復(fù)

11、數(shù)加法,而一次復(fù)數(shù)乘法等于四次實數(shù)乘法和兩次實數(shù)加法,一次復(fù)數(shù)加法等于兩次實數(shù)加法,即使把一次復(fù)數(shù)乘法和一次復(fù)數(shù)加法定義成一次“運算”(四次實數(shù)乘法和四次實數(shù)加法),那么求出N項復(fù)數(shù)序列的X(m),即N點DFT變換大約就需要N2次運算。當(dāng)N=1024點甚至更多的時候,需要N2=1048576次運算,在FFT中,利用WN的周期性和對稱性,把一個N項序列(設(shè)N=2k,k為正整數(shù)),分為兩個N/2項的子序列,每個N/2點DFT變換需要(N/2

12、)2次運算,再用N次運算把兩個N/2點的DFT變換組合成一個N點的DFT變換。這樣變換以后,總的運算次數(shù)就變成N+2(N/2)2=N+N2/2。繼續(xù)上面的例子,N=1024時,總的運算次數(shù)就變成了525312次,節(jié)省了大約50%的運算量。而如果我們將這種“一分為二”的思想不斷進行下去,直到分成兩兩一組的DFT運算單元,那么N點的DFT變換就只需要Nlog2N次的運算,N在1024點時,運算量僅有10240次,是先前的直接算法的1%,點數(shù)

13、越多,運算量的節(jié)約就越大,這就</p><p>  3、FIR數(shù)字濾波器的設(shè)計</p><p>  IIR濾波器和FIR濾波器的設(shè)計方法完全不同。IIR濾波器設(shè)計方法有間接法和直接法,間接法是借助于模擬濾波器的設(shè)計方法進行的。其設(shè)計步驟是:先設(shè)計過渡模擬濾波器得到系統(tǒng)函數(shù)H(s),然后將H(s)按某種方法轉(zhuǎn)換成數(shù)字濾波器的系統(tǒng)函數(shù)H(z)。FIR濾波器通常采用間接法,常用的方法有窗函數(shù)法、

14、頻率采樣發(fā)和切比雪夫等波紋逼近法。對于線性相位濾波器,經(jīng)常采用FIR濾波器。</p><p>  設(shè)計FIR濾波器的步驟。如下:</p><p> ?。?)根據(jù)對阻帶衰減及過渡帶的指標(biāo)要求,選擇串窗數(shù)類型(矩形窗、三角窗、漢寧窗、哈明窗、凱塞窗等),并估計窗口長度N。先按照阻帶衰減選擇窗函數(shù)類型。原則 是在保證阻帶衰減滿足要求的情況下,盡量選擇主瓣的窗函數(shù)。</p>&l

15、t;p> ?。?)構(gòu)造希望逼近的頻率響應(yīng)函數(shù)。</p><p> ?。?)計算h(n).。</p><p> ?。?)加窗得到設(shè)計結(jié)果。</p><p><b>  三、設(shè)計過程:</b></p><p>  1、語音信號的采集</p><p>  利用PC 機上的聲卡和Win操作系統(tǒng)可以

16、進行數(shù)字信號的采集。將話筒輸入計算機的語音輸入插口上,啟動錄音機。按下錄音按鈕,接著對話筒說話“新年快樂!”,說完后停止錄音。用格式工廠軟件解決音頻文件格式的問題,最終轉(zhuǎn)換為.wav文件(“新年快樂.wav”) 。將該文件保存入Matlab 程序文件目錄中。如下圖所示:</p><p><b>  Win7 錄音機</b></p><p>  音頻文件“新年快樂.wa

17、v”的存放</p><p>  2、語音信號的時域和頻域分析</p><p>  利用MATLAB中的“wavread”命令來讀入(采集)語音信號,將它賦值給某一向量。再對其進行采樣,記住采樣頻率和采樣點數(shù)。函數(shù)調(diào)用格式如下:[y,fs,nbits]=wavread(file) </p><p>  功能說明:采樣值放在向量y中,fs表示采樣頻率(hz),nbits

18、表示采樣位數(shù)。</p><p>  時域、頻域分析程序:</p><p>  [y,fs,nbits]=wavread('新年快樂.wav');% 讀取語音信號文件 y:向量,fs:采樣頻率,nbits:采樣位數(shù);</p><p>  sound(y,fs,nbits); %回放語音信號</p><

19、;p>  N=length(y); %記錄語音信號的長度</p><p>  Y=fft(y,N); %對N點語音信號序列進行傅里葉變換</p><p>  subplot(2,1,1);</p><p><b>  plot(y);</b>&l

20、t;/p><p>  title('原始語音信號時域波形');</p><p>  subplot(2,1,2);</p><p>  plot(abs(Y));</p><p>  title('原始語音信號頻域波形');</p><p><b>  程序結(jié)果如下圖:</b

21、></p><p>  3、語音信號加噪與頻譜分析</p><p>  由于電腦錄音效果比較好,很難得顯著地看到濾波器濾波效果,所以通過MATLAB向語音信號添加高斯白噪聲,在這里我們直接用randn函數(shù)產(chǎn)生高斯分布序列。Randn函數(shù)有兩種基本調(diào)用格式:Randn(n)和Randn(m,n),前者產(chǎn)生n×n服從標(biāo)準(zhǔn)高斯分布的隨機數(shù)矩陣,后者產(chǎn)生m×n的隨機數(shù)矩陣

22、。在這里,我們選用Randn(m,n)函數(shù)。</p><p>  語音信號添加噪聲及其頻譜分析的主要程序如下:</p><p>  [y,fs,nbits]=wavread('新年快樂.wav');% 讀取語音信號文件</p><p>  N=length(y); %記錄語音信號的長度</p>

23、<p>  Noise=0.01*randn(N,2); %生成噪音序列</p><p>  Si=y+Noise; %加噪</p><p>  sound(Si);</p><p>  subplot(2,1,1);</p><p><b> 

24、 plot(Si);</b></p><p>  title('加噪語音信號的時域波形');</p><p>  S=fft(Si); %對N點加噪后的語音信號序列進行傅里葉變換</p><p>  subplot(2,1,2);</p><p>  plot(abs

25、(S));</p><p>  title('加噪語音信號的頻域波形');</p><p><b>  程序結(jié)果如下圖:</b></p><p>  效果分析:加噪后,聲音變得更為嘈雜、渾厚,加噪后頻譜干擾信號增多,幅值也加大了。</p><p><b>  4、濾波器設(shè)計:</b>

26、</p><p><b> ?、貴IR低通濾波器</b></p><p><b>  程序源代碼:</b></p><p>  [y,fs,nbits]=wavread('新年快樂.wav');</p><p><b>  Fp=900;</b></p&g

27、t;<p><b>  Fc=1100;</b></p><p><b>  Fs=fs;</b></p><p>  wp=2*pi*Fp/Fs;</p><p>  ws=2*pi*Fc/Fs;</p><p><b>  rp=1;</b></p>

28、;<p><b>  rs=50;</b></p><p>  p=1-10.^(-rp/20); %通帶阻帶波紋</p><p>  s=10.^(-rs/20);</p><p>  fpts=[wp ws];</p><p>  mag=[1 0];</p>

29、<p>  dev=[p s];</p><p>  [n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev);%kaiserord求階數(shù)截止頻率</p><p>  b21=fir1(n21,wn21,Kaiser(n21+1,beta)); %由fir1設(shè)計濾波器</p><p>  [h,w]=freqz(b

30、21,1); %得到頻率響應(yīng)</p><p>  %plot(w/pi,abs(h));</p><p>  %title('FIR低通濾波器');</p><p>  n = length (y) ; %求出語音信號的長度</p><p>  no

31、ise=0.01*randn(n,2); %隨機函數(shù)產(chǎn)生噪聲</p><p>  s=y+noise; %語音信號加入噪聲 </p><p>  S=fft(s); %傅里葉變換</p><p>  z21=fftfilt(b21,s);

32、</p><p>  sound(z21);</p><p>  m21=fft(z21); </p><p>  subplot(2,2,1);</p><p>  plot(abs(S),'g');</p><p>  title('濾波前信號的頻譜');</p>&l

33、t;p>  subplot(2,2,2);</p><p>  plot(abs(m21),'r'); title('濾波后信號的頻譜');</p><p>  subplot(2,2,3);</p><p>  plot(s); title('濾波前信號的波形');</p>&

34、lt;p>  subplot(2,2,4);</p><p>  plot(z21); title('濾波后的信號波形');</p><p>  濾波器幅頻特性曲線圖:</p><p>  高通濾波器濾波效果:</p><p><b>  效果分析:</b></p>&l

35、t;p>  濾波前后波形的變化沒有顯著的變化,而頻譜有比較明顯的變化,中間有一部分幅值急劇減小。語音信號重放,明顯感覺噪音有所變化。</p><p> ?、赽uffer帶通濾波器</p><p><b>  程序源代碼:</b></p><p><b>  Fp1=1400;</b></p><p

36、><b>  Fp2=3400;</b></p><p><b>  Fs1=1500;</b></p><p><b>  Fs2=3600;</b></p><p>  [y,fs,nbits]=wavread('新年快樂.wav');</p><p>

37、;<b>  Ft=fs;</b></p><p>  wp1=tan(pi*Fp1/Ft); %帶通到低通濾波器參數(shù)轉(zhuǎn)換</p><p>  wp2=tan(pi*Fp2/Ft);</p><p>  ws1=tan(pi*Fs1/Ft);</p><p>  ws2=tan(pi*Fs

38、2/Ft); </p><p>  w=wp1*wp2/ws2;</p><p>  bw=wp2-wp1;</p><p><b>  wp=1;</b></p><p>  ws=(wp*wp2-w.^2)/(bw*w);</p><p>  [n22,wn22]=buttord(wp,ws,

39、1,50,'s'); %求低通濾波器階數(shù)和截止頻率</p><p>  [b22,a22]=butter(n22,wn22,'s'); %求S域的頻率響應(yīng)的參數(shù)</p><p>  [num2,den2]=lp2bp(b22,a22,sqrt(wp1*wp2),bw); %將S域低通參數(shù)轉(zhuǎn)為帶通的</p><p>  

40、[num22,den22]=bilinear(num2,den2,0.5);%雙線性變換實現(xiàn)S域到Z域的轉(zhuǎn)換</p><p>  [h,w]=freqz(num22,den22); %根據(jù)參數(shù)求出頻率響應(yīng)</p><p>  %plot(w*8000*0.5/pi,abs(h));</p><p>  %axis([0 4000 0 1.5]);&

41、lt;/p><p>  %legend('帶通濾波器(butter)');</p><p>  n = length (y) ; %求出語音信號的長度</p><p>  noise=0.01*randn(n,2); %隨機函數(shù)產(chǎn)生噪聲</p><p>  s=y+n

42、oise; %語音信號加入噪聲 </p><p>  S=fft(s); %傅里葉變換</p><p>  z22=fftfilt(b22,s);</p><p>  sound(z22);</p><p>  m22=fft(z22);

43、 %求濾波后的信號</p><p>  subplot(2,2,1);</p><p>  plot(abs(S),'g');</p><p>  title('濾波前信號的頻譜');</p><p>  subplot(2,2,2);</p><p>

44、  plot(abs(m22),'r');</p><p>  title('濾波后信號的頻譜');</p><p>  subplot(2,2,3);</p><p><b>  plot(s);</b></p><p>  title('濾波前信號的波形');</

45、p><p>  subplot(2,2,4);</p><p>  plot(z22);</p><p>  title('濾波后的信號波形');</p><p>  濾波器幅頻特性曲線圖:</p><p>  高通濾波器濾波效果:</p><p><b>  效果分析:&

46、lt;/b></p><p>  濾波前后波形在時域和頻域在幅值上都有比較明顯的變化。語音信號重放,明顯感覺聲音變得低沉、噪聲減少了些。</p><p><b> ?、跢IR高通濾波器</b></p><p><b>  程序源代碼:</b></p><p>  [y,fs,nbits]=wa

47、vread('新年快樂.wav');</p><p><b>  Fp=1500;</b></p><p><b>  Fc=1400;</b></p><p><b>  Fs=fs;</b></p><p>  wp=2*pi*Fp/Fs;</p>

48、;<p>  ws=2*pi*Fc/Fs;</p><p>  p=1-10.^(-rp/20); %通帶阻帶波紋</p><p>  s=10.^(-rs/20);</p><p>  fpts=[ws wp];</p><p>  mag=[0 1];</p>

49、<p>  dev=[p s];</p><p>  [n23,wn23,beta,ftype]=kaiserord(fpts,mag,dev);</p><p>  b23=fir1(n23,wn23,'high',Kaiser(n23+1,beta)); %由fir1設(shè)計濾波器</p><p>  [h,w]=freqz(b23

50、,1); %得到頻率響應(yīng)</p><p>  %plot(w*12000*0.5/pi,abs(h));</p><p>  %title('FIR高通濾波器');</p><p>  %axis([3000 6000 0 1.2]);</p><p>  n = length

51、 (y) ; %求出語音信號的長度</p><p>  noise=0.01*randn(n,2); %隨機函數(shù)產(chǎn)生噪聲</p><p>  s=y+noise; %語音信號加入噪聲 </p><p>  S=fft(s); %傅

52、里葉變換</p><p>  z23=fftfilt(b23,s);</p><p>  sound(z23);</p><p>  m23=fft(z23); %求濾波后的信號</p><p>  subplot(2,2,1);</p><p>  plot(abs(S),'g

53、');</p><p>  subplot(2,2,2);</p><p>  plot(abs(m23),'r');</p><p>  title('濾波后信號的頻譜');</p><p>  subplot(2,2,3);</p><p><b>  plot(s

54、);</b></p><p>  title('濾波前信號的波形');</p><p>  subplot(2,2,4);</p><p>  plot(z23);</p><p>  title('濾波后的信號波形');</p><p>  濾波器幅頻特性曲線圖:</

55、p><p>  高通濾波器濾波效果:</p><p><b>  效果分析:</b></p><p>  濾波前后波形的在時域和頻域都發(fā)生了顯著的變化。語音信號重放,無法聽到“新年快樂”的原音。</p><p><b>  結(jié)論</b></p><p>  在專業(yè)課的學(xué)習(xí)過程中,

56、我從理論的角度認(rèn)識到了DSP(數(shù)字信號處理)對幫助人們獲取有價值信息有十分巨大的意義。通過實踐“基于MATLAB有噪聲語音信號處理”這一課題,使我對DSP有了更為深刻的認(rèn)識,在這個課題中我借助Matlab軟件用“窗函數(shù)”的方法分別設(shè)計了低通、帶通、高通三種FIR濾波器,對自己錄制的一段語音信號進行加噪(為了獲得更為顯著的效果)、然后用根據(jù)不同要求設(shè)計好的濾波器進行濾波除噪,不同的濾波器在設(shè)置不同的技術(shù)指標(biāo)的時候得到的效果截然不同,為了嘗

57、試最好的濾波效果,我反復(fù)修改濾波器的通、阻帶起始、截止頻率來驗證,覺得非常有意思。之前在實驗室參加SOPC競賽,另一組的同學(xué)做的是關(guān)于“呼吸音檢測”的競賽課題,當(dāng)時對如何從一段呼吸聲音頻信號中分離出各種頻率成分來分析覺得不可思議,現(xiàn)在從原理上覺得是可行的,當(dāng)然如何具體去實施還有如何識別有價值信號、如何設(shè)計濾波器諸多問題需要考慮??傊?,通過這次的課題設(shè)計,對如何從一段語音信號中獲取有用的信號有了初步的實踐體會和認(rèn)識,對以后繼續(xù)專業(yè)知識的學(xué)

溫馨提示

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

最新文檔

評論

0/150

提交評論