基于MATLAB的語(yǔ)音信號(hào)采集和窗函數(shù)法濾波_第1頁(yè)
基于MATLAB的語(yǔ)音信號(hào)采集和窗函數(shù)法濾波_第2頁(yè)
基于MATLAB的語(yǔ)音信號(hào)采集和窗函數(shù)法濾波_第3頁(yè)
基于MATLAB的語(yǔ)音信號(hào)采集和窗函數(shù)法濾波_第4頁(yè)
基于MATLAB的語(yǔ)音信號(hào)采集和窗函數(shù)法濾波_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄摘要01 matlab 程序設(shè)計(jì)的基本方法 1 2 數(shù)字信號(hào)處理的基本理論與方法 2 2.1 設(shè)計(jì)理論依據(jù) , 2 2.1.1 采樣定理 , 2 2.1.2 采樣頻率 , 3 2.1.3 采樣位數(shù)與采樣頻率 , 33 利用 matlab 采集語(yǔ)言信號(hào)并分析 43.1 語(yǔ)音的錄入與打開(kāi) , 43.2 時(shí)域信號(hào)的 fft分析, 43.3 程序設(shè)計(jì)源代碼 ,5 4 用 matlab 環(huán)境采用窗函數(shù)法設(shè)計(jì)數(shù)字濾波器8 4.1 數(shù)字濾波器的設(shè)計(jì)過(guò)程 ,84.2 利用窗函數(shù)法設(shè)計(jì)線性相位fir 數(shù)字濾波器 ,8 4.2.1 常見(jiàn)窗函數(shù) , 8 4.2.2 matlab 窗函數(shù)的實(shí)現(xiàn) , 10 4.3

2、利用 hanning 窗設(shè)計(jì)低通濾波器 ,11 5 根據(jù)所設(shè)計(jì)的低通濾波器對(duì)語(yǔ)音信號(hào)進(jìn)行處理并分析 14 6 心得體會(huì) 16 參考文獻(xiàn) 17 1 1 matlab 程序設(shè)計(jì)的基本方法matlab 是矩陣實(shí)驗(yàn)室( matrix laboratory)的簡(jiǎn)稱(chēng),是美國(guó)mathworks 公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,主要包括 matlab 和simulink 兩大部分。 matlab 和 mathematica 、maple 并稱(chēng)為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類(lèi)科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。matlab 可以進(jìn)行矩陣運(yùn)算、繪制

3、函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶(hù)界面、連接其他編程語(yǔ)言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域。matlab 產(chǎn)品族可以用來(lái)進(jìn)行以下各種工作: 數(shù)值分析 數(shù)值和符號(hào)計(jì)算 工程與科學(xué)繪圖 控制系統(tǒng)的設(shè)計(jì)與仿真 數(shù)字圖像處理技術(shù) 數(shù)字信號(hào)處理技術(shù) 通訊系統(tǒng)設(shè)計(jì)與仿真 財(cái)務(wù)與金融工程2 2 數(shù)字信號(hào)處理的基本理論與方法2.1 設(shè)計(jì)理論依據(jù)圖 1 原理示意圖2.1.1 采樣定理在進(jìn)行模擬 / 數(shù)字信號(hào)的轉(zhuǎn)換過(guò)程中,當(dāng)采樣頻率fs.max 大于信號(hào)中,最高頻率 fmax 的 2 倍時(shí),即:fs.max=2fmax, 則采樣之后的數(shù)字信號(hào)完整地保留

4、了原始信號(hào)中的信息,一般實(shí)際應(yīng)用中保證采樣頻率為信號(hào)最高頻率的 510 倍;采樣定理又稱(chēng)奈奎斯特定理: 理想低通信道的最高大碼元傳輸速率=2w*log2 n ( 其中 w是理想低通信道的帶寬 ,n 是電平強(qiáng)度 ) 3 2.1.2 采樣頻率采樣頻率(也稱(chēng)為采樣速度或者采樣率)定義了每秒從連續(xù)信號(hào)中提取并組成離散信號(hào)的采樣個(gè)數(shù),它用赫茲(hz)來(lái)表示。采樣頻率的倒數(shù)是采樣周期或者叫作采樣時(shí)間,它是采樣之間的時(shí)間間隔。采樣頻率只能用于周期性采樣的采樣器,對(duì)于非周期性采樣的采樣器沒(méi)有規(guī)則限制。采樣頻率的常用的表示符號(hào)是 f_s 。2.1.3 采樣位數(shù)與采樣頻率采樣位數(shù)可以理解為聲卡處理聲音的解析度。這

