基于matlab的語音信號(hào)的時(shí)、頻域分析課程設(shè)計(jì)_第1頁
已閱讀1頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘要</b></p><p>  用MATLAB對(duì)于語音信號(hào)進(jìn)行分析和處理,采集語音信號(hào)后,在MATLAB軟件平臺(tái)進(jìn)行頻譜分析;并對(duì)所采集的語音信號(hào)加入干擾噪聲,對(duì)加入噪聲的信號(hào)進(jìn)行頻譜分析,設(shè)計(jì)合適的濾波器濾除噪聲,恢復(fù)原信號(hào)。本次設(shè)計(jì)介紹了基于MATLAB的對(duì)語音信號(hào)的采集,處理及濾波器的設(shè)計(jì),并使之實(shí)現(xiàn)的過程。</p><p>  

2、關(guān)鍵詞:MATLAB;語音信號(hào);濾波器;加噪;除噪</p><p><b>  目錄</b></p><p><b>  摘要1</b></p><p><b>  1 設(shè)計(jì)原理1</b></p><p>  1.1 理論原理1</p><p>

3、;  1.1.1采樣頻率1</p><p>  1.1.2采樣位數(shù)1</p><p>  1.1.3采樣定理1</p><p>  1.1.4時(shí)域信號(hào)的FFT分析2</p><p>  1.1.5數(shù)字信號(hào)的濾波器原理和方法2</p><p>  1.1.6 各種不同類型濾波器的性能比較3</p>

4、;<p>  1.1.7離散傅立葉變換3</p><p>  2 信號(hào)采集及讀取4</p><p>  3 構(gòu)造受干擾信號(hào)并對(duì)其進(jìn)行FFT頻譜分析........................…...6</p><p>  4 數(shù)字濾波器設(shè)計(jì)8</p><p>  4.1 用窗函數(shù)法設(shè)計(jì)IIR帶通濾波器8<

5、/p><p>  4.2 用窗函數(shù)法設(shè)計(jì)FIR低通濾波器10</p><p><b>  5信號(hào)處理12</b></p><p>  5.1 IIR帶通濾波12</p><p>  5.2 FIR低通濾波14</p><p><b>  6心得體會(huì)16</b></

6、p><p>  7 參考文獻(xiàn):16</p><p><b>  1設(shè)計(jì)原理</b></p><p><b>  1.1 理論原理</b></p><p>  1.1.1采樣頻率</p><p>  也稱為采樣速度或者采樣率,定義了每秒從連續(xù)信號(hào)中提取并組成離散信號(hào)的采樣個(gè)數(shù),

7、它用赫茲(Hz)來表示。采樣頻率只能用于周期性采樣的采樣器,對(duì)于非周期性采樣的采樣器沒有規(guī)則限制。通俗的講采樣頻率是指計(jì)算機(jī)每秒鐘采集多少個(gè)聲音樣本,是描述聲音文件的音質(zhì)、音調(diào),衡量聲卡、聲音文件的質(zhì)量標(biāo)準(zhǔn)。采樣頻率越高,即采樣的間隔時(shí)間越短,則在單位時(shí)間內(nèi)計(jì)算機(jī)得到的聲音樣本數(shù)據(jù)就越多,對(duì)聲音波形的表示也越精確。</p><p><b>  1.1.2采樣位數(shù)</b></p>

8、<p>  即采樣值或取樣值,用來衡量聲音波動(dòng)變化的參數(shù),是指聲卡在采集和播放聲音文件時(shí)所使用數(shù)字聲音信號(hào)的二進(jìn)制位數(shù)。</p><p><b>  1.1.3采樣定理</b></p><p>  在進(jìn)行模擬/數(shù)字信號(hào)的轉(zhuǎn)換過程中,當(dāng)采樣頻率fs.max大于信號(hào)中最高頻率fmax的2倍時(shí)(fs.max>=2fmax),采樣之后的數(shù)字信號(hào)完整地保留了原

9、始信號(hào)中的信息,一般實(shí)際應(yīng)用中保證采樣頻率為信號(hào)最高頻率的5~10倍;采樣定理又稱奈奎斯特定理。</p><p>  1.1.4時(shí)域信號(hào)的FFT分析</p><p>  信號(hào)的頻譜分析就是計(jì)算信號(hào)的傅立葉變換。連續(xù)信號(hào)與系統(tǒng)的傅立葉分析顯然不便于用計(jì)算機(jī)進(jìn)行計(jì)算,使其應(yīng)用受到限制。而FFT是一種時(shí)域和頻域均離散化的變換,適合數(shù)值運(yùn)算,成為用計(jì)算機(jī)分析離散信號(hào)和系統(tǒng)的有力工具。對(duì)連續(xù)信號(hào)和系

