2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  DSP應(yīng)用課程設(shè)計(jì)(學(xué)年論文)</p><p><b>  說明書</b></p><p>  課題名稱: DSP應(yīng)用課程設(shè)計(jì) </p><p>  學(xué)生學(xué)號: </p><p>  專業(yè)班級: 通信01班

2、 </p><p>  學(xué)生姓名: </p><p>  學(xué)生成績: </p><p>  指導(dǎo)教師: </p><p>  課題工作時(shí)間: 2011.6.13 至 2011.6.24 &

3、lt;/p><p>  課程設(shè)計(jì)評審標(biāo)準(zhǔn)(指導(dǎo)教師用)</p><p><b>  武漢工程大學(xué)</b></p><p><b>  電氣信息學(xué)院</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  課程名稱:基于MATLAB的有噪

4、聲的語音信號的處理</p><p>  班 級: 通信01班 </p><p>  學(xué) 號: 0804140127 </p><p>  姓 名: 葉瑩瑩 </p><p>  指導(dǎo)教師: 楊

5、述斌 </p><p>  完成時(shí)間: </p><p><b>  一、課程設(shè)計(jì)目的</b></p><p>  綜合運(yùn)用數(shù)字信號處理的理論知識對語音信號進(jìn)行時(shí)頻分析和濾波器設(shè)計(jì),通過理論推導(dǎo)得出相應(yīng)結(jié)論,再利用 MATLAB 作為編程工

6、具進(jìn)行計(jì)算機(jī)實(shí)現(xiàn),從而加深對所學(xué)知識的理解,建立概念。</p><p><b>  二、課程設(shè)計(jì)要求</b></p><p>  1 ) 學(xué)會 MATLAB 的使用,掌握 MATLAB 的程序設(shè)計(jì)方法。</p><p>  2 ) 掌握在 Windows 環(huán)境下語音信號采集的方法。</p><p>  3 ) 掌握數(shù)字信

7、號處理的基本概念、基本理論和基本方法。</p><p>  4 ) 掌握 MATLAB 設(shè)計(jì) FIR 和IIR 數(shù)字濾波器的方法。</p><p>  5 ) 學(xué)會用 MATLAB 對信號進(jìn)行分析和處理。</p><p><b>  三、詳細(xì)設(shè)計(jì)過程</b></p><p><b>  1.原理</b&g

8、t;</p><p><b>  2,過程:</b></p><p><b>  語音信號的采集</b></p><p>  利用計(jì)算機(jī)上的收音機(jī)和WINDOWS 操作系統(tǒng)可以進(jìn)行數(shù)字信號的采集。如果是簡單的錄音,可用“開始——程序——附件——娛樂——錄音機(jī)”,然后再打開windows media任選一首歌,進(jìn)行錄音。&

9、lt;/p><p>  這種錄音時(shí)間默認(rèn)時(shí)間是1分鐘,如果想錄長一些的話,可在正要錄到1分鐘時(shí),再點(diǎn)一下錄音,如此反復(fù)可延長錄音時(shí)間。</p><p>  錄好以后命名保存入D :\ MATLAB \ work 中??梢钥吹?文件存儲器的后綴默認(rèn)為. wav ,這是WINDOWS 操作系統(tǒng)規(guī)定的聲音文件存的標(biāo)準(zhǔn)。</p><p><b>  語音信號的時(shí)頻分析

10、</b></p><p>  利用MATLAB中的“wavread”命令來讀入(采集)語音信號,將它賦值給某一向量。再對其進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。下面介紹Wavread 函數(shù)幾種調(diào)用格式。</p><p> ?。?)y=wavread(file)</p><p>  功能說明:讀取file所規(guī)定的wav文件,返回采樣值放在向量y中。</p

11、><p> ?。?)[y,fs,nbits]=wavread(file) </p><p>  功能說明:采樣值放在向量y中,fs表示采樣頻率(hz),nbits表示采樣位數(shù)。</p><p> ?。?)y=wavread(file,N)</p><p>  功能說明:讀取錢N點(diǎn)的采樣值放在向量y中。</p><p>  

12、(4)y=wavread(file,[N1,N2])</p><p>  功能說明:讀取從N1到N2點(diǎn)的采樣值放在向量y中。</p><p>  接下來,對語音信號speech off.wav進(jìn)行采樣。其程序如下:</p><p>  [y,fs,nbits]=wavered (‘speech off.wav’);</p><p>  功能說

13、明:把語音信號加載入Matlab 仿真軟件平臺中</p><p>  然后,畫出語音信號的時(shí)域波形,再對語音信號進(jìn)行頻譜分析。MATLAB提供了快速傅里葉變換算法FFT計(jì)算DFT的函數(shù)fft,其調(diào)用格式如下:</p><p>  Xk=fft(xn,N)</p><p>  參數(shù)xn為被變換的時(shí)域序列向量,N是DFT變換區(qū)間長度,當(dāng)N大于xn的長度時(shí),fft函數(shù)自動