5、個(gè)數(shù)值越大,解析度就越高,錄制和回放的聲音就越真實(shí)。電腦中的聲音文件是用數(shù)字0和 1 來(lái)表示的,所以在電腦上錄音的本質(zhì)就是把模擬聲音信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。反之,在播放時(shí)則是把數(shù)字信號(hào)還原成模擬聲音信號(hào)輸出。采樣頻率是指錄音設(shè)備在一秒鐘內(nèi)對(duì)聲音信號(hào)的采樣次數(shù),采樣頻率越高聲音的還原就越真實(shí)越自然。采樣位數(shù)和采樣頻率對(duì)于音頻接口來(lái)說(shuō)是最為重要的兩個(gè)指標(biāo),也是選擇音頻接口的兩個(gè)重要標(biāo)準(zhǔn)。無(wú)論采樣頻率如何,理論上來(lái)說(shuō)采樣的位數(shù)決定了音頻數(shù)據(jù)最大的力度范圍。每增加一個(gè)采樣位數(shù)相當(dāng)于力度范圍增加了 6db。采樣位數(shù)越多則捕捉到的信號(hào)越精確。采樣率越高,計(jì)算機(jī)攝取的圖片越多,對(duì)于原始音頻的還原也越加精確。4

6、3 利用 matlab 采集語(yǔ)言信號(hào)并分析3.1 語(yǔ)音的錄入與打開(kāi)利用 matlab 中的 wavread命令來(lái)讀入(采集)語(yǔ)音信號(hào),將它賦值給某一向量。再將該向量看作一個(gè)普通的信號(hào),對(duì)其進(jìn)行fft變換實(shí)現(xiàn)頻譜分析,再依據(jù)實(shí)際情況對(duì)它進(jìn)行濾波。對(duì)于波形圖與頻譜圖(包括濾波前后的對(duì)比圖) 都可以用 matlab 畫(huà)出。我們還可以通過(guò) sound 命令來(lái)對(duì)語(yǔ)音信號(hào)進(jìn)行回放,以便在聽(tīng)覺(jué)上來(lái)感受聲音的變化。y,fs,bits=wavread(blip,n1 n2) ,用于讀取語(yǔ)音,采樣值放在向量 y 中,fs 表示采樣頻率 (hz) ,bits表示采樣位數(shù)。 n1 n2 表示讀取從 n1點(diǎn)到 n2點(diǎn)的

7、值(若只有一個(gè)n的點(diǎn)則表示讀取前n點(diǎn)的采樣值)。sound(x,fs,bits); 用于對(duì)聲音的回放。向量y 則就代表了一個(gè)信號(hào)(也即一個(gè)復(fù)雜的“函數(shù)表達(dá)式”)也就是說(shuō)可以像處理一個(gè)信號(hào)表達(dá)式一樣處理這個(gè)聲音信號(hào)。3.2 時(shí)域信號(hào)的 fft分析函數(shù)的一種調(diào)用格式為:y=fft(x) 其中, x 是序列, y 是序列的 fft ,x 可以為一向量或矩陣,若x 為一向量, y 是 x 的 fft 。且和 x 相同長(zhǎng)度。若 x 為一矩陣,則 y 是對(duì)矩陣的每一列向量進(jìn)行fft 。如果 x 長(zhǎng)度是 2 的冪次方,函數(shù) fft執(zhí)行高速5 基2fft算法;否則 fft執(zhí)行一種混合基的離散傅立葉變換算法,計(jì)