10、統(tǒng),可以通過時(shí)域采樣,應(yīng)用DFT進(jìn)行近似譜分析。</p><p>  1.1.5數(shù)字信號(hào)的濾波器原理和方法</p><p>  IIR數(shù)字濾波器系統(tǒng)函數(shù):</p><p>  H(z)=···············&

11、#183;(1.1)</p><p>  其中H(z)稱為N階IIR數(shù)字濾波器系統(tǒng)函數(shù)。IIR濾波器設(shè)計(jì)方法有間接和直接法,間接法是借助于模擬濾波器的設(shè)計(jì)方法進(jìn)行的。其步驟是:先設(shè)計(jì)過度模擬濾波器得到系統(tǒng)函數(shù)Ha(s),然后將Ha(s)按某種方法轉(zhuǎn)換成數(shù)字濾波器的系統(tǒng)函數(shù)H(z)。</p><p>  利用有限脈沖響應(yīng)(FIR)設(shè)計(jì)濾波器。有限脈沖響應(yīng)濾波器在保證幅度特性滿足技術(shù)要求的同時(shí)

12、,很容易做到有嚴(yán)格的線性相位特性。用N表示FIR濾波器單位脈沖響應(yīng)h(n)的長度,其系統(tǒng)函數(shù)H(z)為</p><p>  ··················(1.2)</p><p>  H(z)是z-1的N

13、-1次多項(xiàng)式,它在z平面上有N-1個(gè)零點(diǎn),在原點(diǎn)z=0處有一個(gè)N-1重極點(diǎn)。因此,H(z)永遠(yuǎn)穩(wěn)定。穩(wěn)定和線性相位是FIR濾波器最突出的優(yōu)點(diǎn)。</p><p>  1.1.6 各種不同類型濾波器的性能比較</p><p>  巴特沃斯濾波器具有單調(diào)下降的幅頻特性;切比雪夫?yàn)V波器的幅頻特性在通帶或阻帶有波紋特性,可以提高選擇性;貝塞爾濾波器通帶內(nèi)有較好的線性相位特性;橢圓濾波器的選擇性相對(duì)前

14、三種是最好的,但通帶和阻帶內(nèi)均呈現(xiàn)等波紋幅頻特性,線性特性的非線性稍重。</p><p>  IIR數(shù)字濾波器最大的優(yōu)點(diǎn)是給定一組指標(biāo)時(shí),它的階數(shù)要比相同組的FIR濾波器低得多。IIR數(shù)字濾波器的設(shè)計(jì)方法是利用模擬濾波器成熟的理論及設(shè)計(jì)圖進(jìn)行的,因而保留了一些典型模擬濾波器優(yōu)良的幅度特性。但設(shè)計(jì)中只考慮了幅度特性,沒考慮相位特性,所設(shè)計(jì)的濾波器一般是某種確定的非線性相位特性。為了得到線性相位特性,對(duì)IIR濾波器必

15、須另外增加相位校正網(wǎng)絡(luò)。FIR濾波器在保證幅度特性滿足技術(shù)要求的同時(shí),很容易做到有嚴(yán)格的線性相位特性。穩(wěn)定和線性相位是FIR濾波器最突出的優(yōu)點(diǎn)。</p><p>  1.1.7離散傅立葉變換</p><p><b>  1.3</b></p><p>  其中,N為DFT變換的區(qū)間長度。</p><p>  2 信號(hào)采

16、集及讀取</p><p>  用錄音工具錄一段自己的聲音,轉(zhuǎn)化為wav格式的文件,然后保存到MATLAB的文件夾下的work文件夾中。在MATLAB軟件平臺(tái)下,利用wavread函數(shù)對(duì)語音信號(hào)進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。</p><p>  Wavread函數(shù)調(diào)用格式:</p><p>  y=wavread(file),讀取file所規(guī)定的wav文件,返回采

17、樣值放在向量y中。</p><p>  [y,fs,nbits]=wavread(‘1.wav’);把語音信號(hào)進(jìn)行載MATLAB仿真軟件平臺(tái)中,采樣值放在向量y中,fs表示采樣頻率(hz),nbits表示采樣位數(shù)。</p><p>  sound(y,fs,nbits);回放語音信號(hào)</p><p>  N=length(y);求出語音信號(hào)的長度</p>

18、<p>  Y=fft(y,N);傅立葉變換</p><p>  調(diào)用函數(shù)y為被變換的時(shí)域系列向量,N是DFT變換區(qū)間長度,當(dāng)N大于y的長度時(shí),fft函數(shù)自動(dòng)在y后面補(bǔ)零,函數(shù)返回y的N點(diǎn)DFT變換結(jié)果向量Y。當(dāng)N小于y的長度時(shí),fft函數(shù)計(jì)算y的前面N個(gè)元素構(gòu)成的N點(diǎn)DFT,忽略y后面的元素。首先畫出語音信號(hào)的時(shí)域波形,然后對(duì)語音信號(hào)進(jìn)行頻譜分析。在MATLAB中利用fft對(duì)新號(hào)進(jìn)行快速傅立葉變換