14、在xn后面補(bǔ)零。,當(dāng)N小于xn的長度時(shí),fft函數(shù)計(jì)算xn的前N個(gè)元素,忽略其后面的元素。語音信號加噪與頻譜分析</p><p>  MATLAB中產(chǎn)生高斯白噪聲非常方便,有兩個(gè)產(chǎn)生高斯白噪聲的兩個(gè)函數(shù) 。我們可以直接應(yīng)用兩個(gè)函數(shù):一個(gè)是WGN,另一個(gè)是AWGN。WGN用于產(chǎn)生高斯白噪聲,AWGN則用于在某一信號中加入高斯白噪聲。也可直接用randn函數(shù)產(chǎn)生高斯分布序列。</p><p>

15、  在本次課程設(shè)計(jì)中,我們是利用MATLAB中的隨機(jī)函數(shù)(rand或randn)產(chǎn)生噪聲加入到語音信號中,模仿語音信號被污染,并對其頻譜分析。Randn函數(shù)有兩種基本調(diào)用格式:Randn(n)和Randn(m,n),前者產(chǎn)生n×n服從標(biāo)準(zhǔn)高斯分布的隨機(jī)數(shù)矩陣,后者產(chǎn)生m×n的隨機(jī)數(shù)矩陣。在這里,我們選用Randn(m,n)函數(shù)。</p><p>  設(shè)計(jì)FIR和IIR數(shù)字濾波器</p&g

16、t;<p>  IIR濾波器和FIR濾波器的設(shè)計(jì)方法完全不同。IIR濾波器設(shè)計(jì)方法有間接法和直接法,間接法是借助于模擬濾波器的設(shè)計(jì)方法進(jìn)行的。其設(shè)計(jì)步驟是:先設(shè)計(jì)過渡模擬濾波器得到系統(tǒng)函數(shù)H(s),然后將H(s)按某種方法轉(zhuǎn)換成數(shù)字濾波器的系統(tǒng)函數(shù)H(z)。FIR濾波器比鞥采用間接法,常用的方法有窗函數(shù)法、頻率采樣發(fā)和切比雪夫等波紋逼近法。對于線性相位濾波器,經(jīng)常采用FIR濾波器。</p><p>

17、  對于數(shù)字高通、帶通濾波器的設(shè)計(jì),通用方法為雙線性變換法??梢越柚谀M濾波器的頻率轉(zhuǎn)換設(shè)計(jì)一個(gè)所需類型的過渡模擬濾波器,再經(jīng)過雙線性變換將其轉(zhuǎn)換策劃那個(gè)所需的數(shù)字濾波器。具體設(shè)計(jì)步驟如下:</p><p> ?。?)確定所需類型數(shù)字濾波器的技術(shù)指標(biāo)。</p><p> ?。?)將所需類型數(shù)字濾波器的邊界頻率轉(zhuǎn)換成相應(yīng)的模擬濾波器的邊界頻率,轉(zhuǎn)換公式為Ω=2/T tan(0.5ω)<

18、;/p><p>  (3)將相應(yīng)類型的模擬濾波器技術(shù)指標(biāo)轉(zhuǎn)換成模擬低通濾波器技術(shù)指標(biāo)。</p><p> ?。?)設(shè)計(jì)模擬低通濾波器。</p><p> ?。?)通過頻率變換將模擬低通轉(zhuǎn)換成相應(yīng)類型的過渡模擬濾波器。</p><p>  (6)采用雙線性變換法將相應(yīng)類型的過渡模擬濾波器轉(zhuǎn)換成所需類型的數(shù)字濾波器。</p><p

19、>  我們知道,脈沖響應(yīng)不變法的主要缺點(diǎn)是會產(chǎn)生頻譜混疊現(xiàn)象,使數(shù)字濾波器的頻響偏離模擬濾波器的頻響特性。為了克服之一缺點(diǎn),可以采用雙線性變換法。</p><p>  利用模擬濾波器設(shè)計(jì)IIR數(shù)字低通濾波器的步驟:</p><p> ?。?)確定數(shù)字低通濾波器的技術(shù)指標(biāo):通帶邊界頻率、通帶最大衰減,阻帶截止頻率、阻帶最小衰減。</p><p> ?。?)將數(shù)字

20、低通濾波器的技術(shù)指標(biāo)轉(zhuǎn)換成相應(yīng)的模擬低通濾波器的技術(shù)指標(biāo)。</p><p> ?。?)按照模擬低通濾波器的技術(shù)指標(biāo)設(shè)計(jì)及過渡模擬低通濾波器。</p><p> ?。?)用雙線性變換法,模擬濾波器系統(tǒng)函數(shù)轉(zhuǎn)換成數(shù)字低通濾波器系統(tǒng)函數(shù)。</p><p>  如前所述,IIR濾波器和FIR濾波器的設(shè)計(jì)方法有很大的區(qū)別。下面我們著重介紹用窗函數(shù)法設(shè)計(jì)FIR濾波器的步驟。如下

21、:</p><p> ?。?)根據(jù)對阻帶衰減及過渡帶的指標(biāo)要求,選擇串窗數(shù)類型(矩形窗、三角窗、漢寧窗、哈明窗、凱塞窗等),并估計(jì)窗口長度N。先按照阻帶衰減選擇窗函數(shù)類型。原則是在保證阻帶衰減滿足要求的情況下,盡量選擇主瓣的窗函數(shù)。</p><p> ?。?)構(gòu)造希望逼近的頻率響應(yīng)函數(shù)。</p><p> ?。?)計(jì)算h(n).。</p><p&