8、算速度較慢。函數(shù) fft的另一種調(diào)用格式為:y=fft(x,n) 式中, x,y 意義同前, n為正整數(shù)。函數(shù)執(zhí)行n點(diǎn)的 fft 。若 x 為向量且長(zhǎng)度小于 n,則函數(shù)將 x 補(bǔ)零至長(zhǎng)度 n 。若向量 x 的長(zhǎng)度大于 n ,則函數(shù)截短 x 使之長(zhǎng)度為 n 。若 x 為矩陣,按相同方法對(duì)x 進(jìn)行處理。經(jīng)函數(shù) fft求得的序列 y 一般是復(fù)序列,通常要求其幅值和相位。 matlab提供求復(fù)數(shù)的幅值和相位函數(shù):abs,angle ,這些函數(shù)一般和fft同時(shí)使用。3.3 程序設(shè)計(jì)源代碼fs=8000; x1=wavread(c:windowsmediawindows xp 關(guān)機(jī).wav); t=(0:

9、length(x1)-1)/8000; figure(1) plot(t,x1) grid on;axis tight; title(原始語(yǔ)音信號(hào) ); xlabel(時(shí)間(s); ylabel(幅度); figure(2) plot(abs(fft(x1,40480); grid on;axis tight; 6 title(原始語(yǔ)音信號(hào) fft頻譜) xlabel(hz); ylabel(幅度); 圖 2 原始語(yǔ)音信號(hào)時(shí)域波形7 圖 3 原始語(yǔ)音信號(hào)頻譜圖8 4 用 matlab 環(huán)境采用窗函數(shù)法設(shè)計(jì)數(shù)字濾波器數(shù)字濾波器是一種用來(lái)過(guò)濾時(shí)間離散信號(hào)的數(shù)字系統(tǒng),通過(guò)對(duì)抽樣數(shù)據(jù)進(jìn)行數(shù)學(xué)處理來(lái)達(dá)到

10、頻域?yàn)V波的目的。根據(jù)其單位沖激響應(yīng)函數(shù)的時(shí)域特性可分為兩類(lèi): 無(wú)限沖激響應(yīng)(iir ) 濾波器和有限沖激響應(yīng) (fir)濾波器。與 iir 濾波器相比, fir 的實(shí)現(xiàn)是非遞歸的,總是穩(wěn)定的;更重要的是, fir 濾波器在滿(mǎn)足幅頻響應(yīng)要求的同時(shí),可以獲得嚴(yán)格的線性相位特性。因此,它在高保真的信號(hào)處理,如數(shù)字音頻、圖像處理、數(shù)據(jù)傳輸、生物醫(yī)學(xué)等領(lǐng)域得到廣泛應(yīng)用。4.1 數(shù)字濾波器設(shè)計(jì)的過(guò)程不論是 iir 濾波器還是 fir 濾波器的設(shè)計(jì)都包括三步:(1) 按照實(shí)際任務(wù)的要求,確定濾波器的性能指標(biāo)。(2) 用一個(gè)因果、穩(wěn)定的離散線性時(shí)不變系統(tǒng)的系統(tǒng)函數(shù)去逼近這一性能指標(biāo)。根據(jù)不同的要求可以用iir

11、 系統(tǒng)函數(shù),也可以用fir 系統(tǒng)函數(shù)去逼近。(3) 利用有限精度算法實(shí)現(xiàn)系統(tǒng)函數(shù),包括結(jié)構(gòu)選擇、 字長(zhǎng)選擇等。4.2 利用窗函數(shù)法設(shè)計(jì)線性相位fir 數(shù)字濾波器4.2.1 常用窗函數(shù)(l) 矩形窗9 矩形窗使用最多,習(xí)慣上不加窗就是使信號(hào)通過(guò)了矩形窗。這種窗的優(yōu)點(diǎn)是主瓣比較集中,缺點(diǎn)是旁瓣較高,并有負(fù)旁瓣,導(dǎo)致變換中帶進(jìn)了高頻干擾和泄漏,甚至出現(xiàn)負(fù)譜現(xiàn)象。(2) 三角窗三角窗亦稱(chēng)費(fèi)杰( fejer )窗,是冪窗的一次方形式,三角窗與矩形窗比較,主瓣寬約等于矩形窗的兩倍,但旁瓣小,而且無(wú)負(fù)旁瓣(3) 漢寧窗漢寧(hanning)窗又稱(chēng)升余弦窗,漢寧窗可以看作是3 個(gè)矩形時(shí)間窗的頻譜之和,它可以使

12、用旁瓣互相抵消,消去高頻干擾和漏能。漢寧窗與矩形窗的譜圖對(duì)比,可以看出,漢寧窗主瓣加寬(第一個(gè)零點(diǎn)在 2/t 處)并降低,旁瓣則顯著減小。第一個(gè)旁瓣衰減一32db ,而矩形窗第一個(gè)旁瓣衰減 -13db。此外,漢寧窗的旁瓣衰減速度也較快,約為 60db/(10oct ),而矩形窗為 20db/(10oct )。由以上比較可知,從減小泄漏觀點(diǎn)出發(fā),漢寧窗優(yōu)于矩形窗。但漢寧窗主瓣加寬,相當(dāng)于分析帶寬加寬,頻率分辨力下降。(4) 海明窗海明(hamming )窗也是余弦窗的一種,又稱(chēng)改進(jìn)的升余弦窗,海明窗與漢寧窗都是余弦窗,只是加權(quán)系數(shù)不同。海明窗加權(quán)的系數(shù)能使旁瓣達(dá)到更小。分析表明,海明窗的第一旁瓣

13、衰減為-42db。海明窗的頻譜也是由 3 個(gè)矩形時(shí)窗的頻譜合成, 但其旁瓣衰減速度為20db/(10oct ) ,這比漢寧窗衰減速度慢。海明窗與漢寧窗都是很有用的窗函數(shù)。除了以上幾種常用窗函數(shù)以外,尚有多種窗函數(shù),如平頂窗、帕仁(parzen)窗、布拉克曼( blackman)窗、凱塞( kaiser )窗等。對(duì)于窗函數(shù)的選擇,應(yīng)考慮被分析信號(hào)的性質(zhì)與處理要求。如果僅要求精確讀出主瓣頻率,而不考慮幅值精度,則可選用主瓣寬度比較窄10 而便于分辨的矩形窗, 例如測(cè)量物體的自振頻率等; 如果分析窄帶信號(hào),且有較強(qiáng)的干擾噪聲,則應(yīng)選用旁瓣幅度小的窗函數(shù),如漢寧窗、三角窗等;對(duì)于隨時(shí)間按指數(shù)衰減的函數(shù)

14、,可采用指數(shù)窗來(lái)提高信噪比。4.2.2 matlab 窗函數(shù)的實(shí)現(xiàn)利用 matlab 實(shí)現(xiàn)窗函數(shù)法設(shè)計(jì)fir 濾波器,主要是選擇合適的窗函數(shù)進(jìn)行截?cái)噙\(yùn)算。先從理論上得到待逼近理想濾波器的單位脈沖響應(yīng),再由通帶、阻帶衰減指標(biāo)確定窗函數(shù)類(lèi)型,由過(guò)渡帶確定fir 濾波器階數(shù) m ,最后利用 matlab 計(jì)算出窗函數(shù)的值,以及hdkwnk 的值,由此即得所設(shè)計(jì)的 fir 濾波器的 hk 。matlab 提供了許多常用的窗函數(shù), 其中部分窗函數(shù)的調(diào)用形式為w=hanning(n) w=hamming(n) w=blackman(n) w=kaiser(n,beta) 其中 n 是窗函數(shù)的長(zhǎng)度, bet

15、a 是控制 kaiser窗形狀的參數(shù)。返回的變量 w是一個(gè)長(zhǎng)度為 n的列向量,給出窗函數(shù) n點(diǎn)的取值。對(duì)于 kaiser窗,matlab 還提供了一個(gè)根據(jù)帶設(shè)計(jì)濾波器的指標(biāo)直接計(jì)算窗函數(shù)的函數(shù),其基本調(diào)用形式為m,wc,beta,ftype=kaiserord(f,a,dev) 其中:參數(shù) f 表示需要設(shè)計(jì)的 fir 濾波器的 b個(gè)頻帶;參數(shù) a 為 b個(gè)頻帶的幅度值,一個(gè)通帶取 1, 阻帶取 0; 參數(shù) dev 為 b個(gè)頻帶中的波動(dòng)值。11 4.3 利用 hanning 窗設(shè)計(jì)低通濾波器由題意可知:要設(shè)計(jì)濾波器濾除信號(hào)的高頻成分,即設(shè)計(jì)低通濾波器。故確定設(shè)計(jì)的低通濾波器的設(shè)計(jì)指標(biāo)為:wp=0

16、.3*pi,ws=0.5*pi 程序如下:fs=8000; x1=wavread(c:windowsmediawindows xp 關(guān)機(jī).wav); t=(0:length(x1)-1)/8000; f=fs*(0:2047)/4096; a1=0.05;a2=0.10; d=a1*cos(2*pi*3600*t)+a2*sin(2*pi*3800*t); x2=x1+d d; wp=0.3*pi; ws=0.5*pi; wdelta=ws-wp; n=ceil(6.6*pi/wdelta); %取整wn=(0.3+0.5)*pi/2; bz,az=fir1(n,wn/pi,hanning(n

17、+1); %選擇窗函數(shù)并歸一化截止頻率figure(1) freqz(bz,az); grid on;axis tight; f2=filter(bz,az,x2); figure(2) subplot(2,1,1) plot(t,x2); 12 grid on;axis tight; title(濾波前的時(shí)域波形 ); subplot(2,1,2) plot(t,f2); grid on;axis tight; title(濾波后的時(shí)域波形 ); y3=fft(f2,4096); f=fs*(0:2047)/4096; figure(3) y2=fft(x2,4096); subplot(2

18、,1,1); plot(f,abs(y2(1:2048); grid on;axis tight; title(濾波前的頻譜 ) xlabel(hz); ylabel(幅度); subplot(2,1,2) plot(f,abs(y3(1:2048); grid on;axis tight; title(濾波后的頻譜 ) xlabel(hz); ylabel(幅度); sound(f2,8000); %回放聲音13 圖3 濾波前后增益響應(yīng)14 5 根據(jù)所設(shè)計(jì)的低通濾波器對(duì)語(yǔ)音信號(hào)進(jìn)行處理并分析圖 4 濾波前后時(shí)域波形圖通過(guò)對(duì)上圖比較可得出設(shè)計(jì)的低通濾波器濾除了聲音信號(hào)的高頻成分,只剩下了低頻成

19、分。15 05001000 1500 2000 2500 3000 350050100150200濾波前的頻譜hz幅度05001000 1500 2000 2500 3000 350050100150200濾波后的頻譜hz幅度圖 5 濾波前后頻譜圖由圖 5 濾波前后對(duì)比的頻譜圖可知,高頻成分的頻譜幅度接近0,即濾除了高頻成分。16 參考文獻(xiàn)1、陳懷琛 .matlab 及在電子信息課程中的應(yīng)用m. 北京:電子工業(yè)出版社 .2008,1 2、陳后金 . 數(shù)字信號(hào)處理(第二版) . 高等教育出版社 .2008,3 3、張文 . 基于 matlab的語(yǔ)音信號(hào)的濾波與實(shí)現(xiàn)j.山西電子技術(shù).2008,2 4、徐靖濤 . 基于 matlab 的語(yǔ)音信號(hào)分析與處理 j. 重慶科技學(xué)院學(xué)報(bào)2心得體會(huì)語(yǔ)音信號(hào)處理是語(yǔ)音學(xué)與數(shù)字信號(hào)處理技術(shù)相結(jié)合的交叉學(xué)科,課題在這里不討論語(yǔ)音學(xué),而是將語(yǔ)音當(dāng)做一種特殊的信號(hào),即一種“復(fù)雜向量”來(lái)看待。 也就是說(shuō),課題更多的還是體現(xiàn)了數(shù)字信號(hào)處理技術(shù)。課題的特色在于它將語(yǔ)音看作了一個(gè)向量,于是語(yǔ)音數(shù)字化了,則可以完全利用數(shù)字信號(hào)處理的知識(shí)來(lái)解決。我們可以像給一般信號(hào)做頻譜分析一樣,來(lái)給語(yǔ)音信號(hào)做頻譜分析,也可以較容易的用數(shù)字濾波器來(lái)對(duì)語(yǔ)音進(jìn)行濾波處理。經(jīng)過(guò)一個(gè)星期的課程設(shè)計(jì),過(guò)程曲

溫馨提示

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

評(píng)論

0/150

提交評(píng)論