19、,得到信號(hào)的頻譜特性。</p><p>  subplot(2,1,1);plot(y);title(‘原始信號(hào)波形’);</p><p>  subplot(2,1,2);plot(abs(Y));title(‘原始信號(hào)頻譜’);</p><p><b>  程序如下:</b></p><p>  [y,fs,nbit

20、s]=wavread('1.wav');</p><p>  sound(y,fs,nbits);</p><p>  N=length(y);</p><p>  Y=fft(y,N);</p><p>  subplot(2,1,1);</p><p><b>  plot(y);<

21、/b></p><p>  title('原始信號(hào)波形');xlabel('時(shí)間');ylabel('幅度');</p><p>  subplot(2,1,2);</p><p>  plot(abs(Y));</p><p>  title('原始信號(hào)頻譜');xlab

22、el('時(shí)間');ylabel('幅度');</p><p><b>  程序結(jié)果如下圖:</b></p><p><b>  程序如下:</b></p><p>  [y,fs,nbits]=wavread ('1.wav');</p><p>  

23、N = length (y) ; %求出語音信號(hào)的長度</p><p>  noise=0.2*randn(N,1); %隨機(jī)函數(shù)產(chǎn)生噪聲</p><p>  Si=y+noise; %語音信號(hào)加入噪聲 </p><p>  sound(Si);</p>&

24、lt;p>  subplot(2,1,1);</p><p><b>  plot(Si);</b></p><p>  title('加噪語音信號(hào)的時(shí)域波形');xlabel('時(shí)間');ylabel('幅度');</p><p>  S=fft(Si);

25、 %傅里葉變換</p><p>  subplot(2,1,2);</p><p>  plot(abs(S)); </p><p>  title('加噪語音信號(hào)的頻域波形'); xlabel('時(shí)間');ylabel('幅度');</p><p><b>  程序結(jié)

26、果如下圖:</b></p><p><b>  4 數(shù)字濾波器設(shè)計(jì)</b></p><p>  4.1 用窗函數(shù)法設(shè)計(jì)IIR帶通濾波器</p><p><b>  程序如下:</b></p><p>  wp=0.2*pi; ws=0.3*pi; %性能指標(biāo)</p>

27、<p>  wdelta=ws-wp; %過渡帶寬度</p><p>  M=ceil(3.32*pi/wdelta); %濾波器長度,朝正無窮方向舍入</p><p>  N=2*M+1; %窗口長度</p><p>  wc=(ws+wp)/2; %截止頻率</p>&

28、lt;p>  win=hamming(N); %因?yàn)樗p不小于50dB,所以選擇海明窗,這里得到海明窗的時(shí)域響應(yīng)</p><p>  b=fir1(N-1,wc/pi,win);</p><p><b>  n=0:1:N;</b></p><p>  [hi t]=impz(b,1,n);%得到脈沖響應(yīng)</p>

29、<p>  [hf w]=freqz(b,1,512); %得到頻率響應(yīng)</p><p>  subplot(3,1,1); stem(n,hi);</p><p>  xlabel('n'); ylabel('幅度'); title('脈沖響應(yīng)');</p><p>  subplot(3,1,2);

30、 plot(w/pi,20*log10(abs(hf)));</p><p>  xlabel('頻率(Hz)'); ylabel('幅度(dB)');</p><p>  title('頻率響應(yīng)');</p><p>  subplot(3,1,3); plot(w/pi,180/pi*unwrap(angle(hf

31、)));</p><p>  xlabel('頻率(Hz)'); ylabel('相位(degrees)');</p><p>  title('頻率響應(yīng)');</p><p><b>  程序結(jié)果如下圖:</b></p><p>  4.2 用窗函數(shù)法設(shè)計(jì)FIR低通濾波器

32、</p><p><b>  程序如下:</b></p><p><b>  Ft=8000;</b></p><p><b>  Fp=1000;</b></p><p><b>  Fs=1200;</b></p><p>

33、  wp=2*Fp/Ft;</p><p>  ws=2*Fs/Ft;</p><p><b>  rp=1;</b></p><p><b>  rs=50;</b></p><p>  p=1-10.^(-rp/20);</p><p>  s=10.^(-rs/20);