22、gt;  (4)加窗得到設(shè)計(jì)結(jié)果。</p><p>  接下來,我們根據(jù)語音信號的特點(diǎn)給出有關(guān)濾波器的技術(shù)指標(biāo):</p><p> ?、俚屯V波器的性能指標(biāo):</p><p>  fp=1000Hz,fc=1200Hz,As=50db ,Ap=1dB</p><p>  ②高通濾波器的性能指標(biāo):</p><p>  f

23、p=3500Hz,fc=4000Hz,As=50dB,Ap=1dB;</p><p>  在Matlab中,可以利用函數(shù)fir1設(shè)計(jì)FIR濾波器,利用函數(shù)butter,cheby1和ellip設(shè)計(jì)IIR濾波器,利用Matlab中的函數(shù)freqz畫出各步步器的頻率響應(yīng)。</p><p>  hn=fir1(M,wc,window),可以指定窗函數(shù)向量window。如果缺省window參數(shù),則

24、fir1默認(rèn)為哈明窗。其中可選的窗函數(shù)有Rectangular Barlrtt Hamming Hann Blackman窗,其相應(yīng)的都有實(shí)現(xiàn)函數(shù)。</p><p>  MATLAB信號處理工具箱函數(shù)buttp buttor butter是巴特沃斯濾波器設(shè)計(jì)函數(shù),其有5種調(diào)用格式,本課程設(shè)計(jì)中用到的是[N,wc]=butter(N,wc,Rp,As,’s’),該格式用于計(jì)算巴特沃斯模擬濾波器的階數(shù)N和3dB截止頻

25、率wc。</p><p>  MATLAB信號處理工具箱函數(shù)cheblap,cheblord和cheeby1是切比雪夫I型濾波器設(shè)計(jì)函數(shù)。我們用到的是cheeby1函數(shù),其調(diào)用格式如下:</p><p>  [B,A]=cheby1(N,Rp,wpo,’ftypr’)</p><p>  [B,A]=cheby1(N,Rp,wpo,’ftypr’,’s’)</

26、p><p>  函數(shù)butter,cheby1和ellip設(shè)計(jì)IIR濾波器時(shí)都是默認(rèn)的雙線性變換法,所以在設(shè)計(jì)濾波器時(shí)只需要代入相應(yīng)的實(shí)現(xiàn)函數(shù)即可。</p><p>  用濾波器對加噪語音信號進(jìn)行濾波</p><p>  用自己設(shè)計(jì)的各濾波器分別對加噪的語音信號進(jìn)行濾波,在Matlab中,F(xiàn)IR濾波器利用函數(shù)fftfilt對信號進(jìn)行濾波,IIR濾波器利用函數(shù)filter

27、對信號進(jìn)行濾波。</p><p>  函數(shù)fftfilt用的是重疊相加法實(shí)現(xiàn)線性卷積的計(jì)算。調(diào)用格式為:y=fftfilter(h,x,M)。其中,h是系統(tǒng)單位沖擊響應(yīng)向量;x是輸入序列向量;y是系統(tǒng)的輸出序列向量;M是有用戶選擇的輸入序列的分段長度,缺省時(shí),默認(rèn)的輸入向量的重長度M=512。</p><p>  函數(shù)filter的調(diào)用格式:yn=filter(B,A.xn),它是按照直線

28、型結(jié)構(gòu)實(shí)現(xiàn)對xn的濾波。其中xn是輸入信號向量,yn輸出信號向量。</p><p>  用自己設(shè)計(jì)的各濾波器分別對語音信號進(jìn)行濾波,在Matlab中,F(xiàn)IR濾波器利用函數(shù)fftfilt對信號進(jìn)行濾波,IIR濾波器利用函數(shù)filter對信號進(jìn)行濾波。</p><p><b>  1.雙線性變換法:</b></p><p>  低通濾波器z11=f

29、ilter(num11,den11,s);</p><p>  帶通濾波器z12=filter(num12,den12,s);</p><p>  高通濾波器z13=filter(num13,den13,s);</p><p><b>  2.窗函數(shù)法</b></p><p>  1)低通濾波器z21=fftfilt(b

30、21,s);</p><p>  2)帶通濾波器z22=fftfilt(b22,s);</p><p>  3)高通濾波器z23=fftfilt(b23,s);</p><p><b>  回放語音信號</b></p><p>  經(jīng)過以上的加噪聲處理后,可在Matlab中用函數(shù)sound對聲音進(jìn)行回放。其調(diào)用格式:so

31、und(y,Fs),sound(y)和sound(y,Fs,bits)??梢圆煊X濾波前后的聲音有明顯的變化。</p><p><b>  設(shè)計(jì)系統(tǒng)界面</b></p><p>  系統(tǒng)界面設(shè)計(jì)工具—GUI概述</p><p>  圖形用戶界面(graphical user interfaces ,GUI)則是由窗口、光標(biāo)、按鍵、菜單、文字說明等

