通信工程專業(yè)本科畢業(yè)論文語音信號去噪-數字濾波器的設計.doc
《通信工程專業(yè)本科畢業(yè)論文語音信號去噪-數字濾波器的設計.doc》由會員分享,可在線閱讀,更多相關《通信工程專業(yè)本科畢業(yè)論文語音信號去噪-數字濾波器的設計.doc(19頁珍藏版)》請在裝配圖網上搜索。
語音信號去噪 ——數字濾波器的設計 作 者 指導教師 摘要:在現代各種通信系統(tǒng)中,由于自然界中的各種各樣的復雜噪聲不免會摻雜在其中,數字信號處理這門經典學科恰好能夠解決這個問題,其中最通用的方法就是利用濾波器來濾除這些雜波噪聲,FIR數字濾波器就是濾波器設計的基本部分。本論文研究的主要內容就是基于Matlab軟件仿真設計一個數字濾波器,將摻雜在語音信號中的高頻噪音消除,在此將分析消除高頻噪音前后語音信號的時域及頻域特性,對比分析即可驗證濾波前后特性差別。在本課題中,將利用簡單的窗函數法來設計FIR數字濾波器,通過Matlab仿真說明所設計濾波器的正確性。通過這次畢業(yè)設計,將會進一步理解語音信號原理分析及濾波處理,為更好的設計濾波器打好基礎。 關鍵詞:Matlab;窗函數法;FIR數字濾波器 Remove noise in the speech signal——the design of digital filter Abstract:In modern communication systems, a variety of complex noise may mix in the nature of sounds. The classic disciplines of the digital signal processing can solve this problem, one of the most common method is to use a filter to filter those clutter noise. FIR digital filter is the basic part of filter design. The main research content of this paper is based on Matlab software simulation to design a digital filter, in which to cancel the high frequency noise of the speech signal, then it will eliminate the high frequency noise and the speech signals from time domain and frequency domain characteristics in this analysis before and after, and analysis the differences test the filtering characteristics. In this issue, using a simple window function method to design a FIR digital filter, Matlab simulation shows the correct of the designed filter. Through the design of this graduation design, we will understand the principle of speech signal analysis and filtering, and lay the foundation for the filter design. Key words: Matlab; window function method; FIR digital filter 目 錄 1 引 言 3 1.1 課題研究現狀 3 1.2 課題研究目的 3 1.3 課題研究內容 3 1.4 MATLAB軟件設計平臺簡介 4 2 原始語音信號采集與處理 5 2.1 課題設計步驟及流程圖 5 2.2 語音信號處理 5 2.2.1 語音信號的采集 5 2.2.2 語音信號的時域頻譜分析 6 2.2.3 語音信號加噪與頻譜分析 8 3 FIR數字濾波器的設計 10 3.1 數字濾波器基本概念 10 3.2 常用窗函數介紹 10 3.3 FIR數字濾波器概述 10 3.4 FIR濾波器的窗函數設計 11 3.5 濾波器的編程實現 13 3.6 用濾波器對加噪語音信號進行濾波 14 3.7 回放語音信號 16 4 結 論 17 致 謝 18 參考文獻 19 1 引 言 1.1 課題研究現狀 20世紀60年代中期數字信號處理領域形成的諸多富有實踐性的的理論和算法,如快速傅立葉變換(FFT)以及各種數字濾波器等是語音信號數字處理的各項理論和技術基礎。在70年中后期之后,線性預測技術(LPC)已經用于語音信號的信息壓縮和特征提取,并已成為語音信號處理中非常重要的一個工具。80年代語音信號處理技術的重大發(fā)展是隱馬爾可夫模型(HMM)描述語音信號過程的產生過程。進入上世紀90年代以來,語音信號采集與分析技術在實際應用方面取得了許多突破性的研究進展。 近年來,隨著科學技術的不斷進步,人工神經網絡(ANN)的研究取得了迅速發(fā)展,語音信號處理的各項科學研究課題是促進其發(fā)展的催生力,同時,它的許多成果也體現在有關語音信號處理的各項技術之中。 1.2 課題研究目的 語音是人類獲取知識和各種各樣信息的重要手段和最初來源,人類離不開自然界中各種不同的語音,但在獲取語音的過程中,將不可避免的會受到外界環(huán)境的干擾和影響,如各種機器的轟鳴聲或者自然界太多的電磁噪聲干擾等這些不可避免的有害噪聲信號都會附加摻雜在語音信號中,這樣獲取的語音信號將不再是單純的語音,摻雜的噪聲不但降低了語音質量和語音的可懂度,嚴重時將導致不可預知的不良效果。 語音信號處理的好壞將影響并導致語音信號的好壞,只有通過將這些語音信號進行一系列的的數字處理,才能將那些非必要的噪聲雜波妥善濾除,得到純凈的單純的語音信號。現在社會衍生了很多現代的語音通信方式,手機通話、QQ或MSN等這些語音聊天軟件以及語音小說等,涉及語音的方方面面已經存在于我們生活中的大部分,因此語音信號去噪處理是具有現實意義的研究課程。 1.3 課題研究內容 1.用MATLAB程序對原始語音信號進行采樣,并繪制出采樣后語言信號時域波形和頻譜圖,并針對此圖分析語音信號特點。 2.將干擾噪聲加入到已經獲取的語音信號中,然后進行頻譜分析,并對比未加入噪聲的信號,分析差異。 3.設計FIR數字濾波器,并對被噪聲污染的語音信號進行濾波,畫出濾波前后信號的時域和頻譜,對濾波前后有噪音與無噪音的語音信號進行比較,分析信號的變化,從而驗證所設計濾波器的濾波效果。 4.回放語音信號。 1.4 MATLAB軟件設計平臺簡介 Matlab是MATrix和LABoratory的縮寫,是由Mathworks公司開發(fā)的一套用于科學工程計算的可視化高性能軟件,是一種交互式的以矩陣為基本數據結構的系統(tǒng),應用廣泛。 MATLAB的主要特點如下: (1) 程序的可移植性良好應用于其他程序。 (2) 程序限制寬泛,程序設計自由。有大量已經系統(tǒng)定義的函數可直接應用,并且能夠用戶自定義函數。 (3) 語言簡潔,使用靈活方便,庫函數相當豐富。 (4) 源程序向大眾開放。用戶可靈活的對源文件進行修改以及加入自己的設計語音構成新的工具箱。 (5) 最后MATLAB的一個重要特點是功能強大的工具箱。MATLAB包含兩個重要的部分:核心部分和各種可選的工具箱。 2 原始語音信號采集與處理 2.1 課題設計步驟及流程圖 本課題設計主要是針對一段原始語音信號,加入設計噪聲后,用窗函數法設計出的FIR濾波器對加入噪聲后的語音信號進行濾波去噪處理,并且分析對比前后時域和頻域波形。課題的設計流程圖如下圖2.1所示。 在Windows下錄制一段格式為.wav的語音 加入高頻噪聲信號 對語音信號進行頻譜分析,繪制出時域和頻域圖 用漢寧窗設計FIR濾波器 畫出頻率響應函數 用FIR濾波器對語音信號進行濾波 畫出語音信號濾波前后頻譜波形并進行分析 開始 結束 圖2.1 課題設計流程圖 2.2 語音信號處理 2.2.1 語音信號的采集 將話筒輸入計算機的語音輸入插口上,啟動錄音機,要求為8000HZ,8位單聲道的音頻格式,如下圖2.2所示,按下錄音按鈕,接著對話筒一段話,說完后停止錄音,屏幕左側將顯示所錄聲音的長度。點擊放音按鈕,可以實現所錄音的重現。以文件名“1”保存入C:\ MATLAB \ work 中。 圖2.2 語音信號的采集 2.2.2 語音信號的時域頻譜分析 Matlab軟件平臺下,利用wavread函數對語音信號進行采樣,采集出原始信號波形與頻譜,[y,fs,bits]=wavread(Blip,[N1 N2]),用于讀取語音,采樣值放在向量y中,fs表示采樣頻率(Hz),bits表示采樣位數。[N1 N2]表示讀取從N1點到N2點的值(若只有一個N的點則表示讀取前N點的采樣值)。 其程序如下: [y,Fs,bits]=wavread(1.wav); y=y(:,1); sigLength=length(y); Y = fft(y,sigLength); Pyy = Y.* conj(Y) / sigLength; halflength=floor(sigLength/2); f=Fs*(0:halflength)/sigLength; figure;plot(f,Pyy(1:halflength+1));xlabel(Frequency(Hz)); t=(0:sigLength-1)/Fs; figure;plot(t,y);xlabel(Time(s)); 得到原始語音信號時域波形如下圖2.3所示,頻域幅度譜如下圖2.4所示。從圖中可以看出語音信號有兩個特點:在時域內語音信號隨著時間的延續(xù)而緩慢變化,但在一較短時間內,語音信號基本保持穩(wěn)定;在頻域內語音信號的頻譜量主要集中在300~3400Hz的范圍內,利用這個特點,可以利用一個帶通濾波器將此范圍內的語音信號頻率分量取出,然后按8000Hz的采樣頻率對語音信號進行采樣,就可以取得離散的語音信號。 圖2.3 原始信號時域波形 圖2.4 原始信號頻譜 2.2.3 語音信號加噪與頻譜分析 利用MATLAB程序產生3.8kHz的余弦信號噪聲加入到語音信號中,模仿語音信號被污染,并對其頻譜分析。其主要程序如下: fs=8000; x1=wavread(1.wav); t=(0:length(x1)-1)/8000; f=fs*(0:1023)/2048; Au=0.05; d=[Au*cos(2*pi*3800*t)]; %噪聲為3.8kHz的余弦信號 x2=x1+d; y1=fft(x1,2048); y2=fft(x2,2048); figure(1) 運行程序后得到加噪后的語言信號波形如下圖2.5所示。 圖2.5 加噪后的語音信號 從上圖可以看出,加入3.8KHz的噪聲信號后,在時域圖上與原有信號的時域圖有明顯差異,在幅度“0”位置處附近多出了高頻成分,使加噪后的語音信號顯得更加緊湊。 plot(t,x2) xlabel(time(s)); ylabel(幅度); figure(2) subplot(2,1,1); plot(f,abs(y1(1:1024))); xlabel(Hz);ylabel(幅度); subplot(2,1,2); plot(f,abs(y2(1:1024))); xlabel(Hz);ylabel(幅度); sound(x2,fs,bits); 運行程序后得到原始語音信號和加噪后的語言信號的頻譜如下圖2.6所示。 圖2.6 原始語音信號頻譜與加噪后的語音信號頻譜比較 從上圖對比可以看出,加噪后的語音信號表現在頻譜圖上在3.8KHz的位置多出一個高頻脈沖成分,表現在回放語音上能聽到很刺耳很不舒適的噪音,原有信號聽著比較模糊。 3 FIR數字濾波器的設計 3.1 數字濾波器基本概念 所謂數字濾波器,是指輸入、輸出均為數字信號,通過一定運算關系改變輸入信號所含頻率成分的相對比例或者濾除某些頻率成分的一種數字濾波形式。因此,數字濾波的概念個模擬濾波的相同,只是信號的形式和實現濾波方法不同。由于數字濾波通過數值運算實現濾波,所以其處理精度高、穩(wěn)定、體積小,重量輕、靈活、不存在阻抗匹配問題,可以實現模擬濾波器無法實現的特殊濾波功能。 3.2 常用窗函數介紹 常用的窗函數有矩形窗(Rectangle Window)、三角窗(Bartlett Windows)、漢寧窗(Hanning),又稱為升余弦窗、海明窗(Hamming),又稱為改進的升余弦窗,除了以上幾種常用窗函數以外,尚有布拉克曼(Blackman)窗、凱塞(kaiser)窗等。 對于選擇何種窗函數,應充分考慮被處理信號的性質與處理要求等。如果僅要求準確分辨出主瓣頻率,而不考慮這種幅值精度,則可選用主瓣寬度較窄從而便于分辨的矩形窗,例如探測物體的自然震動頻率等;如果分析的信號是窄帶信號,而且具有較強的干擾噪聲信號出現的話,則應當選用旁瓣幅度較小的窗函數,如漢寧窗、三角窗等。 3.3 FIR數字濾波器概述 FIR(Finite Impulse Response)濾波器又叫有限長單位沖激響應濾波器,是數字信號處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴格的線性相頻特性,同時其單位抽樣響應是有限長的,因而濾波器是穩(wěn)定的系統(tǒng)。因此,FIR濾波器在通信、圖像處理、模式識別等領域都有著廣泛的應用。這類濾波器對于脈沖輸入信號的響應最終趨向于0,因此而得名。 有限脈沖響應濾波器的優(yōu)點: (1)脈沖響應為有限長:造成當輸入數位信號為有限長的時候,輸出數位信號亦為有限序列長度。 (2)比無限脈沖響應濾波器較容易實現到最佳狀態(tài)。 (3)線性相位造成h(n)是偶對稱或奇對稱且有限長。 (4)肯定是穩(wěn)定的:因為Z轉換后所有的極點都在單位圓內 3.4 FIR濾波器的窗函數設計 FIR濾波器設計問題在于尋求一系統(tǒng)函數,使其頻率響應逼近濾波器要求的理想頻率響應,其對應的單位脈沖響應為。 用窗函數設計FIR濾波器的的設計思想:從時域出發(fā),設計逼近理想。設理想濾波器的單位脈沖響應為。例如低通線性相位FIR濾波器的理想頻率響應與單位脈沖響應分別如下: 一般是無限長的,且是非因果的,不能直接作為FIR濾波器的單位脈沖響應。要想得到一個因果的有限長的濾波器,最直接的方法是截斷,即截取為有限長的因果序列,并用合適的窗函數進行加權作為FIR濾波器的單位脈沖響應。按照線性相位濾波器的要求,必須的偶對稱的。對稱中心應該等于濾波器的時延常數,即 下面著重介紹用窗函數法設計FIR濾波器的步驟如下: (1) 根據對阻帶衰減及過渡帶的指標要求,選擇串窗數類型(矩形窗、三角窗、漢寧窗、哈明窗、凱塞窗等),并估計窗口長度N。先按照阻帶衰減選擇窗函數類型。原則是在保證阻帶衰減滿足要求的情況下,盡量選擇主瓣的窗函數。然后根據過渡帶寬度估計窗口長度N,待求濾波器的過渡帶寬度Bt近似等于窗函數主瓣寬度,且近似于窗口長度N成反比,N=A/Bt,A取決于窗口類型。 (2) 構造希望逼近的頻率響應函數Hd(ejw) 。 所謂的“標準窗函數法”,就是選擇Hd(ejw)為線性相位理想濾波器,如本論文的低通濾波器,該Hdg(w)應滿足: (3) 計算hd(n)。如果給出待求濾波器的截止頻率響應函數為Hd(ejw),那么單位脈沖響應用下式求出: (4) 加窗得到設計結果:,驗證技術指標是否滿足設計要求。 針對該課題用窗函數法設計線性相位FIR數字濾波器的參數如下: 通帶截止頻率=0.2π 過渡帶寬度<0.4 阻帶衰減As>40 dB 具體計算如下: (1) 由給定的指標確定窗函數和長度N 由于阻帶衰減As>40dB,漢明窗和漢寧窗都滿足要求,若再考慮從濾波器節(jié)數最小的原則出發(fā),這里選用漢寧窗。 也可取N=21。 (2) 確定時延值 。 (3) 求理想的單位脈沖響應。 (4) 求濾波器的單位取樣響應h(n)。 3.5 濾波器的編程實現 按此要求設計的FIR數字低通濾波器,用MATLAB的程序實現如下: deltw = 0.4 * pi; Wc = 0.2 * pi; As = 40; N=ceil( 8 * pi/deltw)+1; win=hanning(N); h=fir1(N-1,Wc/pi,win); omega=linspace(0,pi,512); mag=freqz(h,[1],omega); magdb=20*log10(abs(mag)); plot(omega/pi,magdb); axis([0 1-100 0]); grid; xlabel(‘歸一化頻率’);ylabel(‘幅度/dB’); 此低通濾波器圖像如下圖3.1所示。 圖3.1 低通濾波器的歸一化頻率 3.6 用濾波器對加噪語音信號進行濾波 上一節(jié)利用窗函數法按照論文要求設計了FIR低通濾波器并繪圖,觀察所設計的濾波器是否能夠對采集的一部分語音信號進行相關處理,并將濾波前后的時域波形進行相比較,且對其快速傅里葉變換,即X=fft(signal),其目的是對比前后的頻域頻譜波形,分析所設計的濾波器能否達到設計要求。在Matlab程序設計中,FIR濾波器則是利用函數fftfilt對語音信號進行濾波。程序如下: [y,fs,nbits]=wavread(1.wav); N=length(y) Y=fft(y,N); sound(y); figure(4); plot(y); figure(5);plot(abs(Y)); Fp=1200; Fs=1100; Ft=8000; As=20; Ap=1; wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft; fp=2*Ft*tan(wp/2);fs=2*Ft*tan(ws/2); [n,wn]=buttord(wp,ws,Ap,As, s); [b,a]=butter(n,wn, s); [num,den]=bilinear(b,a,1); [h,w]=freqz(num,den); figure(2) d=[Au*cos(2*pi*3800*t)]; x2=x1+d; y1=fft(x1,2048); y2=fft(x2,2048); figure(3) plot(w*8000*0.5/pi,abs(h));z=filter(num,den,y); sound(z); m=z; figure(1) subplot(2,2,3);plot(abs(m), r); grid; subplot(2,2,4);plot(z, b); grid;subplot(2,2,2); plot(y,b); grid;subplot(2,2,1); plot(abs(Y),r); grid; 圖3.2 頻率特性曲線 圖3.3 濾波前后語音信號頻譜的比較 圖3.4 濾波前后的信號波形比較 由圖3.2頻率特性曲線可得知,該低通濾波器濾除1200Hz以上的高頻信號,保留0—1200Hz以內的低頻語音信號,符合設計濾除高頻噪音保留低頻原始語音信號的特點。 由上圖3.3可知,摻有高頻噪音的信號經過所設計的低通濾波器之后,保留了原始的低頻語音信號,濾除了摻在其中的高頻信號,使語音信號聽著沒有那么的尖銳刺耳了,這說明已經達到了濾除高頻噪音信號的目標。 分析圖3.4濾波前后的信號波形比較得知,濾波前后語音信號的波形發(fā)生了明顯改變,濾波前后的信號密度明顯減小,這是濾除了高頻噪音保留了低頻語音信號的結果。 3.7 回放語音信號 語音信號經過FIR濾波器的濾除噪聲的處理,在Matlab中,函數sound可以對聲音進行回放。其調用格式: sound (x,fs,bits); 可以聽出來濾波前后的聲音所發(fā)生的變化,而且聲音變得沒有加噪時那么刺耳了,比原始語音更加地平滑。用漢寧窗設計FIR濾波器濾掉了在語音中加入的高頻的噪聲,而且也把原始語音的很小的一部分也濾掉了,余下的語音信號全都是低頻語音信號,所以回放語音的時候聽起來比以前的更加平滑,說明設計的低通濾波器是成功的。 4 結 論 人們在獲取語音信號的過程中,不可避免的會受到外界環(huán)境的干擾和影響,這些干擾和影響不但降低了語音質量和語音的可懂度,嚴重時將導致不可預知的不良效果。當這些語音信號經過數字處理,用濾波器把噪聲雜波濾除,便得到純凈的語音信號。 該畢業(yè)設計的目的就是設計一個數字濾波器過濾被干擾的語音信號,論文的主要工作有:錄制一段原始語音信號,然后利用Matlab程序函數產生一定的噪聲信號,使語音信號顯得更加渾濁,調用MATLAB程序中sound函數功能試聽一下語音信號的變化,會發(fā)現聲音比較刺耳尖銳,同時通過信號的波形與頻譜圖可以明顯看出加入噪聲前后的變化情況,然后把這段加噪后的語音信號通過設計的低通濾波器進行濾波,通過程序調用顯示其濾波后的波形可以明顯的看到語音信號加噪前后的整個變化過程。 通過這次畢業(yè)設計,我對語音信號的濾波功能有了全面的認識,對數字信號處理的知識點有了更深層次的理解,進一步了解信號的產生、頻譜分析的方法,學會了分析濾波器的優(yōu)劣和性能,提高了分析問題和解決問題的能力。 致 謝 短暫而充實的大學四年時光即將接近尾聲,而該畢業(yè)論文的設計是大學最后一個學期的學習目標和任務,在論文完成之際,特向我的指導老師吳仲華致以誠摯的謝意。 吳老師為人誠懇,待人和藹可親,這種可貴的待人精神為我的畢業(yè)論文的設計營造了良好的氛圍。在本次設計中,吳老師給予我很大的關懷和幫助,特別是在論文的選題、前期課題指導及各段落內容銜接等各環(huán)節(jié)都細心的指導和講解,由于我在以前的課程學習中沒有扎實的數字信號處理基礎及Matlab程序設計經驗,吳老師為我提供了諸多方面的資料,讓我在課題設計中更加得心應手,最終才能圓滿的完成畢業(yè)論文的設計。 在這次畢業(yè)論文設計中,使我深刻的體會到只有理論知識還是不夠的,要能在原有的理論基礎上加以動手實踐,使理論和實踐很好的結合起來,這樣才能對該知識點有更加深刻的認識,希望這種經驗體會能夠為我以后的學習工作中不斷成長不斷進步。 最后祝愿我所有的老師和同學工作順利,闔家歡樂,一生平安。 參考文獻 [1] 高西全,丁玉美. 數字信號處理(第三版). 西安: 西安電子科大出版社, 2008 [2] 楊述斌,李永全.數字信號處理實踐教程. 武漢: 華中科技大學出版社, 2007 [3] 丁玉美,高西全. 數字信號處理學習指導(第三版). 西安: 西電出版社, 2009 [4] 陳懷琛,數字信號處理教程-MATLAB釋疑與實現. 北京: 電子工業(yè)出版社, 2004 [5] 劉順蘭,吳杰. 數字信號處理. 西安: 西安電子科技大學出版社, 2003 [6] 劉益成,孫祥娥. 數字信號處理. 北京: 電子工業(yè)出版社, 2004 [7] Harry Y-F Lam.模擬和數字濾波器設計與實現. 北京:人民郵電出版社, 1985 [8] 孫洪. 數字信號處理實驗指導書(MATLAB版). 北京: 清華大學出版社, 2003- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 通信工程 專業(yè)本科 畢業(yè)論文 語音 信號 數字濾波器 設計
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.jqnhouse.com/p-9288973.html