34、</p><p>  fpts=[wp,ws];</p><p>  mag=[1,0];</p><p>  dev=[p,s];</p><p>  [n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev);</p><p>  b21=fir1(n21,wn21,kaiser(n

35、21+1,beta));</p><p>  [h,w]=freqz(b21,1);</p><p>  plot(w/pi,abs(h));</p><p>  title('FIR低通濾波器');</p><p><b>  grid;</b></p><p><b>

36、;  其程序結(jié)果如下圖:</b></p><p><b>  5信號(hào)處理</b></p><p>  用設(shè)計(jì)好的數(shù)字濾波器對(duì)含噪聲的語音信號(hào)進(jìn)行濾波,在MATLAB中FIR濾波器利用函數(shù)fftfilt對(duì)信號(hào)進(jìn)行濾波,IIR濾波器利用函數(shù)filter對(duì)信號(hào)進(jìn)行濾波,在一個(gè)窗口同時(shí)畫出濾波前后的波形及頻譜如下圖。</p><p>  5

37、.1 IIR帶通濾波</p><p><b>  程序如下:</b></p><p>  [y,fs,nbits]=wavread('1.wav');</p><p>  N=length(y);</p><p>  Noise=0.2*randn(N,1);</p><p>  

38、Si=y+Noise; %語音信號(hào)加入噪聲 </p><p>  nn=0:1:50;</p><p>  y=filter(b,1,Si);</p><p>  subplot(2,1,1); stem(Si);</p><p>  xlabel('n'); ylabel('幅度');

39、</p><p>  title('濾波前信號(hào)頻譜'); axis([0 50 -2 2]);</p><p>  subplot(2,1,2); stem(out);</p><p>  xlabel('n'); ylabel('幅度');</p><p>  title('濾波后信號(hào)

40、頻譜'); axis([0 50 -1 1]);</p><p><b>  sound(y);</b></p><p><b>  程序結(jié)果如下圖:</b></p><p>  5.2 FIR低通濾波</p><p><b>  程序如下:</b></p>

41、<p>  [y,fs,nbits]=wavread('1.wav');</p><p>  N = length (y) ; </p><p>  noise=0.2*randn(N,1); </p><p>  Si=y+noise; </p><p>  S=

42、fft(Si);</p><p>  z21=fftfilt(b21,Si);</p><p>  sound(z21);</p><p>  m21=fft(z21);</p><p>  subplot(2,2,1);</p><p>  plot(abs(S),'g');</p>&

43、lt;p>  title('濾波前信號(hào)的頻譜');xlabel('時(shí)間');ylabel('幅度');</p><p><b>  grid;</b></p><p>  subplot(2,2,2);</p><p>  plot(abs(m21),'r');</p&

44、gt;<p>  title('濾波后信號(hào)頻譜');xlabel('時(shí)間');ylabel('幅度');</p><p><b>  grid;</b></p><p>  subplot(2,2,3);</p><p><b>  plot(S);</b>&l

45、t;/p><p>  title('濾波前信號(hào)波形');xlabel('時(shí)間');ylabel('幅度');</p><p><b>  grid;</b></p><p>  subplot(2,2,4);</p><p>  plot(z21);</p>&l

46、t;p>  title('濾波后信號(hào)波形');xlabel('時(shí)間');ylabel('幅度');</p><p><b>  grid;</b></p><p><b>  程序結(jié)果如下圖:</b></p><p><b>  6心得體會(huì)</b>

47、</p><p>  通過這次課程設(shè)計(jì),我學(xué)到了很多東西。進(jìn)一步加深了對(duì)MATLAB的了解。在設(shè)計(jì)的過程中我遇到了不少的問題,比如剛開始要處理的是WAV格式的語音信號(hào),可是我發(fā)現(xiàn)不是所有的WAV文件都可以用WAVREAD函數(shù)讀取,通過軟件轉(zhuǎn)化了才可以使用。在編寫程序的時(shí)候遇到了很多錯(cuò)誤,最后經(jīng)過查找一些資料和自己的理解都一一糾正了。總的來說,通過這次的課程設(shè)計(jì)我對(duì)語音信號(hào)有的更多的認(rèn)識(shí),對(duì)數(shù)字信號(hào)處理的知識(shí)有了更

48、多的理解,鍛煉了我的理論與實(shí)際相結(jié)合的能力,并且熟練的應(yīng)用MATLAB也加深了我對(duì)課程的理解。這次設(shè)計(jì)使我更深刻的了解MATLAB的使用方法,同時(shí)我相信,進(jìn)一步加強(qiáng)對(duì)MATLAB的學(xué)習(xí)對(duì)我今后的學(xué)習(xí)將會(huì)起到很大的幫助。</p><p><b>  7 參考文獻(xiàn):</b></p><p>  高西全,丁玉美編著?!稊?shù)字信號(hào)處理》西安,西安電子科技大學(xué)出版社,2008&l

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論