32、對象(objects)構(gòu)成的一個(gè)用戶界面。用戶通過一定的方法(如鼠標(biāo)或鍵盤)選擇、激活這些圖形對象,使計(jì)算機(jī)產(chǎn)生某種動作或變化,比如實(shí)現(xiàn)計(jì)算、繪圖等。在MATLAB中GUI是一中包含多種對象的圖形窗口,并為GUI開發(fā)提供一個(gè)方便高效的集成開發(fā)環(huán)境GUIDE。GUIDE主要是一個(gè)界面設(shè)計(jì)工具集,MAYLAB將所有GUI支持度控件都集成在這個(gè)環(huán)境中,并提供界面外觀、屬性和行為響應(yīng)方式的設(shè)置方法。GUIDE將設(shè)計(jì)好的GUI保存在一個(gè)FIG文件

33、中,同時(shí)生成M文件框架。</p><p>  FIG文件:包括GUI圖形窗口及其所有后裔的完全描述,包括所有對象屬性的屬性值。它是一個(gè)二進(jìn)制文件調(diào)用hsave課保存圖形窗口時(shí)將生車該文件。M文件包括GUI設(shè)計(jì)、控件函數(shù)以及定義為子函數(shù)的用戶控件回調(diào)函數(shù),主要用于控制GUI展開時(shí)的各種特征。 GUI創(chuàng)建包括界面設(shè)計(jì)和控件編程兩部分,主要步驟如下。第一步:通過設(shè)置GUIDE應(yīng)用程序的選項(xiàng)來運(yùn)行GUIDE;第二步:使用

34、界面設(shè)計(jì)編輯器進(jìn)行面設(shè)計(jì);第三步:編寫控件行為響應(yīng)控制(即回調(diào)函數(shù))代碼。</p><p><b>  2.方案選擇及設(shè)計(jì)</b></p><p>  本設(shè)計(jì)主要是對語音信號的時(shí)頻進(jìn)行分析,并對語音信號加噪后設(shè)計(jì)濾波器對其進(jìn)行濾波處理,對話音信號加噪聲前后的頻譜進(jìn)行比較分析,對合成語音信號濾波前后進(jìn)行頻譜的分析比較。</p><p>  首先用

35、PC機(jī)WINDOWS下的錄音機(jī)錄制一段3S長的語音信號,并保存入MATLAB軟件的根目錄下文件名為“123”,再運(yùn)行MATLAB仿真軟件把錄制好的語音信號用wavread函數(shù)加載入MATLAB仿真軟件的工作環(huán)境中,輸入命令對語音信號進(jìn)行時(shí)域,頻譜變換。再在MATLAB中用命令設(shè)計(jì)一段噪聲信號,對噪聲信號進(jìn)行頻譜變換。把設(shè)計(jì)的噪聲信號加入到錄制的語音信號中,用命令可以得到其頻譜圖。對該段合成的語音信號,用命令在MATLAB中設(shè)計(jì)一個(gè)恰當(dāng)?shù)?/p>

36、濾波器對其進(jìn)行濾波處理,此處用BW帶阻濾波器對其進(jìn)行濾波,濾波后用命令可以繪制出其頻譜圖,回放語音信號。對原始語音信號、合成的語音信號和經(jīng)過濾波器處理的語音信號進(jìn)行頻譜的比較分析。</p><p><b>  設(shè)計(jì):</b></p><p>  1、選錄好的“123.wav”聲音作為語音信號。</p><p>  2、對語音信號加噪聲。<

37、/p><p>  3、分別設(shè)計(jì)IIR濾波器和FIR濾波器,對被污染的語音信號進(jìn)行濾波,濾掉相應(yīng)的噪音信號,得到符合要求的語音信號。</p><p><b>  3.程序設(shè)計(jì)流程圖</b></p><p><b>  四、調(diào)試分析</b></p><p><b>  遇到的問題:</b&g

38、t;</p><p>  1,、剛開始是準(zhǔn)備用自己錄的音作為需要的音頻信號,可是在加噪聲這一環(huán)節(jié)出現(xiàn)問題了,這一個(gè)環(huán)節(jié)花的時(shí)間比較多。在網(wǎng)上查找資料后才發(fā)現(xiàn)我錄的音是單音道的,要用雙音道的音頻才能順利完成加噪,改了之后才運(yùn)行成功。</p><p>  2、在做濾波器的時(shí)候也出現(xiàn)一些問題,明明是一樣的代碼卻提示我輸入的濾波的代碼有幾個(gè)字母沒有定義,經(jīng)過檢查思考之后才發(fā)現(xiàn)我應(yīng)該先寫濾波器特性的

39、代碼,運(yùn)行出來之后才能再寫濾波的代碼,問題解決了。</p><p>  3、緊接著就是做GUI界面了,我個(gè)人認(rèn)為是最難的部分。首先遇到的問題是,回調(diào)函數(shù)的代碼不知道加在哪里。經(jīng)過查找資料,加上反復(fù)的摸索和失敗之后我才模模糊糊的知道每個(gè)回調(diào)函數(shù)要加在對應(yīng)的按鈕的功能函數(shù)下面。這是初步的成功。</p><p>  4、初步的成功之后遇到了更大的困難,就是界面只能運(yùn)行濾波器特性的代碼,而真正濾波

