第一篇:語音信號處理課程設(shè)計指導(dǎo)剖析
數(shù)字信號處理課程設(shè)計報告
學(xué)院:電子信息學(xué)院
班級:通信131
姓名:*** 2016年 月 日
語音信號處理
目錄
一、設(shè)計目的.................................2
二、設(shè)計要求及任務(wù)...........................2 2.1 語音信號的采集........................2 2.2 語音信號的頻譜分析;..................2
三、課程設(shè)計平臺.............................3
四、設(shè)計原理與計算方法.......................3 4.1卷積運算..............................3 4.2 采樣定理..............................3
五、設(shè)計內(nèi)容.................................4 5.1利用帶阻濾波器的進(jìn)行濾波的具體步驟....4 5.1.1語音信號的錄入與提取..............4 5.1.2加入噪聲信號......................6 5.1.3 語音信號和噪聲信號相加...........8 5.1.4濾波器設(shè)計........................9 5.1.5對信號進(jìn)行濾波...................11 5.2利用低通濾波器進(jìn)行濾波...............12 六:總結(jié)....................................14
語音信號處理
一、設(shè)計目的
1、學(xué)會MATLAB的使用,掌握MATLAB程序設(shè)計方法;
2、掌握在Windows環(huán)境下語言信號采集的方法;
3、掌握數(shù)字信號處理的基本概念、基本理論和基本方法;
4、掌握MATLAB設(shè)計IIR數(shù)字濾波器的方法;
5、學(xué)會用MATLAB對信號進(jìn)行分析和處理;
二、設(shè)計要求及任務(wù)
2.1 語音信號的采集
本設(shè)計利用計算機Windows下的錄音機錄入一句語音信號,然后在Matlab軟件平臺下,利用函數(shù)waveread對語音信號進(jìn)行采樣,記住采樣頻率和采樣點數(shù)。
2.2 語音信號的頻譜分析;
在Matlab中,可以利用函數(shù)FFT對信號進(jìn)行快速傅里葉變換,得到信號的頻譜特性,然后加入一干擾信號,要求畫出語音信號干擾前后的時域波形,并對其頻譜進(jìn)行分析。
1、設(shè)計數(shù)字濾波器,給出性能指標(biāo)(參考指標(biāo));
(1)低通濾波器的性能指標(biāo):fp=1000Hz,fs=1200Hz,As=100dB,Ap=1dB(2)高通濾波器的性能指標(biāo):fs=4800Hz,fp=5000Hz,As=100dB,Ap=1dB(3)帶通濾波器的性能指標(biāo):fp1=1200Hz,fp2=3000Hz,fs1=1000Hz, fps2=3200Hz,As=100dB,Ap=1dB;
采用雙線性變換法設(shè)計上面一種類型的數(shù)字濾波器,要求使用切比雪夫II型濾波器。
2、用濾波器對信號進(jìn)行濾波
語音信號處理
畫出濾波后信號的時域波形及頻譜,并對濾波前后的信號進(jìn)行對比,分析信號的變化。
3、回放語音信號,分析濾波前后的語音變化。
在熟悉數(shù)字信號處理課程理論的基礎(chǔ)上,通過MATLAB仿真實現(xiàn)語音信號的采集與處理,進(jìn)一步加深對數(shù)字信號處理理論和技術(shù)的掌握。
三、課程設(shè)計平臺
計算機、MATLAB6.5以上
四、設(shè)計原理與計算方法
4.1卷積運算
卷積和乘積運算在頻域和時域是一一對應(yīng)的,兩個信號在時域的卷積可以轉(zhuǎn)化為求兩者在頻域的乘積后再反變換,同理在頻域的卷積等時域的乘積。而信號的頻域求解有快速傅里葉FFT算法。
卷積與傅里葉變換有著密切的關(guān)系。利用這一點性質(zhì),即兩函數(shù)的傅里葉變換的乘積等于它們卷積后的傅里葉變換,能使傅里葉分析中許多問題的處理得到簡化。
由卷積得到的函數(shù)f*g 一般要比f 和g 都光滑。特別當(dāng)g 為具有緊支集的光滑函數(shù),f 為局部可積時,它們的卷積f * g 也是光滑函數(shù)。利用這一性質(zhì),對于任意的可積函數(shù)f,都可以簡單地構(gòu)造出一列逼近于f 的光滑函數(shù)列,這種方法稱為函數(shù)的光滑化或正則化。
卷積的概念還可以推廣到數(shù)列、測度以及廣義函數(shù)上去。4.2 采樣定理
采樣定理,又稱香農(nóng)采樣定理,奈奎斯特采樣定理,是信息論,特別是通訊與信號處理學(xué)科中的一個重要基本結(jié)論。E.T.Whittaker(1915年發(fā)表的統(tǒng)計理論), 3
語音信號處理
克勞德·香農(nóng)與Harry Nyquist都對它作出了重要貢獻(xiàn)。另外,V.A.Kotelnikov也對這個定理做了重要貢獻(xiàn)。
采樣是將一個信號(即時間或空間上的連續(xù)函數(shù))轉(zhuǎn)換成一個數(shù)值序列(即時間或空間上的離散函數(shù))。采樣定理指出,如果信號是帶限的,并且采樣頻率高于信號帶寬的兩倍,那么,原來的連續(xù)信號可以從采樣樣本中完全重建出來。帶限信號變換的快慢受到它的最高頻率分量的限制,也就是說它的離散時刻采樣表現(xiàn)信號細(xì)節(jié)的能力是有限的。采樣定理是指,如果信號帶寬不到采樣頻率的一半(即奈奎斯特頻率),那么此時這些離散的采樣點能夠完全表示原信號。高于或處于奈奎斯特頻率的頻率分量會導(dǎo)致混疊現(xiàn)象。大多數(shù)應(yīng)用都要求避免混疊,混疊問題的嚴(yán)重程度與這些混疊頻率分量的相對強度有關(guān)。
五、設(shè)計內(nèi)容
5.1利用帶阻濾波器的進(jìn)行濾波的具體步驟
5.1.1語音信號的錄入與提取
用電腦所帶的錄音工具錄制一段錄音,并將聲音保存,因為錄入的聲音不是wav格式,因此用格式工廠軟件將其進(jìn)行轉(zhuǎn)換位wav格式。
利用Matlab對語音信號進(jìn)行FFT分析,并畫出源語音信號的時域波形和頻域波形。實驗代碼:
[x,fs]=wavread('c1.wav');%利用wavread函數(shù)對語音信號進(jìn)行提取 figure(1)subplot(2,1,1);N=length(x);T=1/fs;
t=0:T:(N-1)*T;%時間間隔
plot(t,x)%以時間為橫軸,x為縱軸畫圖 title('原語音信號時域分析')%圖形命名 xlabel('t(s)')ylabel('x')
以上為時域分析,接下來為頻域分析
語音信號處理
f=(0:N-1)*fs/N;X=fft(x);subplot(2,1,2)plot(f,abs(X))axis([0 25000 0 60]);title('原語音信號頻域分析')xlabel('f(Hz)')ylabel('X')
語音信號圖形:
語音信號處理
5.1.2加入噪聲信號
在此選擇余弦函數(shù)作為噪聲信號,因為正弦和余弦函數(shù)的頻域為兩條豎直的線,便于濾波
實驗代碼:
y=0.003*sin(50000*t);
y1=[y' y'];%對噪音信號進(jìn)行轉(zhuǎn)換,便于信號相加(見下圖有說明)Y=fft(y);figure(2)subplot(2,1,1)plot(t,y)
title('干擾信號時域波形')xlabel('t(s)')
ylabel('y=0.003*sin(50000*t)')Y=fft(y);subplot(2,1,2)plot(f,abs(Y))
axis([0 25000 0 60]);%取在語音信號范圍內(nèi)的噪聲信號 title('干擾信號頻域波形')xlabel('f(Hz)')ylabel('Y')
語音信號處理
通過圖中劃線的部分可以看出,通過y1=[y' y']此句可以將x和y這兩個變量類型統(tǒng)一,以便噪聲與語音信號的相加
語音信號處理
噪聲信號圖形:
5.1.3 語音信號和噪聲信號相加
實驗代碼:
x1=wavread('c1.wav');x2=x1+y1;figure(3)subplot(2,1,1)plot(t,x2)
title('加入噪聲信號時域波形')xlabel('t(s)')ylabel('x')X2=fft(x2);subplot(2,1,2)plot(f,abs(X2))
axis([0 25000 0 60]);title('加入噪聲信號頻域波形')
語音信號處理
xlabel('f(Hz)')ylabel('Y')
兩信號相加圖形:
5.1.4濾波器設(shè)計
fp1=0.5*10^4;fp2=4*10^4;fs1=0.6*10^4;fs2=3.7*10^4;Rp=1;As=100;Fs=80000;
wp11=2*pi*fp1/Fs;wp22=2*pi*fp2/Fs;ws11=2*pi*fs1/Fs;
語音信號處理
ws22=2*pi*fs2/Fs;
OmegaP11=2*Fs*tan(wp11/2);OmegaP22=2*Fs*tan(wp22/2);OmegaS11=2*Fs*tan(ws11/2);OmegaS22=2*Fs*tan(ws22/2);OmegaP=[OmegaP11,OmegaP22];OmegaS=[OmegaS11,OmegaS22];%預(yù)畸變化
[N,OmegaC]=cheb2ord(OmegaP,OmegaS,Rp,As,'s');[b,a]=cheby2(N,As,OmegaS,'stop','s');[bz,az]=bilinear(b,a,Fs);%AD轉(zhuǎn)換 [H,w]=freqz(bz,az);db=20*log10(abs(H));figure(4)plot(w/pi,db)title('帶阻濾波器')xlabel('w/pi')ylabel('Db')
濾波器圖形:
語音信號處理
5.1.5對信號進(jìn)行濾波
實驗代碼:
H=filter(bz,az,x2);figure(5)subplot(211)plot(t,H)
title('濾波后時域')xlabel('t(s)')ylabel('x')subplot(212)H1=fft(H);plot(f,abs(H1));axis([0 25000 0 60]);title('濾波后頻域')xlabel('f(Hz)')
語音信號處理
ylabel('Y')
濾波后圖形:
對比原圖源信號已經(jīng)被濾出來了 5.2利用低通濾波器進(jìn)行濾波
前三步和上面帶阻濾波器一樣便不再重復(fù)敘述,從低通濾波器的設(shè)計開始 低通濾波器實驗代碼: fp1=0.25*10^4;fs1=0.5*10^4;Rp=1;As=100;Fs=30000;
wp11=2*pi*fp1/Fs;ws11=2*pi*fs1/Fs;
OmegaP=2*Fs*tan(wp11/2);OmegaS=2*Fs*tan(ws11/2);%頻率預(yù)畸
語音信號處理
[N,OmegaC]=cheb2ord(OmegaP,OmegaS,Rp,As,'s');%為了得到N C [z0,p0,k0]=Cheb2ap(N,As);%歸一化原型低通濾波器零極點 a0=real(poly(p0));b0=k0*real(poly(z0));
[b,a]=lp2lp(b0,a0,OmegaC);%將歸一化原型低通轉(zhuǎn)換成低通濾波器
[bz,az]=bilinear(b,a,Fs);%雙線性變換AF到DF [H,w]=freqz(bz,az);db=20*log10(abs(H));figure(4)plot(w/pi,db)title('低通濾波器')xlabel('w/pi')ylabel('Db')
此處設(shè)計低通濾波器時與上面方法不同,此處先求出了歸一化原型低通濾波器,在利用歸一化原型低通濾波器轉(zhuǎn)換成低通濾波器 低通濾波器圖形:
語音信號處理
濾波后圖形:
從圖中可以看出,利用低通濾波器也還原出了源語音信號,并且比帶阻的效果稍好一點
六、總結(jié)
這次課程設(shè)計雖然遇到了很多問題,很多困難,但是也學(xué)到了很多東西。不僅學(xué)到了書本上的東西,而且學(xué)到了很多課本上沒有的東西,很多程序里的東西,特別是程序語法,總是有錯誤,但是總是不知道錯在哪里,在細(xì)心的檢查下,終于找出了錯誤和警告,排除困難后,程序編譯就通過了,心里終于舒了一口氣。還有各種各樣問題,通過查網(wǎng)絡(luò)和請教同學(xué)來弄明白,這個過程是痛苦的,有時候有些問題不能馬上解決,感到很頭痛,真想放棄這個問題,但是堅持下來,并且解決這些問題的時候,真的有種苦盡甘來的感覺。
應(yīng)用MATLAB進(jìn)行語音信號的處理是與我們所學(xué)課程及專業(yè)緊密相連的,有著很強的實踐性。做這個課程設(shè)計的時候,并不是非常的順利,我也有遇到很多困難。剛開始,我用自己的mp3錄制的一個音頻文件做語音信號處理,程序始終現(xiàn)實如下錯誤提示:
語音信號處理
??? Error using ==> wavread Error using ==> wavread Data compression format(IMA ADPCM)is not supported.我在查閱了很多資料,在網(wǎng)上也查閱相關(guān)信息,最后發(fā)現(xiàn)只有WAV格式的音頻信號才能被wavread函數(shù)識別,這只是其中的一個小困難,當(dāng)然后來也出現(xiàn)了許多錯誤,不過在我們的精心調(diào)試下,代碼終于運行成功 通過這次設(shè)計,進(jìn)一步加深了對數(shù)子信號處理的了解,讓我對它有了更加濃厚的興趣。通過這次課設(shè)使我懂得,平時的理論知識只有通過自己動手做一個課題,從做這個課題的過程中發(fā)現(xiàn)問題,解決問題,這個學(xué)習(xí)的過程,會比我們平時在課堂上聽到的知識更加的生動立體,更能讓人記憶深刻。
總的來說,通過這次的課程設(shè)計我對語音信號有了全面的認(rèn)識,對數(shù)字信號處理又有了深刻的理解,讓我們感受到只有在充分理解課本知識的前提下,才更更好的應(yīng)用這個工具。同時我相信,matlab會對我以后的學(xué)習(xí)中起到更大的幫助
參考文獻(xiàn)
[1] 高西全、丁玉美編著,數(shù)字信號處理。西安:西安電子科技大學(xué)出版社,2008.[2]丁玉美、高西全編著,數(shù)字信號處理學(xué)習(xí)指導(dǎo)。西安:西安電子科技大學(xué)出版社,2001.[3]鄭君里等編,信號與系統(tǒng)。北京:高等教育出版社,2000.[4]劉樹棠譯,數(shù)字信號處理——使用MATLAB。西安:西安交通大學(xué)出版社,2002.[5]導(dǎo)向科技編著,MATLAB程序設(shè)計與實例應(yīng)用。北京:中國鐵道出版社,2001.[6]羅軍輝等編著,MATLAB7.0在數(shù)字信號處理中的應(yīng)用。北京:機械工程出版社,2005.[7]陳懷琛等編著,MATLAB及在電子信息課中的應(yīng)用。北京:電子工業(yè)出版社,2002.[8]胡廣書編組,數(shù)字信號處理——理論、算法與實現(xiàn)。北京:清華大學(xué)出版社,2002.[9]梁虹等編,信號與線性系統(tǒng)分析——機遇MATLAB的方法與實現(xiàn)。北京:高等教育出版社,2006.語音信號處理
[10]劉衛(wèi)國主編,MATLAB程序設(shè)計與應(yīng)用(第二版)。北京:高等教育出版社,2006.
第二篇:DSP語音信號處理
摘
要
語音信號處理是研究數(shù)字信號處理技術(shù)和語音信號進(jìn)行處理的一門學(xué)科,是一門新型的學(xué)科,是在多門學(xué)科基礎(chǔ)上發(fā)展起來的綜合性技術(shù),它涉及到數(shù)字信號處理、模式識別、語言學(xué)。語音信號處理是研究用數(shù)字信號處理技術(shù)對語音信號處理的一門學(xué)科。處理的目的是要得到一些語音參數(shù)以便高效的傳輸或存儲;或者是通過處理的某種運算以達(dá)到某種用途的要求。語音信號處理又是一門邊緣學(xué)科。如上所訴,它是“語言語音學(xué)”與“數(shù)字信號處理”兩個學(xué)科相結(jié)合的產(chǎn)物。
語音信號處理屬于信息科學(xué)的一個重要分支,大規(guī)模集成技術(shù)的高度發(fā)展和計算機技術(shù)的飛速前進(jìn),推動了這一技術(shù)的發(fā)展。在數(shù)字音頻技術(shù)和多媒體技術(shù)迅速發(fā)展的今天,傳統(tǒng)的磁帶語音錄放系統(tǒng)因體積大、使用不便、放音不清晰而受到了巨大挑戰(zhàn)。本次課程設(shè)計提出的體積小巧,功耗低的數(shù)字化語音存儲與回放系統(tǒng),可以有效的解決傳統(tǒng)的語音錄放系統(tǒng)在電子與信息處理的使用中受到的限制。
本文提出了語音信號處理課程建設(shè)的實驗環(huán)節(jié)中的一些考慮,作為專業(yè)課程的學(xué)習(xí),實驗內(nèi)容不能僅僅停留在驗證性實驗上,還應(yīng)增加實驗延伸的設(shè)計要求,是學(xué)生加深對理論分析認(rèn)識的同時,強調(diào)培養(yǎng)學(xué)生的實際動手能力和知識綜合運用能力。從而提高語音信號的教學(xué)和實驗的質(zhì)量。實驗內(nèi)容采用MATLAB編程實現(xiàn),不僅易于語音信號處理的實現(xiàn),更易引導(dǎo)學(xué)生完成實驗延伸的設(shè)計。
第一章 緒論
1.1選題背景
在我們的現(xiàn)實生活中從磁帶、錄像帶到CD、VCD、DVD;從黑白電視機、彩色電視機、高清晰度電視機到具有數(shù)字信號處理功能的電視機;從留聲機、錄音機到語音信箱;現(xiàn)在正出在模擬信息到數(shù)字信息的變革之中,傳統(tǒng)的磁帶語音錄放系統(tǒng)因其體積大,使用不便,在電子與信息處理的使用中受到許多限制。
雖然,目前廣播電視系統(tǒng)尚未實現(xiàn)真正的數(shù)字化,相信在不久的將來,真正的數(shù)字電視、數(shù)字收音機、數(shù)字收錄機將進(jìn)入家庭。所以,研究音頻信號的數(shù)字化存儲、處理和回放系統(tǒng)有著很重要的現(xiàn)實意義。
通過設(shè)計語音信號實驗箱可以對語音信號實現(xiàn)各種形式的變換,因此學(xué)會對語音信號的處理,也可自行研究將此語音處理技術(shù)應(yīng)用到現(xiàn)實生活中。
1.2課題意義
語音信號處理的一門比較實用的電子工程的專業(yè)課程,語音是人類獲取信息的重要來源和利用信息的重要手段,通過語言相互傳遞信息是人類最重要的基本功能之一,語音是人類特有的功能,它是創(chuàng)造和記載幾千年來人類文明史的根本手段,是人類最重要、最有效、最常用和最方便的交換信息的形式。
語音信號處理是研究用數(shù)字信號處理技術(shù)對語音信號進(jìn)行處理的一門學(xué)科,它是一門新興的學(xué)科,同時又是綜合性的多學(xué)科領(lǐng)域剛也涉及面很廣的交叉學(xué)科。
第二章 課程設(shè)計要求及系統(tǒng)原理
2.1 課程設(shè)計基本要求
(1)學(xué)會MATLAB的使用,掌握MATLAB的程序設(shè)計方法;
(2)掌握在windows環(huán)境下語音信號的采集方法;
(3)掌握數(shù)字信號處理的基本概念,基本理論和基本方法;
(4)掌握MATLAB設(shè)計方法;
(5)學(xué)會用MATLAB對信號進(jìn)行分析和處理。
2.2 系統(tǒng)基本原理
語音采集原理是,人耳能聽到的聲音是一種范圍為20Hz—20kHz,而一般語音頻率最高為3.4kHz。語音的采集是指語音聲波信號經(jīng)麥克風(fēng)和高頻放大器轉(zhuǎn)換成有一定幅度的模擬量電信號,然后再轉(zhuǎn)換成數(shù)字量的全過程。
本次設(shè)計的基本原理是對語音的錄音和放音進(jìn)行數(shù)字化控制。其中,關(guān)鍵技術(shù)在于:為了增加語音存儲時間,提高存儲器的利用率,采用了非失真壓縮算法對語音信號進(jìn)行壓縮后再存儲,而在回放時再進(jìn)行解壓縮;同時,對輸入語音信號進(jìn)行數(shù)字濾波以抑制雜音和干擾,從而確保了語音回放的可靠質(zhì)量。
通過設(shè)計一個GUI實驗箱,并添加相應(yīng)的控制控件,添加一個聲音文件,通過MATLAB編程,使其通過各種按鈕實現(xiàn)語音信號處理的各種功能,最后做成一個完整的語音信號處理實驗箱。
第三章 設(shè)計方案論證
3.1 設(shè)計理論依據(jù)
3.1.1采樣定理:
在進(jìn)行模擬/數(shù)字信號的轉(zhuǎn)換過程中,當(dāng)采樣頻率fs.max大于信號中最高頻率fmax的2倍時,則采樣之后的數(shù)字信號完整的保留了原始信號中的信號,一般實際應(yīng)用中保證采樣頻率為信號最高頻率的5—10倍;采樣定理又稱奈奎斯特定理。
3.1.2采樣頻率:
采樣頻率是指計算機每秒鐘采集多少個聲音樣本,是描述聲音文件的音質(zhì)、音調(diào)、衡量聲卡、聲音文件的質(zhì)量標(biāo)準(zhǔn)。采樣頻率越高,即采樣的間隔時間越短,則在單位時間內(nèi)計算機得到的聲音樣本數(shù)據(jù)就越多,對聲音波形的表示也就越精確,采樣頻率與聲音頻率之間有一定的關(guān)系,根據(jù)奈奎斯特理論,只有采樣頻率高于聲音信號最高頻率的2倍的時候,才能把數(shù)字信號表示的聲音還原成為原來的聲音,這就是說采樣頻率是衡量聲卡采集、記錄和還原聲音文件的質(zhì)量標(biāo)準(zhǔn)。
3.1.3采樣位數(shù)與采樣頻率
采樣位數(shù)即采樣值或取樣值,用來衡量聲音波動變化的參數(shù),是指聲卡在采集和播放聲音文件時候使用數(shù)字聲音信號的二進(jìn)制為數(shù)。采樣頻率是指錄音設(shè)備在一秒鐘內(nèi)對聲音信號的采樣次數(shù),采樣頻率越高聲音的還原就越真實越自然。
采樣位數(shù)和采樣頻率對于音頻接口來說是最為重要的兩個基本指標(biāo),也是選擇音頻接口的兩個重要標(biāo)準(zhǔn)。無論采樣頻率如何,理論上來說采樣的位數(shù)決定了音頻數(shù)據(jù)最大的力度范圍。每增加一個采樣位數(shù)相當(dāng)于力度范圍增加了6dB。采樣位數(shù)越多則捕捉到的信號越精確。對于采樣率來說你可以想象它類似于一個照相機。顯然采樣率越高,計算機提取的聲音越多,對于原始的還原也越加精確。
第四章 圖形用戶界面設(shè)計
4.1 圖形用戶界面概念
圖形用戶界面或圖形用戶接口是指采用圖形方式顯示的計算機操作環(huán)境由用戶接口。與早期計算機使用的命令行界面相比,圖形界面對于用戶來說更為簡便易用。
GUI是MATLAB提供的圖形用戶界面開發(fā)環(huán)境,提供了一系列用于創(chuàng)建圖形用戶界面的工具,從而簡化界面布局和編程工作。
4.2用戶界面設(shè)計
4.2.1 GUI設(shè)計模板
在MATLAB主窗口中,選擇File菜單中的New菜單項,再選擇其中的GUI命令,就會顯示圖形用戶界面的設(shè)計模板。
MATLAB為GUI設(shè)計一共準(zhǔn)備了四個模板,分別是Blank GUI、GUI with Uicontrols、GUI with Axes and Menu、Modal Question Dialog。
當(dāng)用戶選擇不同的模板時,在GUI設(shè)計模板界面的右邊就會顯示出與該模板對應(yīng)的GUI圖形。
4.2.2 GUI設(shè)計窗口
在GUI設(shè)計模板中選中一個模板,然后單擊OK按鈕,就會顯示GUI設(shè)計窗口,選擇不同的GUI設(shè)計模式時,在GUI設(shè)計窗口中顯示的結(jié)果是不一樣的。
GUI設(shè)計窗口由菜單欄、工具欄、空間工具欄以及圖形對象設(shè)計區(qū)等部分組成。GUI設(shè)計窗口的菜單欄有File、Edit、View、Layout、Tools和Help六個菜單項,使用其中的命令可以完成圖形用戶界面的設(shè)計操作。
4.2.3 GUI設(shè)計窗口的基本操作
(1)前面板的設(shè)計:在GUI設(shè)計窗口創(chuàng)建圖形對象后,通過雙擊該對象,就會顯示該對象的屬性編輯器。如下圖所示。例如,創(chuàng)建一個Push Button對象,并設(shè)計該對象的屬性值。
圖4-1 按鈕屬性編輯器
通過以上的按鈕屬性編輯器可以根據(jù)個人情況對按鈕的名稱、顏色、大小等方面的屬性進(jìn)行修改,使按鈕在視覺上變的更加完美。
(2)按鈕功能的實現(xiàn):在GUI設(shè)計窗口創(chuàng)建按鈕后,通過右鍵單擊按鈕,選擇View callbacks下的callback對相應(yīng)的按鈕進(jìn)行編程,使按鈕實現(xiàn)相應(yīng)的功能,如下圖所示對按鈕的響應(yīng)功能進(jìn)行設(shè)置。
圖4-2 按鈕功能編輯器
進(jìn)入到按鈕程序編輯窗口,通過編程即可實現(xiàn)按鈕的相應(yīng)功能,如下圖:
圖4-3 按鈕的編程實現(xiàn)界面
通過對各個按鈕控件的修改,和對m文件程序的添加就完成對GUI窗口的設(shè)計,最后得到的圖形化操作界面如下圖所示:
圖4-4 圖形化操作界面
4.2.4 語音的錄入與打開
在MATLAB中,[y,fa,bits]=wavread(‘Blip’,[N1 N2]);用于讀取語音,7
采樣值放在向y中,fs表示采樣頻率,bits表示采樣位數(shù)。[N1 N2]表示讀取從N1點到N2點的值。
Suond(x,fs,bits);用于對聲音的回放,向量y則就代表了一個信號也就是說可以像處理一個信號表達(dá)式一樣處理這個聲音信號。
第五章 課程設(shè)計的軟件實現(xiàn)
5.1 部分函數(shù)語法格式
讀wav文件: x=wavread(‘filename’)數(shù)組a及b中元素相乘: a.*b 創(chuàng)建圖形窗口命令: figure 繪圖函數(shù): plot(x)坐標(biāo)軸: axis([xmin xmax ymin ymax])坐標(biāo)軸注解: xlabel(‘?’)ylabel(‘?’)圖例注解: legend(‘?’)一階高通濾波器: y=filter([1-0.09375],1,x)分幀函數(shù): f=enframe(x,len,inc)x為輸入語音信號,len指定了幀長,inc指定幀移,函數(shù)返回為nXlen的一個矩陣,每一行都是一幀數(shù)據(jù)。
5.2語音信號處理的相關(guān)函數(shù)
5.2.1語音信號的短時譜:
周期性聲門波可表示為:
(5-1)其中,g[n]是聲門波的單周期的波形,p[n]是間隔為P的周期采樣序列。當(dāng)u[n]通過線性非時變聲道,且該聲道的單位沖擊響應(yīng)為h[n]時,聲道輸出為:
(5-2)為了觀察一段語音,需要降生到輸出乘以一個一時刻τ 為中心的窗函數(shù) w[n,τ] ,即得到:
(5-3)
這段語音信號的頻域表達(dá)式為:
(5-4)
即語音信號的譜包絡(luò)為
語譜圖就是現(xiàn)實時變頻譜幅度特征的圖形表達(dá)式為:
(5-5)
將語音信號短時譜程序?qū)懭氲組ATLAB中得到單色語譜圖的波形如下:
圖5-1 語音信號單色語譜圖
5.2.2 自相關(guān)方法估計語音信號的聲道參數(shù):
由均方預(yù)測誤差最小的得到正則方程:
(5-6)
其中,(5-7)
在最佳解時的誤差為
(5-8)
在自相關(guān)法中式5-6,式5-8變?yōu)?/p>
(5-9)
(5-10)由式5-9和式5-10可列出方程組式5-11
(5-11)
解方程組式5-9求出線性預(yù)測系數(shù),通過誤差式5-11可求出增益G
(5-12)
加窗后信號頻譜圖如下:
圖5-2 加窗后信號頻譜圖
通過以上的方法,改變參數(shù)分別求得4極點模型頻率響應(yīng)和6極點模型頻率響應(yīng),6極點波形如下圖所示:
圖5-3 六極點波形圖
最后通過以上方法用一個函數(shù)分別實現(xiàn)以上三個功能,三個波形顯示在一個界面,通過觀察圖形,查看它們之間的分別。三者比較所得到的波形如下:
圖5-4 三者比較波形圖
5.2.3 基音周期檢測
數(shù)據(jù)為濁音語音信號speech1_10k(10000樣點/秒)用25ms的漢明窗對語音信號speech1_10k進(jìn)行加窗處理,并畫出所得到的加窗信號的自相關(guān)函數(shù),再用根據(jù)中心消波法及三電平中心消波法原理改進(jìn)程序,最后對比中方法基音檢測的效果并分析結(jié)果。
實驗原理及方法
(1)自相關(guān)檢測原理:對于離散的數(shù)字語音信號序列x(n),如果周期N,則自相關(guān)函數(shù)也是同周期的周期函數(shù)。即:x(n)=x(n+N)。清音信號沒有周期性,他的自相關(guān)函數(shù)也沒有周期。濁音新海具有準(zhǔn)周期性。自相關(guān)基音檢測正是利用這一性質(zhì)對語音信號進(jìn)行基音檢測的。
(2)中心消波法檢測原理:中心消波處理是使用如下圖所示的中心消波函數(shù)進(jìn)行處理的:
圖5-5 中心消波檢測圖
(3)三電平消波法原理:為了減少自相關(guān)計算中的乘法運算,可以把上述中心消波以后的信號y(n)的自相關(guān)用兩個信號的互相關(guān)代替,其中一個信號是y(n)另一個信號是對y(n)進(jìn)行三電平量化產(chǎn)生的結(jié)果。且這個信號有三種可能的取值,因而這里的互相關(guān)計算只需要做加減法,而這個互相關(guān)序列的周期性與y(n)的自相關(guān)序列是近似相同的。
三電平法對語音信號處理得到的波形如下:
圖5-6 三電平法波形圖
中心消波法得到的波形如下圖:
圖5-7 中心消波法波形圖
5.3 GUI實驗箱操作界面設(shè)計
通過對各個控件的編程和對參數(shù)的設(shè)計,最后得到的GUI實驗箱操作界
面如下圖所示,通過界面上的各個按鈕即可實現(xiàn)相應(yīng)的功能。
圖5-8 GUI實驗箱操作界面
第六章 心得體會
通過本次課程設(shè)計完成了對語音信號的讀取與打開,與課題的要求十分相符;初略的完成了界面的設(shè)計,但也存在相當(dāng)?shù)牟蛔悖_(dá)到了打開語音文件,顯示已定波形。語音信號處理時語音學(xué)與數(shù)字信號處理技術(shù)相結(jié)合的交叉學(xué)科,將語音當(dāng)做一種特殊的信號,即一種“復(fù)雜向量”來看待。也就是說,體現(xiàn)了數(shù)字信號處理技術(shù)。
本次課程設(shè)計時希望將數(shù)字信號處理技術(shù)應(yīng)用與某一實際領(lǐng)域,這里就是指對語音的處理。作為存儲與計算機中的語音信號,其本身就是離散化了的向量,我們只需要將這些離散的量提取出來美酒可以對其進(jìn)行處理了。
本次課設(shè),用到了處理數(shù)字信號的強有力工具M(jìn)ATLAB,通過MATLAB李的幾個命令函數(shù)的調(diào)用,很輕易的在實際化語音與數(shù)字信號的理論之間搭了一座橋。
最后,還利用了MATLAB的另一強大功能——GUI界面設(shè)計。設(shè)計出了一個建議的用戶應(yīng)用界面,可以讓人實現(xiàn)界面操作。
通過本次課程設(shè)計讓我更加了解了語音信號處理在現(xiàn)實中的強大的應(yīng)用空間,同時查閱了很多相關(guān)的資料,應(yīng)用MTALAB軟件來完成,熟練掌握了MATLAB軟件,本次課程設(shè)計要求用GUI設(shè)計模塊,查閱了很多資料,更加深刻的陸奧了了這方面知識。
本次課程設(shè)計,我明白了理論的學(xué)習(xí)需要在實踐中才能得到鞏固。在課程設(shè)計中,只有動手慢慢研究,才能真正了解MATLAB軟件平臺中可以直接設(shè)計數(shù)字濾波器的各個函數(shù)的調(diào)用,對設(shè)計GUI實驗箱的所有函數(shù)的運用有了比較好的認(rèn)識。
通過這個課程設(shè)計,我學(xué)到了很多MATLAB和語音信號的知識,提高了自己在語音信號設(shè)計方面的知識能力,動手能力和思維能力都得到了一定的提升,希望自己以后可以更多的繼續(xù)學(xué)習(xí)這一門課程設(shè)計方面的知識。
附 錄
1.源程序代碼:
參考文獻(xiàn)
[1] 劉慶華 陳紫強《基于MATLAB和DSP的語音信號處理課程的建設(shè)》 電氣電子教學(xué)學(xué)報 2006 10(3):124-128 [2] 張力 《MATLAB在語音信號處理輔助教學(xué)中的應(yīng)用》 電氣電子教學(xué)學(xué)報 2005 27卷2期:96-99 [3] 鄧立新 楊震《信息技術(shù)融入“語音信號處理”課程的教學(xué)實踐》電氣電子教學(xué)學(xué)報 2005 27卷5期:13-16 [4] 胡航,《語音信號處理》 哈爾濱工業(yè)大學(xué)出版社 2005年2月,第二版:135-137 [5] 張平,《MATLAB基礎(chǔ)與應(yīng)用》 北京航空航天大學(xué)出版社 2007,第二版:85-92 [6] 謝德芳 《數(shù)字信號處理》 北京科學(xué)出版社 2005,第一版
[7] 張雄偉 《現(xiàn)代語音處理技術(shù)及應(yīng)用》 機械工業(yè)出版社 2006,第二版 [8] 吳家安 《語音編碼技術(shù)及應(yīng)用》 機械工業(yè)出版社 2006 第一版 [9] 劉幺和 宋庭新 《語音識別與控制應(yīng)用技術(shù)》 科學(xué)出版社 2008 第二版
[10] 李昌立 吳善培 《數(shù)字語音編碼實用教程》 人民郵電出版社 2004 第一版
[11] 姚天仁 《數(shù)字語音處理》 華中科技大學(xué)出版社 1992 第二版 [12] 朱敏雄 《計算機語音技術(shù)(修訂版)》 北京航空航天大學(xué)出版社 2002 第一版
[13] 王炳錫 《語音編碼》 西安電子科技大學(xué)出版社 2002 第一版
第三篇:數(shù)字信號處理教語音信號處理課程設(shè)計心得
這次課程設(shè)計雖然遇到了很多問題,很多困難,但是也學(xué)到了很多東西。不僅學(xué)到了書本上的東西,而且學(xué)到了很多課本上沒有的東西,很多程序里的東西,特別是程序語法,總是有錯誤,但是總是不知道錯在哪里,在細(xì)心的檢查下,終于找出了錯誤和警告,排除困難后,程序編譯就通過了,心里終于舒了一口氣。還有各種各樣問題,通過查網(wǎng)絡(luò)和請教同學(xué)來弄明白,這個過程是痛苦的,有時候有些問題不能馬上解決,感到很頭痛,真想放棄這個問題,但是堅持下來,并且解決這些問題的時候,真的有種苦盡甘來的感覺。
應(yīng)用MATLAB進(jìn)行語音信號的處理是與我們所學(xué)課程及專業(yè)緊密相連的,有著很強的實踐性。做這個課程設(shè)計的時候,并不是非常的順利,我也有遇到很多困難。剛開始,我用自己的mp3錄制的一個wav文件做語音信號處理,程序始終現(xiàn)實如下錯誤提示:
??? Error using ==> wavread Error using ==> wavread Data compression format(IMA ADPCM)is not supported.我在查閱了很多資料,在網(wǎng)上也查閱相關(guān)信息,花費了大量時間也沒找出結(jié)果,最后發(fā)現(xiàn)在WAV格式的語音文件有兩種格式,即PCM格式和IMA ADPCM格式,而在MATLAB中用wavread函數(shù)進(jìn)行語音處理時,并不能直接處理IMA ADPCM格式的語音信號,經(jīng)過格式轉(zhuǎn)換之后(選擇PCM格式),我運行出了正確的結(jié)果。剛開始由于對濾波器的濾波原理并不是很了解,于是我又翻出學(xué)過的數(shù)字信號處理課本,認(rèn)真研究起各種濾波器了,這才使我明白了大多數(shù)濾波器是如何工作地,不再單單只是懂理論,理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論。實驗過程中,我感覺到初始語音信號和濾波輸出后的語音信號在音色上有一定的差別,這說明了信號在處理、傳輸過程中有損耗。不管對于什么樣的課題,其實也是有很多東西可以發(fā)掘的,這需要我們在平時多積累,多思考,只有這樣,才能取得更大的進(jìn)步,才能學(xué)有所用,學(xué)有所長。
通過這次設(shè)計,進(jìn)一步加深了對數(shù)字信號處理的了解,讓我對它有了更加濃厚的興趣。通過這次課程設(shè)計使我懂得了,平時的理論知識只有通過自己動手做一個課題,從做這個課題的過程中發(fā)現(xiàn)問題,解決問題,這個學(xué)習(xí)的過程,會比我們平時只通過課堂上聽講得到的知識更加生動立體,跟讓人記憶深刻。在設(shè)計的過程中,我發(fā)現(xiàn)同學(xué)間的互幫互助真的很重要。當(dāng)我們有問題的時候,大家一起討論,將自己的觀點表達(dá)出來,當(dāng)發(fā)現(xiàn)別人的觀點與自己的不同的時候,我們通過查閱資料找到最終正確的答案,這個過程是互利互惠的。這也培養(yǎng)了我們以后走上工作崗位后的團隊精神,對我們以后的為人處世都有很大幫助。同時我們在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。
總的來說,通過這次的課程設(shè)計我對語音信號有了全面的認(rèn)識,對數(shù)字信號處理的知識又有了深刻的理解,讓我感受到只有在充分理解課本知識的前提下,才能更好的應(yīng)用這個工具;并且熟練的應(yīng)用MATLAB也可以很好的加深我對課程的理解,方便我的思維。這次設(shè)計使我了解了MATLAB的使用方法,學(xué)會分析濾波器的優(yōu)劣和性能,提高了分析和動手實踐能力。同時我相信,進(jìn)一步加強對MATLAB的學(xué)習(xí)與研究對我今后的學(xué)習(xí)將會起到很大的幫助!
第四篇:基于+MATLAB+的語音信號分析與處理的課程設(shè)計
目
錄
1.課程設(shè)計目的………………………………………………………………(1)
2.課程設(shè)計基本要求……………………………………………...………….(1)
3.課程設(shè)計內(nèi)容………………………………………..……………………..(2)
4.課程設(shè)計實現(xiàn)……………………………………………………..…..……………(3)
(1)語音信號的采集……………………………………………………..(5)
(2)語音信號的頻譜分析………………………………………………..(6)
(3)設(shè)計濾波器和畫出頻率響應(yīng)………………………………………..(6)
(4)用濾波器對信號進(jìn)行濾波…………………………………………..(9)
(5)比較濾波前后語音信號的波形及其頻譜…………………………..(9)
(6)回放語音信號………………………………………………………..(11)
(7)設(shè)計系統(tǒng)界面………………………………………………………..(13)
5、心得體會……………………………………………..……………………..(14)
6、參考文獻(xiàn)…………………………………….……………………………..(14)
第五篇:基于matlab的語音信號濾波處理——數(shù)字信號處理課程設(shè)計
數(shù)字信號處理課程設(shè)計
題目: 學(xué)院: 專業(yè): 班級: 學(xué)號: 姓名: 指導(dǎo)教師:
基于matlab的語音信號濾波處理
物理與電子信息學(xué)院電子信息工程
摘要:
語音信號處理是研究用數(shù)字信號處理技術(shù)和語音學(xué)知識對語音信號進(jìn)行處理的新興學(xué)科,是目前發(fā)展最為迅速的學(xué)科之一,通過語音傳遞信息是人類最重要,最有效,最常用和最方便的交換信息手段,所以對其的研究更顯得尤為重要。
Matlab語言是一種數(shù)據(jù)分析和處理功能十分強大的計算機應(yīng)用軟件,它可以將聲音文件變換成離散的數(shù)據(jù)文件,然后用起強大的矩陣運算能力處理數(shù)據(jù)。這為我們的本次設(shè)計提供了強大并良好的環(huán)境!
本設(shè)計要求自己錄制一段自己的語音后,在MATLAB軟件中采集語音信號、回放語音信號并畫出語音信號的時域波形和頻譜圖。再在Matlab中分別設(shè)計不同形式的FIR數(shù)字濾波器。之后對采集的語音信號經(jīng)過不同的濾波器(低通、高通、帶通)后,觀察不同的波形,并進(jìn)行時域和頻譜的分析。對比處理前后的時域圖和頻譜圖,分析各種濾波器對于語音信號的影響。最后分別收聽進(jìn)行濾波后的語音信號效果,做到了解在怎么樣的情況下該用怎么樣的濾波器。
目錄
1.設(shè)計內(nèi)容……………………………………………………………4 2.設(shè)計原理……………………………………………………………4 2.1語音信號的時域分析…………………………………………4 2.2語音信號的頻域分析…………………………………………5 3.設(shè)計過程……………………………………………………………5 3.1實驗程序源代碼………………………………………………6
3.1.1原語音信號時域、頻域圖………………………………6
3.1.2低通濾波器的設(shè)計………………………………………6
3.1.3高通濾波器的設(shè)計………………………………………7
3.1.4帶通濾波器的設(shè)計………………………………………8
3.1.5語音信號的回放………………………………………9 3.2調(diào)試結(jié)果描述…………………………………………………10 3.3所遇問題及結(jié)果分析…………………………………………15
3.3.1所遇主要問題…………………………………………16
3.3.2結(jié)果分析………………………………………………16 4.體會與收獲…………………………………………………………17 5.參考文獻(xiàn)……………………………………………………………17
1.設(shè)計內(nèi)容:
1.首先錄制好一段自己的語音。
2.用Matlab分別設(shè)計好3種類型的濾波器(指標(biāo)自己確定):低通型、高通型、帶通型。3.用Matlab將語音信號進(jìn)行采樣,并分別將其通過所設(shè)計的3種濾波器。4.用Matlab自帶的語音返回函數(shù)收聽濾波后的語音信號,分析并比較其與原語音信號的差異。
2.設(shè)計原理:
語音信號時一種非平穩(wěn)的時變信號,它帶著各種信息。在語音編碼、語音合成、語音識別和語音增強等語音處理中無一例外需要提取語音中包含的各種信息。語音信號分析的目的就在于方便有效的提取并表示語音信號所攜帶的信息。語音信號處理可以分為時域和變換域等處理方法,其中時域分析是最簡單的方法,直接對語音信號的時域波形進(jìn)行分析,崎嶇的特征參數(shù)主要有語音的短時能量,短時平均過零率,短時自相關(guān)函數(shù)等。2.1語音信號的時域分析
信號提取:通過圖形用戶界面上的菜單功能按鍵采集電腦上的一段音頻信號,完成音頻信號的頻率,幅度等信息的提取,并得到該語音信號的波形圖。
信號調(diào)整:在設(shè)計的用戶圖形界面下對輸入的音頻信號進(jìn)行各種變化,如變化幅度、改變頻率等操作,以實現(xiàn)對語音信號的調(diào)整。
2.2語音信號的頻域分析
信號的傅里葉表示在信號的分析和處理中起著重要的作用。因為對于線性系統(tǒng)來說,可以很方便地確定其對正弦或復(fù)指數(shù)和的響應(yīng),所以傅里葉分析方法能完善地解決許多信號分析和處理問題。另外,傅里葉表示使信號的某些特性變得更明顯,因此,它能更深入地說明信號的各項紅物理現(xiàn)象。
由于語音信號時隨著時間變化的,通常認(rèn)為,語音是一個受準(zhǔn)周期脈沖或隨機噪聲源激勵的線性系統(tǒng)的輸出。輸出頻譜是聲道系統(tǒng)頻率響應(yīng)與激勵源頻譜的乘積。身份到系統(tǒng)的頻率響應(yīng)及激勵源都是隨時間變化的,因此一般標(biāo)準(zhǔn)的傅里葉表示雖然適用于周期及平穩(wěn)隨機信號的表示,但不能直接用于語音信號。由于語音信號可以認(rèn)為在短時間內(nèi),近似不變,因而可以采用短時分析法。
1.信號變換:在用戶圖形界面西啊對采集的語音信號進(jìn)行Fourier等變換,并畫出變換前后的頻譜圖和倒譜圖。
2.信號濾波:濾除語音信號中的噪音部分,可以采用抵用濾波、高通濾波、帶通濾波,并比較各種濾波后的效果。
3.設(shè)計過程:
3.1實驗程序源代碼(原語音信號存放在e:下):
3.1.1.原語音信號的時域、頻域圖
[x1,fs,bits]=wavread('e:txwz.wav');%sound(x1,fs,bits);figure(1);
plot(x1);%做原始語音信號的時域圖形 title('原始語音信號');xlabel('時間 t');ylabel('音量 n');figure(2);y1=fft(x1);%做length(x1)點的FFT y1=fftshift(y1);%平移,是頻率中心為0 derta_fs = fs/length(x1);%設(shè)置頻譜的間隔,分辨率 plot([-fs/2:derta_fs: fs/2-derta_fs],abs(y1));%畫出原始語音信號的頻譜圖
title('原始語音信號的頻譜');grid on;3.1.2低通濾波器的設(shè)計
%低通濾波:截止頻率4000,阻帶衰減20dB,過渡帶寬0.1π
fc1=4000;N1=2*pi*0.9/(0.1*pi)wc1=2*pi*fc1/fs;if rem(N1,2)==0 N1=N1+1;end Window= boxcar(N1+1);%長度為N1的矩形窗Window b1=fir1(N1,wc1/pi,Window);
figure(3);freqz(b1,1,512);title('低通濾波器的頻率響應(yīng)');x1_low = filter(b1,1,x1);%對信號進(jìn)行低通濾波 figure(4);plot(x1_low);title('信號經(jīng)過低通濾波器(時域)');figure(5);plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fft(x1_low))));title('信號經(jīng)過低通濾波器(頻域)');3.1.3高通濾波器的設(shè)計
%高通濾波:截止頻率4000,阻帶衰減40dB,過渡帶寬0.1π
fc2=4000;N2=2*pi*3.1/(0.1*pi)wc2=2*pi*fc1/fs;N2=N2+mod(N2,2);Window=hanning(N2+1);b2=fir1(N2,wc2/pi,'high',Window);figure(6);freqz(b2,1,512);%數(shù)字濾波器頻率響應(yīng) title('高通濾波器的頻率響應(yīng)');
x1_high = filter(b2,1,x1);%對信號進(jìn)行高通濾波 figure(7);plot(x1_high);title('信號經(jīng)過高通濾波器(時域)');figure(8);plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fft(x1_high))));title('信號經(jīng)過高通濾波器(頻域)')3.1.4帶通濾波器的設(shè)計
%帶通濾波:下截止頻率4000,上截止頻率8000,阻帶衰減20dB,過渡帶寬度0.1π
f1=4000;f2=8000;%帶通濾波器的通帶范圍 w1=2*pi*f1/fs;w3=w1+0.1*pi;w2=2*pi*f2/fs;w4=w2-0.1*pi;w=[(w1+w3)/2,(w2+w4)/2];B=0.1*pi;N3=ceil(2*0.9*pi/B);N3=N3+mod(N3,2);Window=boxcar(N3+1);b3=fir1(N3,w/pi,'stop',Window);%帶通濾波器
figure(9);freqz(b3,1,512);%數(shù)字濾波器頻率響應(yīng) title('帶通濾波器的頻率響應(yīng)');x1_daitong = filter(b3,1,x1);%對信號進(jìn)行帶通濾波 figure(10);plot(x1_daitong);title('信號經(jīng)過帶通濾波器(時域)');figure(11);plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fft(x1_daitong))));title('信號經(jīng)過帶通濾波器(頻域)');3.1.5語音信號的回放(分別執(zhí)行)
sound(x1,fs,bits);%原始信號
sound(x1_low,fs,bits);%經(jīng)過低通濾 sound(x1_high,fs,bits);%經(jīng)過高通濾波 sound(x1_daitong,fs,bits);%經(jīng)過帶通濾波
3.2調(diào)試結(jié)果描述
原始語音信號的時域圖形:
原始語音信號頻譜:
低通濾波器的頻率響應(yīng):
信號經(jīng)過低通濾波后的時域波形:
信號經(jīng)過低通濾波后的頻域波形
高通濾波器的頻率響應(yīng):
信號經(jīng)過高通濾波后的時域波形:
信號經(jīng)過高通濾波后的頻域波形:
帶通濾波器的頻率響應(yīng):
信號經(jīng)過帶通濾波后的時域波形:
信號經(jīng)過帶通濾波后的頻域波形:
3.3所遇問題及結(jié)果分析
3.3.1所遇主要問題
1.在高通與帶通濾波器的設(shè)計時老是報錯,但同樣的用法在低通濾波器中就可以實現(xiàn)
b2=fir1(N2,wc2/pi,'high',Window);??? Error using ==> fir1 The window length must be the same as the filter length.其要求在fir函數(shù)中所選用的窗長要和濾波器長度一致。但在參考書上指出,濾波器階數(shù)必須為窗長加1。經(jīng)上網(wǎng)查詢后,原來高通、帶阻濾波器的階數(shù)應(yīng)該控制為奇數(shù),因為如果階數(shù)為偶數(shù),則在π點必有一零點,這對于高通帶阻來說是不允許的,故取階數(shù)為奇數(shù),而你FIR1濾波器階數(shù)為M+1階,所以你的M必須為偶數(shù),所以可以將程序中去窗長算法由原程序的: N2=2*pi*0.9/(0.1*pi);if rem(N2,2)==0 N2=N2+1;End 和: N3=2*pi*0.9/(0.1*pi);if rem(N3,2)==0 N3=N3+1;End 改為了:
N2=N2+mod(N2,2);和: B=0.1*pi;(B為過渡帶寬)N3=ceil(2*0.9*pi/B);N3=N3+mod(N3,2);2.在設(shè)計高通濾波器時先是使用的矩形窗,用矩形窗驗證出來的結(jié)果中低頻語音分量依舊很強,不能將其全部抑制在0,之后換窗,選著了最小衰減可以到達(dá)53dB的海明窗,再次試驗,非常成功!3.3.2結(jié)果分析
經(jīng)過回放三個不同類型濾波器輸出的語音信號,并與原語音信號對比得到了如下結(jié)論。
語音高頻成分音質(zhì)非常尖銳,齒音中,聲音有些暗淡。語音低頻成分音質(zhì)沉穩(wěn),空間感覺強,語音渾厚。語音中頻成分音質(zhì)有力度,有通透感。
4.體會與收獲
以往都是通過課本來感性的認(rèn)知語音信號,通過本次的課程設(shè)計,讓我對語音信號有了一個較為實際的認(rèn)識。于此同時,讓我再次把數(shù)字信號處理及數(shù)字濾波器的設(shè)計方法重新進(jìn)行了復(fù)習(xí)和學(xué)習(xí)。而對于Matlab,也再次讓我感受到了其功能的強大。最為重要的是,本次課 17
程設(shè)計讓我重新審視了學(xué)習(xí)的過程:只去做實驗是不行的,首先還是要思考,遇到了問題查書籍,百度搜索也只是一種手段,更加重要的是想,再理解,只有這樣才能真正的做好實驗。
5.參考文獻(xiàn)
《數(shù)字信號處理》錢同惠、百度文庫