40、的代碼卻運(yùn)行不出來,好像是濾波的代碼與源代碼有沖突。這個(gè)無論我怎么修改都不能成功,預(yù)備放棄了??墒怯刑焱砩峡唇虒W(xué)視頻的時(shí)候腦子里突然閃過一個(gè)念頭,我的代碼有問題。于是,我在濾波的代碼前面加上了相應(yīng)的濾波器特性的代碼,運(yùn)行成功了!這種喜悅的感覺無法形容。</p><p>  5、最大的問題是我的圖在axes里面不能完整運(yùn)行,我沒有辦法了,決定放棄。</p><p><b>  調(diào)試

41、程序圖:</b></p><p><b>  五、結(jié)果分析與體會</b></p><p><b>  分析:</b></p><p>  加入噪聲后回放的聲音與原始的語音信號有明顯的不同,其伴隨較尖銳的干擾嘯叫聲。從含噪語音信號的頻譜圖中可以看出是含噪的語音信號的頻譜,在整個(gè)頻域范圍內(nèi)分布均勻,這正是干擾所造成

42、的。通過濾波前后的對比,低通濾波后效果最好,高通濾波后的效果最差。由此可見,語音信號主要分布在低頻,而噪聲主要分布在高頻。</p><p>  IIR數(shù)字濾波器采用遞歸型結(jié)構(gòu),即結(jié)構(gòu)上帶有反饋環(huán)路。IIR濾波器運(yùn)算結(jié)構(gòu)通常由延時(shí)、乘以系數(shù)和相加等基本運(yùn)算組成,可以組合成直接型、正準(zhǔn)型、級聯(lián)型、并聯(lián)型四種結(jié)構(gòu)形式,都具有反饋回路。由于運(yùn)算中的舍入處理,使誤差不斷累積,有時(shí)會產(chǎn)生微弱的寄生振蕩。 </p>

43、<p> ?。?)IIR數(shù)字濾波器的相位特性不好控制,對相位要求較高時(shí),需加相位校準(zhǔn)網(wǎng)絡(luò)。FIR濾波器則要求較低?!?lt;/p><p> ?。?)與FIR濾波器的設(shè)計(jì)不同,IIR濾波器設(shè)計(jì)時(shí)的階數(shù)不是由設(shè)計(jì)者指定,而是根據(jù)設(shè)計(jì)者輸入的各個(gè)濾波器參數(shù)(截止頻率、通帶濾紋、阻帶衰減等),由軟件設(shè)計(jì)出滿足這些參數(shù)的最低濾波器階數(shù)。在MATLAB下設(shè)計(jì)不同類型IIR濾波器均有與之對應(yīng)的函數(shù)用于階數(shù)的選擇。 &

44、lt;/p><p>  (3)IIR單位響應(yīng)為無限脈沖序列FIR單位響應(yīng)為有限的 </p><p> ?。?)IIR幅頻特性精度很高,不是線性相位的,可以應(yīng)用于對相位信息不敏感的音頻信號上; </p><p> ?。?)FIR幅頻特性精度較之于iir低,但是線性相位,就是不同頻率分量的信號經(jīng)過FIR濾波器后他們的時(shí)間差不變。這是很好的性質(zhì)。 </p>&l

45、t;p>  (6)IIR濾波器有噪聲反饋,而且噪聲較大,F(xiàn)IR濾波器噪聲較小。</p><p> ?。?)IIR濾波器運(yùn)算誤差大,有可能出現(xiàn)極限環(huán)振蕩,F(xiàn)IR相比之下運(yùn)算誤差較小,不會出現(xiàn)極限環(huán)振蕩。</p><p>  IIR幅頻特性精度很高,不是線性相位的,可以應(yīng)用于對相位信息不敏感的音頻信號上; </p><p>  FIR幅頻特性精度較之于iir低,但

46、是線性相位,就是不同頻率分量的信號經(jīng)過FIR濾波器后他們的時(shí)間差不變。這是很好的性質(zhì)。</p><p><b>  體會:</b></p><p>  通過這次做課程設(shè)計(jì)我學(xué)到不少東西。</p><p>  剛開始覺得這個(gè)課程設(shè)計(jì)很簡單,因?yàn)橹白鲞^類似的實(shí)驗(yàn),所以調(diào)試程序之類的事情就很容易。可是那只是覺得。真正做起來的時(shí)候才發(fā)現(xiàn)比想象的要難很

47、多。當(dāng)然,在做課程設(shè)計(jì)的時(shí)候遇到不少困難。遇到困難的時(shí)候就是簡單的在網(wǎng)上找了點(diǎn)資料,可是那些資料根本不夠用。于是我向老師求救。我以為老師會幫助我,可是老師沒有理我。不是沒有抱怨,可是冷靜下來之后才會想到自己去圖書館查閱資料,在網(wǎng)上大量的找相關(guān)的東西,甚至還去matlab中文論壇看了一些相關(guān)的視頻跟一些高手做的東西,漸漸地,困難少了。有些東西做起來得心應(yīng)手,速度比以前快多了。</p><p>  直到最后,我才明白

48、老師的良苦用心。通過依靠自己學(xué)到的知識遠(yuǎn)比別人告訴你的掌握的要牢,而且我也找到了一種學(xué)習(xí)方法:不能老是依靠別人,要自己動手,依靠自己。</p><p>  真的很感謝老師,是老師教會了我很多知識,我受益匪淺。</p><p><b>  六、參考資料</b></p><p>  1. 鄒彥,DSP原理及應(yīng)用,第1版,電子工業(yè)出版社,2006;&

49、lt;/p><p>  2.張雄偉,DSP集成開發(fā)與應(yīng)用實(shí)例,第1版,電子工業(yè)出版社,2002;</p><p>  3. 張洪濤等,數(shù)字信號處理,第一版,華中科技大學(xué)出版社,2007</p><p>  4. 彭啟琮等,DSP技術(shù)的發(fā)展與應(yīng)用,第二版,高等教育出版社,2007</p><p>  5. 楊述斌等,數(shù)字信號處理實(shí)踐教程,第一版,華

50、中科技大學(xué)出版社,2007</p><p>  6.劉穎慧MATLABR2007基礎(chǔ)教程[M].清華大學(xué)出版社.2008</p><p>  7.王琦,徐式蘊(yùn),趙睿濤,高軍峰,常春藤 MATLAB基礎(chǔ)與應(yīng)用實(shí)例集萃[M].人民郵電出版社.2007</p><p>  8.張威.MATLAB基礎(chǔ)與編程入門[M].西安電子科技大學(xué)出版社.2004</p>

51、<p><b>  七、附錄</b></p><p><b>  讀取語音信號</b></p><p>  [y,fs,nbits]=wavread ('123.wav');</p><p>  sound(y,fs,nbits); %回放語音信號</p><p>  n

52、= length (y) ; %求出語音信號的長度</p><p>  Y=fft(y,n); %傅里葉變換</p><p>  subplot(2,1,1);plot(y);title('原始信號波形');</p><p>  subplot(2,1,2);plot(abs(Y));title('原始信號頻譜')&

53、lt;/p><p><b>  加噪聲</b></p><p>  [y,fs,nbits]=wavread ('123.wav');</p><p>  n = length (y) ; %求出語音信號的長度</p><p>  noise=0.01*randn(n,1); %隨機(jī)函數(shù)產(chǎn)生噪聲&

54、lt;/p><p>  s=y+noise; %語音信號加入噪聲 </p><p><b>  sound(s);</b></p><p>  subplot(2,1,1);</p><p>  plot(s);title('加噪語音信號的時(shí)域波形');</p><

55、;p>  S=fft(s); %傅里葉變換</p><p>  subplot(2,1,2);</p><p>  plot(abs(S));title('加噪語音信號的頻域波形')</p><p>  title('加噪語音信號的頻域波形');</p><p>  ========

56、=================IIR低通濾波器=======================</p><p><b>  Ft=8000;</b></p><p><b>  Fp=1000;</b></p><p><b>  Fs=1200;</b></p><p> 

57、 wp=2*pi*Fp/Ft;</p><p>  ws=2*pi*Fs/Ft;</p><p>  fp=2*Ft*tan(wp/2);</p><p>  fs=2*Fs*tan(wp/2);</p><p>  [n11,wn11]=buttord(wp,ws,1,50,'s'); %求低通濾波器的階數(shù)和截止頻率<

58、/p><p>  [b11,a11]=butter(n11,wn11,'s'); %求S域的頻率響應(yīng)的參數(shù) </p><p>  [num11,den11]=bilinear(b11,a11,0.5); %利用雙線性變換實(shí)現(xiàn)頻率響應(yīng)S域到Z域的變換 </p><p>  [h,w]=freqz(num11,den11); %根據(jù)參數(shù)求出頻率響應(yīng)

59、</p><p>  plot(w*8000*0.5/pi,abs(h));</p><p>  legend('用巴特沃斯butter設(shè)計(jì)');</p><p><b>  grid</b></p><p>  =========================IIR帶通濾波器=============

60、==========</p><p><b>  Fp1=1200;</b></p><p><b>  Fp2=3000;</b></p><p><b>  Fs1=1000;</b></p><p><b>  Fs2=3200;</b></p

61、><p><b>  Ft=8000;</b></p><p>  wp1=tan(pi*Fp1/Ft); %帶通到低通濾波器的轉(zhuǎn)換</p><p>  wp2=tan(pi*Fp2/Ft);</p><p>  ws1=tan(pi*Fs1/Ft);</p><p&g

62、t;  ws2=tan(pi*Fs2/Ft);</p><p>  w=wp1*wp2/ws2;</p><p>  bw=wp2-wp1;</p><p><b>  wp=1;</b></p><p>  ws=(wp1*wp2-w.^2)/(bw*w);</p><p>  [n12,wn1

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

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

65、p>  axis([0 4000 0 1.5]);</p><p>  legend('用巴特沃斯bbutter設(shè)計(jì)');</p><p><b>  grid;</b></p><p>  =========================IIR高通濾波器=======================</p>

66、<p><b>  Ft=8000;</b></p><p><b>  Fp=4000;</b></p><p><b>  Fs=3500;</b></p><p>  wp1=tan(pi*Fp/Ft); </p><p>  ws1=tan(pi*Fs/F

67、t);</p><p><b>  wp=1;</b></p><p>  ws=wp1*wp/ws1;</p><p>  [n13,wn13]=cheb1ord(wp,ws,1,50,'s'); </p><p>  [b13,a13]=cheby1(n13,1,wn13,'s');

68、</p><p>  [num,den]=lp2hp(b13,a13,wn13); </p><p>  [num13,den13]=bilinear(num,den,0.5); </p><p>  [h,w]=freqz(num13,den13);</p><p>  plot(w*21000*0.5/pi,abs(h));</p&

69、gt;<p>  title('IIR高通濾波器');</p><p>  legend('用切比雪夫cheby1設(shè)計(jì)');</p><p>  axis([0 12000 0 1.5]);</p><p><b>  grid;</b></p><p>  ========

70、================IIRellipord濾波器=======================</p><p>  Y=fft(y,5096);</p><p>  fb=1000;fc=1200;As=300;Ap=1;fs=22350;</p><p>  wc=2*fc/fs; wb=2*fb/fs;</p><p>  [

71、N,wp]=ellipord(wp,ws,rp,rs);</p><p>  [B,A]=ellip(N,rp,rs,wp);</p><p>  figure(1);</p><p>  **************************FIR低通濾波器*****************************</p><p><b

72、>  Ft=8000;</b></p><p><b>  Fp=1000;</b></p><p><b>  Fs=1200;</b></p><p>  wp=2*Fp/Ft;</p><p>  ws=2*Fs/Ft;</p><p><b&g

73、t;  rp=1;</b></p><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

74、];</p><p>  dev=[p s];</p><p>  [n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev); </p><p>  b21=fir1(n21,wn21,Kaiser(n21+1,beta)); %由fir1設(shè)計(jì)濾波器</p><p>  [h,w]=freqz(b21,1

75、); %得到頻率響應(yīng)</p><p>  plot(w/pi,abs(h));</p><p>  title('FIR低通濾波器');</p><p><b>  grid;</b></p><p>  **************************FIR帶通濾波器**********

76、*******************</p><p><b>  Fp1=1200;</b></p><p><b>  Fp2=3000;</b></p><p><b>  Fs1=1000;</b></p><p><b>  Fs2=3200;</b&

77、gt;</p><p><b>  Ft=8000;</b></p><p>  wp1=Fp1*2*pi/Ft;</p><p>  wp2=Fp2*2*pi/Ft;</p><p>  ws1=Fs1*2*pi/Ft;</p><p>  ws2=Fs2*2*pi/Ft;</p>

78、<p>  wc1=wp1-ws1;</p><p><b>  rp=1;</b></p><p><b>  rs=50;</b></p><p>  beta=0.1102*(rs-8.7);</p><p>  n22=ceil((rs-7.95)/2.286/wc1);<

79、/p><p>  wn22=[(wp1+ws1)/2/pi,(wp2+ws2)/2/pi];</p><p>  wn= kaiser(n22+1,beta); </p><p>  b22=fir1(n22,wn22,wn);</p><p>  [h,w]=freqz(b22,1);</p><p>  plot(w/

80、pi,abs(h));</p><p>  title('FIR帶通濾波器by凱澤窗');</p><p><b>  grid;</b></p><p>  **************************FIR高通濾波器*****************************</p><p>&

81、lt;b>  Ft=8001;</b></p><p><b>  Fp=4000;</b></p><p><b>  Fs=3500;</b></p><p>  wp=2*Fp/Ft;</p><p>  ws=2*Fs/Ft;</p><p>  r

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

83、  [n23,wn23,beta,ftype]=kaiserord(fpts,mag,dev);</p><p>  b23=fir1(n23,wn23,'high',Kaiser(n23+1,beta)); </p><p>  [h,w]=freqz(b23,1); </p><p>  plot(w*12000*0.5/pi,abs(h));&

84、lt;/p><p>  title('FIR高通濾波器');</p><p>  axis([2000 6000 0 1.2]);</p><p><b>  grid</b></p><p>  % ======================雙線性變換法=======================<

85、;/p><p>  %*************************低通濾波器************************</p><p>  [y,fs,nbits]=wavread ('123.wav');</p><p>  n = length (y) ; %求出語音信號的長度</p>&l

86、t;p>  noise=0.01*randn(n,1); %隨機(jī)函數(shù)產(chǎn)生噪聲</p><p>  s=y+noise; %語音信號加入噪聲</p><p>  S=fft(s); %傅里葉變換</p><p>  z11=filter(num11,d

87、en11,s);</p><p>  sound(z11);</p><p>  m11=fft(z11); %求濾波后的信號</p><p>  subplot(2,2,1);</p><p>  plot(abs(S),'g');</p><p>  tit

88、le('濾波前信號的頻譜');</p><p><b>  grid;</b></p><p>  subplot(2,2,2);</p><p>  plot(abs(m11),'r');</p><p>  title('濾波后信號的頻譜');</p>&

89、lt;p><b>  grid;</b></p><p>  subplot(2,2,3);</p><p><b>  plot(s);</b></p><p>  title('濾波前信號的波形');</p><p><b>  grid;</b>&l

90、t;/p><p>  subplot(2,2,4);</p><p>  plot(z11);</p><p>  title('濾波后的信號波形');</p><p>  **********************帶通濾波器*****************************</p><p>  

91、[y,fs,nbits]=wavread('123.wav');</p><p>  n = length (y) ; %求出語音信號的長度</p><p>  noise=0.01*randn(n,1); %隨機(jī)函數(shù)產(chǎn)生噪聲</p><p>  s=y+noise;

92、 %語音信號加入噪聲</p><p>  S=fft(s); %傅里葉變換</p><p>  z12=filter(num12,den12,s);</p><p>  sound(z12);</p><p>  m12=fft(z12);

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

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

95、lt;p>  subplot(2,2,4);</p><p>  plot(z12);</p><p>  title('濾波后的信號波形');</p><p>  *****************************高通濾波器*****************************</p><p>  [y,f

96、s,nbits]=wavread('123.wav');</p><p>  n = length (y) ; %求出語音信號的長度</p><p>  noise=0.01*randn(n,1); %隨機(jī)函數(shù)產(chǎn)生噪聲</p><p>  s=y+noise;

97、 %語音信號加入噪聲</p><p>  S=fft(s); %傅里葉變換</p><p>  z13=filter(num13,den13,s);</p><p>  sound(z13);</p><p>  m13=fft(z13);

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

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

100、;  subplot(2,2,4);</p><p>  plot(z13);</p><p>  title('濾波后的信號波形');</p><p>  ========================IIRellipord濾波=======================</p><p>  [y,fs,nbits]=w

101、avread('123.wav');</p><p>  Y=fft(y,5096);</p><p>  fb=1000;fc=1200;As=100;Ap=1;fs=22050;</p><p>  wc=2*fc/fs; wb=2*fb/fs;</p><p>  [N,wp]=ellipord(wp,ws,rp,rs)

102、;</p><p>  [B,A]=ellip(N,rp,rs,wp);</p><p>  figure(1);</p><p>  freqz(B,A,512,fs);</p><p>  x=filter(B,A,y);</p><p>  X=fft(x,4096);</p><p> 

103、 figure(2);</p><p>  subplot(2,2,1);plot(y);title('濾波前信號的波形');</p><p>  subplot(2,2,2);plot(abs(Y));title('濾波前信號的頻譜');</p><p>  Subplot(2, 2 ,3);plot(x);title('濾

104、波后信號的波形');</p><p>  Subplot(2, 2 ,4);plot(abs(X));title('濾波后信號的頻譜');</p><p>  sound(x,fs,nbits);</p><p>  ========================窗函數(shù)法==========================</p>

105、;<p>  %**************************低通濾波器****************************</p><p>  [y,fs,nbits]=wavread('123.wav');</p><p>  n = length (y) ; %求出語音信號的長度</p>&l

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

107、ilt(b21,s);</p><p>  sound(z21);</p><p>  m21=fft(z21); %求濾波后的信號</p><p>  subplot(2,2,1);</p><p>  plot(abs(S),'g');</p><p>  ti

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

109、itle('濾波前信號的波形');</p><p>  subplot(2,2,4);</p><p>  plot(z21); title('濾波后的信號波形');</p><p>  ****************************帶通濾波器***************************</p&

110、gt;<p>  [y,fs,nbits]=wavread('123.wav');</p><p>  n = length (y) ; %求出語音信號的長度</p><p>  noise=0.01*randn(n,1); %隨機(jī)函數(shù)產(chǎn)生噪聲</p><p>  s=y+

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

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

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

114、/p><p>  subplot(2,2,4);</p><p>  plot(z22);</p><p>  title('濾波后的信號波形');</p><p>  *************************高通濾波器*****************************</p><p> 

115、 [y,fs,nbits]=wavread('123.wav');</p><p>  n = length (y) ; %求出語音信號的長度</p><p>  noise=0.01*randn(n,1); %隨機(jī)函數(shù)產(chǎn)生噪聲</p><p>  s=y+noise;

116、 %語音信號加入噪聲 </p><p>  S=fft(s); %傅里葉變換</p><p>  z23=fftfilt(b23,s);</p><p>  sound(z23);</p><p>  m23=fft(z23); %求濾波后的信號</

117、p><p>  subplot(2,2,1);</p><p>  plot(abs(S),'g');</p><p>  subplot(2,2,2);</p><p>  plot(abs(m23),'r');</p><p>  title('濾波后信號的頻譜');&l

118、t;/p><p>  subplot(2,2,3);</p><p><b>  plot(s);</b></p><p>  title('濾波前信號的波形');</p><p>  subplot(2,2,4);</p><p>  plot(z23);</p>&l

溫馨提示

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

評論

0/150

提交評論