數(shù)字信號處理課程設(shè)計報告--基于matlab的語音去噪處理_第1頁
已閱讀1頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  《數(shù)字信號處理》</b></p><p><b>  課程設(shè)計報告</b></p><p>  基于MATLAB的語音去噪處理</p><p>  專 業(yè): 通信工程 </p><p>  班 級: 通信1101班 </p><p>

2、;  組 次: </p><p>  基于MATLAB的語音去噪處理</p><p><b>  1、設(shè)計目的</b></p><p> ?。?)鞏固所學的數(shù)字信號處理理論知識, 理解信號的采集、處理、加噪、去噪過程;</p><p> ?。?)綜合運用專業(yè)及基礎(chǔ)知識,解決實際工程技術(shù)問題的能力;&

3、lt;/p><p> ?。?)學習資料的收集與整理,學會撰寫課程設(shè)計報告。</p><p><b>  2、設(shè)計任務</b></p><p> ?。?)語音信號的錄制。</p><p> ?。?)在MATLAB平臺上讀入語音信號。</p><p> ?。?)繪制頻譜圖并回放原始語音信號。</p&

4、gt;<p> ?。?)利用MATLAB編程加入一段正弦波噪音,設(shè)計濾波器去噪。</p><p> ?。?)利用MATLAB編程加入一段隨機噪音信號,設(shè)計FIR和IIR濾波器去噪,并分別繪制頻譜圖、回放語音信號。</p><p> ?。?)通過仿真后的圖像以及對語音信號的回放,對比兩種去噪方式的優(yōu)缺點。</p><p>  其大概流程框圖可如下表示:(

5、圖2-1)</p><p>  圖2-1 課程設(shè)計的流程</p><p><b>  3、設(shè)計原理</b></p><p><b>  3.1 去噪原理</b></p><p>  3.1.1 采樣定理</p><p>  在進行模擬/數(shù)字信號的轉(zhuǎn)換過程中,當采樣頻率fs.

6、max大于信號中,最高頻率fmax的2倍時,即:fs.max>=2fmax,則采樣之后的數(shù)字信號完整地保留了原始信號中的信息,一般實際應用中保證采樣頻率為信號最高頻率的5~10倍;采樣定理又稱奈奎斯特定理。 1924年奈奎斯特(Nyquist)就推導出在理想低通信道的最高大碼元傳輸速率的公式: 理想低通信道的最高大碼元傳輸速率=2W*log2 N (其中W是理想低通信道的帶寬,N是電平強度)為什么把采樣頻率設(shè)為8kHz?在數(shù)字通信

7、中,根據(jù)采樣定理, 最小采樣頻率為語音信號最高頻率的2倍</p><p>  頻帶為F的連續(xù)信號 f(t)可用一系列離散的采樣值f(t1),f(t1±Δt),f(t1±2Δt),...來表示,只要這些采樣點的時間間隔Δt≤1/2F,便可根據(jù)各采樣值完全恢復原來的信號f(t)。 這是時域采樣定理的一種表述方式。 </p><p>  時域采樣定理的另一種表述方式是:當時間

8、信號函數(shù)f(t)的最高頻率分量為fM時,f(t)的值可由一系列采樣間隔小于或等于1/2fM的采樣值來確定,即采樣點的重復頻率f≥2fM。圖為模擬信號和采樣樣本的示意圖。 </p><p>  時域采樣定理是采樣誤差理論、隨機變量采樣理論和多變量采樣理論的基礎(chǔ)。對于時間上受限制的連續(xù)信號f(t)(即當│t│>T時,f(t)=0,這里T=T2-T1是信號的持續(xù)時間),若其頻譜為F(ω),則可在頻域上用一系列離散

9、的采樣值 </p><p><b> ?。?-1)</b></p><p>  采樣值來表示,只要這些采樣點的頻率間隔 </p><p><b> ?。?-2)</b></p><p>  3.1.2 采樣頻率</p><p>  采樣頻率,也稱為采樣速度或者采樣率,定義了每

10、秒從連續(xù)信號中提取并組成離散信號的采樣個數(shù),它用赫茲(Hz)來表示。采樣頻率的倒數(shù)是采樣周期或者叫作采樣時間,它是采樣之間的時間間隔。通俗的講采樣頻率是指計算機每秒鐘采集多少個聲音樣本,是描述聲音文件的音質(zhì)、音調(diào),衡量聲卡、聲音文件的質(zhì)量標準。</p><p>  采樣頻率只能用于周期性采樣的采樣器,對于非周期性采樣的采樣器沒有規(guī)則限制。 采樣頻率的常用的表示符號是 fs。 通俗的講采樣頻率是指計算機每秒鐘采集多

11、少個聲音樣本,是描述聲音文件的音質(zhì)、音調(diào),衡量聲卡、聲音文件的質(zhì)量標準。采樣頻率越高,即采樣的間隔時間越短,則在單位時間內(nèi)計算機得到的聲音樣本數(shù)據(jù)就越多,對聲音波形的表示也越精確。采樣頻率與聲音頻率之間有一定的關(guān)系,根據(jù)采樣定理,只有采樣頻率高于聲音信號最高頻率的兩倍時,才能把數(shù)字信號表示的聲音還原成為原來的聲音。這就是說采樣頻率是衡量聲卡采集、記錄和還原聲音文件的質(zhì)量標準。采樣位數(shù)和采樣率對于音頻接口來說是最為重要的兩個指標,也是選擇

12、音頻接口的兩個重要標準。無論采樣頻率如何,理論上來說采樣的位數(shù)決定了音頻數(shù)據(jù)最大的力度范圍。每增加一個采樣位數(shù)相當于力度范圍增加了6dB。采樣位數(shù)越多則捕捉到的信號越精確。對于采樣率來說你可以想象它類似于一個照相機,44.1kHz意味著音頻流進入計算機時計算機每秒會對其拍照達441000次。顯然采樣率越高,計算機攝取的圖片越多,對于原始音頻的還原也越加精確. </p><p><b>  4、設(shè)計過程&

13、lt;/b></p><p>  4.1 語音文件在MATLAB平臺上的錄入與打開</p><p>  單擊自己的電腦開始程序,選擇所有程序,接著選擇附件,再選擇娛樂,最后選擇錄音。自己錄入“畢業(yè)設(shè)計”語音信號,然后保存在MATLAB文件夾里面,命名為“wangqingtian.wav”。</p><p>  利用MATLAB中的wavread命令來讀入(采集

14、)語音信號,將它賦值給某一向量。</p><p>  [y,fs,bits]=wavread(' [N1 N2]);用于讀取語音,采樣值放在向量y中,fs表示采樣頻率(Hz),bits表示采樣位數(shù)。[N1 N2]表示讀取從N1點到N2點的值(若只有一個N的點則表示讀取前N點的采樣值)。</p><p>  4.2 原始語音信號頻譜分析及仿真</p><p>

15、  利用MATLAB中的wavread命令來讀入(采集)語音信號,將它賦值給某一向量。再將該向量看作一個普通的信號,對其進行FFT變換實現(xiàn)頻譜分析,再依據(jù)實際情況對它進行濾波。對于波形圖與頻譜圖(包括濾波前后的對比圖)都可以用 MATLAB畫出。我們還可以通過sound命令來對語音信號進行回放,以便在聽覺上來感受聲音的變化。選擇設(shè)計此方案,是對數(shù)字信號處理的一次實踐。在數(shù)字信號處理的課程學習過程中,我們過多的是理論學習,幾乎沒有進行實踐

16、方面的運用。這個課題正好是對數(shù)字語音處理的一次有利實踐,而且語音處理也可以說是信號處理在實際應用中很大眾化的一方面。這個方案用到的軟件也是在數(shù)字信號處理中非常通用的一個軟件——MATLAB軟件。所以這個課題的設(shè)計過程也是一次數(shù)字信號處理在MATLAB中應用的學習過程。課題用到了較多的MATLAB語句,而由于課題研究范圍所限,真正與數(shù)字信號有關(guān)的命令函數(shù)卻并不多。sound(x,fs,bits); 用于對聲音的回放。向量y則就代表了一個信

17、號(也即一個復雜的“函數(shù)表達式”)也就是說可以像處理一個信號表達式一樣處理這個聲音信號。</p><p>  FFT的MATLAB實現(xiàn):</p><p>  在MATLAB的信號處理工具箱中函數(shù)FFT和IFFT用于快速傅立葉變換和逆變換。下面介紹這些函數(shù)。</p><p>  函數(shù)FFT用于序列快速傅立葉變換。</p><p>  函數(shù)的一種

18、調(diào)用格式為 y=fft(x)</p><p>  其中,x是序列,y是序列的FFT,x可以為一向量或矩陣,若x為一向量,y是x的FFT。且和x相同長度。若x為一矩陣,則y是對矩陣的每一列向量進行FFT。</p><p>  如果x長度是2的冪次方,函數(shù)fft執(zhí)行高速基-2FFT算法;否則fft執(zhí)行一種混合基的離散傅立葉變換算法,計算速度較慢。</p><p>  函

19、數(shù)FFT的另一種調(diào)用格式為y=fft(x,N)</p><p>  式中,x,y意義同前,N為正整數(shù)。函數(shù)執(zhí)行N點的FFT。若x為向量且長度小于N,則函數(shù)將x補零至長度N。若向量x的長度大于N,則函數(shù)截短x使之長度為N。若x 為矩陣,按相同方法對x進行處理。</p><p>  經(jīng)函數(shù)fft求得的序列y一般是復序列,通常要求其幅值和相位。MATLAB提供求復數(shù)的幅值和相位函數(shù):abs,an

20、gle,這些函數(shù)一般和 FFT同時使用。</p><p>  函數(shù)abs(x)用于計算復向量x的幅值,函數(shù)angle(x)用于計算復向量的相角,介于 和 之間,以弧度表示。函數(shù)unwrap(p)用于展開弧度相位角p ,當相位角絕對變化超過 時,函數(shù)把它擴展至 。</p><p>  用MATLAB工具箱函數(shù)fft進行頻譜分析時需注意:</p><p> ?。?)函數(shù)

21、fft返回值y的數(shù)據(jù)結(jié)構(gòu)對稱性</p><p>  一般而言,對于N點的x(n)序列的FFT是N點的復數(shù)序列,其點n=N/2+1對應Nyquist頻率,作頻譜分析時僅取序列X(k)的前一半,即前N/2點即可。X(k)的后一半序列和前一半序列時對稱的。</p><p><b> ?。?)頻率計算</b></p><p>  若N點序列x(n)(n

22、=0,1,…,N-1)是在采樣頻率 下獲得的。它的FFT也是N點序列,即X(k)(k=0,1,2,…,N-1),則第k點所對應實際頻率值為f=k*f /N.</p><p> ?。?)作FFT分析時,幅值大小與FFT選擇點數(shù)有關(guān),但不影響分析結(jié)果。</p><p>  下面的一段程序是語音信號在MATLAB中的最簡單表現(xiàn),它實現(xiàn)了語音的讀入打開,以及繪出了語音信號的波形頻譜圖。</p

23、><p>  [x,fs,bits]=wavread('C:\Users\Administrator\Desktop\數(shù)字信號處理課程設(shè)計\1.wav’);</p><p>  sound(x,fs,bits);</p><p>  X=fft(x,4096);</p><p>  magX=abs(X);</p><

24、p>  angX=angle(X);</p><p>  subplot(221);plot(x);title('原始信號波形');</p><p>  subplot(222);plot(X); title('原始語音信號采樣后的頻譜圖‘)</p><p>  subplot(223);plot(magX);title('原始

25、信號幅值');</p><p>  subplot(224);plot(angX);title('原始信號相位');</p><p>  程序運行可以聽到聲音,得到的圖形為:(</p><p>  圖4—1 原始語音波形、幅值、相位以及采樣后頻譜圖</p><p>  4.3 加噪語音信號頻譜分析及仿真</p&g

26、t;<p>  (1)正弦波信號加入原始語音信號</p><p>  前面已經(jīng)介紹了MATLAB軟件相關(guān)知識,那么我們怎么在沒沒ATLAB平臺上實現(xiàn)對一段原始語音信號加入一個正弦波信號呢?</p><p>  下面一段程序?qū)崿F(xiàn)了在原始語音信號加入正弦波信號。程序見附錄5 </p><p>  分析此段程序可知,此程序是先對原始語音信號做時域波形分析和

27、頻譜分析,然后再對加噪的語音信號做時域波形分析和頻譜分析。</p><p>  首先通過MATLAB中調(diào)用和回放語音信號命令來實現(xiàn)對原始語音信號的調(diào)用和回放,程序如下:</p><p>  [y,fs,bits]=wavread('C:\Users\Administrator\Desktop\數(shù)字信號處理課程設(shè)計\1.wav');</p><p> 

28、 sound(y,fs)</p><p>  由于在MATLAB中,如要實現(xiàn)兩個信號的相加減,那么兩個信號的長度和維度都要一樣才能相加減。程序中:n=length(y) 用于計算信號的長度和選取變換的點數(shù)。然后用傅里葉變換到頻域:y_p=fft(y,n);通過函數(shù) f=fs*(0:n/2-1)/n;計算出對應點的頻率,然后繪制出原始語音信號的時域波形和頻譜圖。圖形如下:(圖4—2)</p>&l

29、t;p>  圖4—2 原始語音信號采樣后時域波形和頻譜圖</p><p>  上段程序中,函數(shù)noise是頻率為3000Hz的正弦波信號噪音,語句y_z=y+noise實現(xiàn)了兩個信號的相加,然后繪制加噪后的語音信號時域波形和頻譜圖并回放加噪后的語音信號。加噪后的時域波形和頻譜圖如下:(圖4—3)</p><p>  圖4-3 加噪語音信號時域波形和頻譜圖</p><

30、;p>  如上所示,通過對加噪前和加噪后語音信號的圖像的對比和對語音信號回放的人耳感知可以知道,加入正弦波信號后頻譜圖和時域波形并沒有什么明顯的變化,而人耳聽到的聲音也幾乎沒有什么變化。</p><p> ?。?)隨機噪音信號加入原始語音信號</p><p>  matlab函數(shù)randn:產(chǎn)生正態(tài)分布的隨機數(shù)或矩陣的函數(shù) </p><p>  產(chǎn)生均值為0,

31、方差 σ^2 = 1,標準差σ = 1的正態(tài)分布的隨機數(shù)或矩陣的函數(shù)。用法: Y = randn(n) 返回一個n*n的隨機項的矩陣。如果n不是個數(shù)量,將返回錯誤信息。Y = randn(m,n) 或 Y = randn([m n]) 返回一個m*n的隨機項矩陣。Y = randn(m,n,p,...) 或 Y = randn([m n p...])產(chǎn)生隨機數(shù)組。

32、 Y = randn(size(A)) 返回一個和A有同樣維數(shù)大小的隨機數(shù)組。 randn返回一個每次都變化的數(shù)量。</p><p>  下面一段程序?qū)崿F(xiàn)了利用randn函數(shù)把一段隨機噪音信號加入原始語音信號的信號處理過程:見附錄2</p><p>  語句 L=length(y) n

33、oise=0.1*randn(L,2) y_z=y+noise;sound(y_z,fs)</p><p>  加噪后語音信號的時域波形、頻譜圖(圖4—4)</p><p>  圖4-4 加噪語音信號時域波形和頻譜圖</p><p>  通過對兩張圖片的對比,很明顯可以看加噪后的語音信號時域波形比原始語音信號渾濁了許多,在時間軸上可以明顯看出0—0.5S的幅值增大了

34、;通過對原始語音信號的頻譜圖與加噪后的語音信號頻譜圖的對比,也可以看出在頻率5000Hz以后的頻率幅值發(fā)生了明顯的增加。</p><p>  加噪后的語音信號在聽覺上比原始語音信號要渾濁很多,而且還有吱吱嘎嘎的混雜音。</p><p><b>  4.4 去噪及仿真</b></p><p> ?。?)FIR濾波器法去噪</p>&

35、lt;p>  通過對上一節(jié)中加噪語音信號和原始語音信號頻譜圖對比可以知道,噪音大部分是Hz大于5000的部分,故設(shè)計低通濾波器進行濾波處理。接下來我們要用設(shè)計的FIR低通濾波器對上一節(jié)中加噪語音信號進行濾波處理。</p><p>  用自己設(shè)計的FIR數(shù)字低通濾波器對加噪的語音信號進行濾波時,在Matlab中,F(xiàn)IR濾波器利用函數(shù)fftfilt對信號進行濾波。函數(shù)fftfilt用的是重疊相加法實現(xiàn)線性卷積的

36、計算。調(diào)用格式為:y=fftfilter(h,x,M)。其中,h是系統(tǒng)單位沖擊響應向量;x是輸入序列向量;y是系統(tǒng)的輸出序列向量;M是有用戶選擇的輸入序列的分段長度,缺省時,默認的輸入向量的重長度M=512。</p><p>  用設(shè)計好的FIR數(shù)字低通濾波器對加噪語音信號的濾波程序:見附錄3</p><p>  得到的圖像如下:(圖4—5)</p><p>  圖

37、4-5 FIR濾波前和濾波后波形及頻譜</p><p>  分析:從以上四圖可以很明顯和直觀的看出原始語音信號和加噪語音信號時域波形和頻譜圖的區(qū)別。加噪后的語音信號的時域波形比原始語音信號要模糊得多,頻譜圖則是在頻率5000Hz以后出現(xiàn)了明顯的變化。</p><p>  再通過濾波前的信號波形和頻譜圖的對比,可以明顯看出濾波后的波形開始變得清晰了,有點接近原始信號的波形圖了。濾波后信號的頻

38、譜圖也在5000Hz以后開始逐漸接近原始語音信號的頻譜圖。</p><p>  再從對語音信號的回放,人耳可以明顯辨別出加噪后的語音信號比較渾濁,還有很明顯嘎吱嘎吱的雜音在里面。濾波后,語音信號較加噪后的信號有了明顯的改善,基本可以聽清楚了,而且雜音也沒有那么強烈,但是聲音依然沒有原始語音信號那么清晰脆耳。</p><p> ?。?)IIR濾波器法去噪</p><p&g

39、t;  同樣,也設(shè)計一個IIR低通濾波器對加噪語音信號進行內(nèi)部處理。程序見附錄4</p><p>  得到下面的圖形:如(圖4-6)</p><p>  圖4-6 IIR濾波前和濾波后波形及頻譜</p><p>  5、 MATLAB源程序為:見附錄</p><p><b>  6、 數(shù)據(jù)分析</b></p>

40、<p>  IIR數(shù)字濾波器采用遞歸型結(jié)構(gòu),即結(jié)構(gòu)上帶有反饋環(huán)路。IIR濾波器運算結(jié)構(gòu)通常由延時、乘以系數(shù)和相加等基本運算組成,可以組合成直接型、正準型、級聯(lián)型、并聯(lián)型四種結(jié)構(gòu)形式,都具有反饋回路。由于運算中的舍入處理,使誤差不斷累積,有時會產(chǎn)生微弱的寄生振蕩。 </p><p> ?。?)IIR數(shù)字濾波器的相位特性不好控制,對相位要求較高時,需加相位校準網(wǎng)絡。FIR濾波器則要求較低。</p&

41、gt;<p> ?。?)IIR濾波器運算誤差大,有可能出現(xiàn)極限環(huán)振蕩,F(xiàn)IR相比之下運算誤差較小,不會出現(xiàn)極限環(huán)振蕩。</p><p> ?。?)IIR幅頻特性精度很高,不是線性相位的,可以應用于對相位信息不敏感的音頻信號上; </p><p> ?。?)與FIR濾波器的設(shè)計不同,IIR濾波器設(shè)計時的階數(shù)不是由設(shè)計者指定,而是根據(jù)設(shè)計者輸入的各個濾波器參數(shù)(截止頻率、通帶濾紋

42、、阻帶衰減等),由軟件設(shè)計出滿足這些參數(shù)的最低濾波器階數(shù)。在MATLAB下設(shè)計不同類型IIR濾波器均有與之對應的函數(shù)用于階數(shù)的選擇。 </p><p> ?。?)IIR單位響應為無限脈沖序列FIR單位響應為有限的 </p><p> ?。?)FIR幅頻特性精度較之于iir低,但是線性相位,就是不同頻率分量的信號經(jīng)過FIR濾波器后他們的時間差不變。這是很好的性質(zhì)。 </p>&

43、lt;p> ?。?)IIR濾波器有噪聲反饋,而且噪聲較大,F(xiàn)IR濾波器噪聲較小。</p><p>  FIR幅頻特性精度較之于iir低,但是線性相位,就是不同頻率分量的信號經(jīng)過FIR濾波器后他們的時間差不變。這是很好的性質(zhì)。</p><p><b>  7、總結(jié)</b></p><p>  語音信號處理是語音學與數(shù)字信號處理技術(shù)相結(jié)合的交

44、叉學科,課題在這里不討論語音學,而是將語音當做一種特殊的信號,即一種“復雜向量”來看待。也就是說,課題更多的還是體現(xiàn)了數(shù)字信號處理技術(shù)。</p><p>  從課題的中心來看,課題“基于MATLAB的有噪聲語音信號處理”是希望將數(shù)字信號處理技術(shù)應用于某一實際領(lǐng)域,這里就是指對語音及加噪處理。作為存儲于計算機中的語音信號,其本身就是離散化了的向量,我們只需將這些離散的量提取出來,就可以對其進行處理了。這一過程的實現(xiàn)

45、,用到了處理數(shù)字信號的強有力工具MATLAB。通過MATLAB里幾個命令函數(shù)的調(diào)用,很輕易的在實際語音與數(shù)字信號的理論之間搭了一座橋。</p><p>  課題的特色在于它將語音信號看作一個向量,于是就把語音數(shù)字化了。那么,就可以完全利用數(shù)字信號處理的知識來解決語音及加噪處理問題。我們可以像給一般信號做頻譜分析一樣,來對語音信號做頻譜分析,也可以較容易的用數(shù)字濾波器來對語音進行濾波處理。通過比較加噪前后,語音的頻

46、譜和語音回放,能明顯的感覺到加入噪聲后回放的聲音與原始的語音信號有很大的不同,前者隨較尖銳的干擾嘯叫聲。從含噪語音信號的頻譜圖中可以看出含噪聲的語音信號頻譜,在整個頻域范圍內(nèi)分是布均勻。其實,這正是干擾所造成的。通過濾波前后的對比,低通濾波后效果最好,高通濾波后的效果最差。由此可見,語音信號主要分布在低頻段,而噪聲主要分布在高頻段。</p><p><b>  8、收獲與體會</b><

47、/p><p>  本次課程設(shè)計選題及進行過程中得到**老師等的悉心指導。對報告的書寫格式及內(nèi)容,老師多次幫助我分析思路,開拓視角。在我遇到困難的時候,老師給予我最大的支持和鼓勵。指導老師嚴謹求實的治學態(tài)度,踏實堅韌的工作精神,值得我學習。在此,謹向**老師等致以誠摯的謝意。同時還要感謝我的同學,尤其是我們同一課題的搭檔,我們花費課很多的時間和精力。相互之間幫忙協(xié)作,上網(wǎng)搜索相關(guān)資料,到圖書館查閱相關(guān)文獻,遇到難題,共

48、同商討。解決不了的問題,我們就像老師和其他同學虛心請教。最終,我們一起解決了一個又一個難題,雖然,我們有過爭吵,但是在真理面前,我們的行動是一致的。在二周的課程設(shè)計過程中, 學院的機房工作人員給我們提供的便利的條件,天氣寒冷,實驗室空調(diào)一直開放,我們覺得很溫暖,在此,表達對工作人員的謝意。在遇到課題技術(shù)難題時,我和同組的同學到圖書館廣泛查閱相關(guān)資料,圖書館也熱情地老師幫助,在此,向他們表示致謝。當然,我們也要感謝信息工程學院,感謝他們給

49、我們提供這次實習的機會。我院采取把理論知識與實踐相結(jié)合教學模式,讓學生的知識源于課堂而走出課堂,真正做到了“為了學生的一切,一切為了學生”。 </p><p>  最后,再次感謝所有幫助過我們的老師和同學!</p><p><b>  9、參考文獻</b></p><p>  [1]樓順天,余衛(wèi).基于MATLAB的系統(tǒng)與設(shè)計——控制系統(tǒng)[M].

50、西安.西安電子科技大學出版社.</p><p>  [2]云舟工作室.MATLAB教學建模基礎(chǔ)教程[M].北京:人民郵電出版社,2001,7</p><p>  [3]高西全,丁玉美.數(shù)字信號處理(第三版).西安:西安電子科技大學出版社</p><p>  [4]張志涌,《精通MATLAB6.5》, 北京北航電子版,2002.12</p><p&

51、gt;  [5]孫家廣,楊長貴.,《計算機圖形學》, 清華大學出版社,1995.5</p><p>  [6]閆敬文,《數(shù)字圖像處理MATLAB版》,國防工業(yè)出版社,2007.2</p><p><b>  附錄</b></p><p><b>  附錄1</b></p><p>  [y,fs,b

52、its]=wavread('C:\Users\Administrator\Desktop\數(shù)字信號處理課程設(shè)計\1.wav');</p><p>  sound(y,fs)</p><p>  n=length(y)</p><p>  y_p=fft(y,n);</p><p>  f=fs*(0:n/2-1)/n;<

53、/p><p><b>  figure(1)</b></p><p>  subplot(2,1,1);</p><p><b>  plot(y);</b></p><p>  title('原始語音信號采樣后時域波形');</p><p>  xlabel(&

54、#39;時間軸')</p><p>  ylabel('幅值 A')</p><p>  subplot(2,1,2);</p><p>  plot(f,abs(y_p(1:n/2)));</p><p>  title('原始語音信號采樣后的頻譜圖');</p><p>  

55、xlabel('頻率Hz');</p><p>  ylabel('頻率幅值');</p><p>  noise=1*sin(2*pi*3000*n);</p><p>  y_z=y+noise;</p><p>  sound(y_z,fs)</p><p>  L=length(

56、y_z);</p><p>  y_zp=fft(y_z,L);</p><p>  f=fs*(0:L/2-1)/L;</p><p><b>  figure(2)</b></p><p>  subplot(2,1,1);</p><p>  plot(y_z);</p>&l

57、t;p>  title('加噪語音信號時域波形');</p><p>  xlabel('時間軸')</p><p>  ylabel('幅值 A')</p><p>  subplot(2,1,2);</p><p>  plot(f,abs(y_zp(1:L/2)));</p&g

58、t;<p>  title('加噪語音信號頻譜圖');</p><p>  xlabel('頻率Hz');</p><p>  ylabel('頻率幅值');</p><p><b>  附錄2</b></p><p>  [y,fs,bits]=wavrea

59、d('C:\Users\Administrator\Desktop\數(shù)字信號處理課程設(shè)計\1.wav');</p><p>  sound(y,fs)</p><p>  n=length(y)</p><p>  y_p=fft(y,n);</p><p>  f=fs*(0:n/2-1)/n;</p><

60、;p><b>  figure(1)</b></p><p>  subplot(2,1,1);</p><p><b>  plot(y);</b></p><p>  title('原始語音信號采樣后的時域波形');</p><p>  xlabel('時間軸

61、9;)</p><p>  ylabel('幅值A(chǔ)')</p><p>  subplot(2,1,2);</p><p>  plot(f,abs(y_p(1:n/2)));</p><p>  title('原始語音信號采樣后的頻譜圖');</p><p>  xlabel('

62、;頻率Hz');</p><p>  ylabel('頻率幅值');</p><p>  L=length(y)</p><p>  noise=0.1*randn(L,2);</p><p>  y_z=y+noise;</p><p>  sound(y_z,fs)</p>&

63、lt;p>  n=length(y);</p><p>  y_zp=fft(y_z,n);</p><p>  f=fs*(0:n/2-1)/n;</p><p><b>  figure(2)</b></p><p>  subplot(2,1,1);</p><p>  plot(y_

64、z);</p><p>  title('加噪語音信號時域波形');</p><p>  xlabel('時間軸')</p><p>  ylabel('幅值A(chǔ)')</p><p>  subplot(2,1,2);</p><p>  plot(f,abs(y_zp(1

65、:n/2)));</p><p>  title('加噪語音信號頻譜圖');</p><p>  xlabel('頻率Hz');</p><p>  ylabel('頻率幅值');</p><p><b>  附錄3</b></p><p>  [y

66、,fs,bits]=wavread(C:\Users\Administrator\Desktop\數(shù)字信號處理課程設(shè)計\1.wav');</p><p>  sound(y,fs)</p><p>  n=length(y)</p><p>  y_p=fft(y,n);</p><p>  f=fs*(0:n/2-1)/n;<

67、/p><p><b>  figure(1)</b></p><p>  subplot(2,1,1);</p><p><b>  plot(y);</b></p><p>  title('原始語音信號采樣后的時域波形');</p><p>  xlabel(

68、'時間軸')</p><p>  ylabel('幅值A(chǔ)')</p><p>  subplot(2,1,2);</p><p>  plot(f,abs(y_p(1:n/2)));</p><p>  title('原始語音信號采樣后的頻譜圖');</p><p>  

69、xlabel('頻率Hz');</p><p>  ylabel('頻率幅值');</p><p>  L=length(y)</p><p>  noise=0.1*randn(L,2);</p><p>  y_z=y+noise;</p><p>  sound(y_z,fs)&l

70、t;/p><p>  n=length(y);</p><p>  y_zp=fft(y_z,n);</p><p>  f=fs*(0:n/2-1)/n;</p><p><b>  figure(2)</b></p><p>  subplot(2,1,1);</p><p&g

71、t;  plot(y_z);</p><p>  title('加噪語音信號時域波形');</p><p>  xlabel('時間軸')</p><p>  ylabel('幅值A(chǔ)')</p><p>  subplot(2,1,2);</p><p>  plot(f

72、,abs(y_zp(1:n/2)));</p><p>  title('加噪語音信號頻譜圖');</p><p>  xlabel('頻率Hz');</p><p>  ylabel('頻率幅值');</p><p><b>  Ft=5000;</b></p>

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

74、t;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];</p><p>  dev=[p s];</p

75、><p>  [n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev);</p><p>  b21=fir1(n21,wn21,Kaiser(n21+1,beta));</p><p>  [h,w]=freqz(b21,1);</p><p>  plot(w/pi,abs(h));</p>&

76、lt;p>  title('FIR低通濾波器');</p><p>  x=fftfilt(b21,y_z);</p><p>  X=fft(x,n);</p><p>  figure(4);</p><p>  subplot(2,2,1);plot(f,abs(y_zp(1:n/2)));</p>

77、<p>  title('濾波前信號的頻譜');</p><p>  subplot(2,2,2);plot(f,abs(X(1:n/2)));</p><p>  title('濾波后信號的頻譜');</p><p>  subplot(2,2,3);plot(y_z);</p><p>  tit

78、le('濾波前信號的時域波形')</p><p>  subplot(2,2,4);plot(x);</p><p>  title('濾波后信號的時域波形')</p><p>  sound(x,fs,bits)</p><p><b>  附錄4</b></p><

79、p><b>  Ft=8000;</b></p><p><b>  Fp=1000;</b></p><p><b>  Fs=1200;</b></p><p>  wp=2*pi*Fp/Ft;</p><p>  ws=2*pi*Fs/Ft;</p>

80、<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ù)和截止頻率</p><p>  [b11,a11]=butter(n11,wn11,'s');

81、 %求S域的頻率響應的參數(shù)</p><p>  [num11,den11]=bilinear(b11,a11,0.5); %雙線性變換實現(xiàn)S域到Z域的變換</p><p>  [h,w]=freqz(num11,den11); %根據(jù)參數(shù)求出頻率響應</p><p>  plot(w*8000*0.5/pi,abs(h));</p>&

82、lt;p>  legend('用切比雪夫lchoby1設(shè)計');</p><p><b>  grid;</b></p><p>  [y,fs,nbits]=wavread ('C:\Users\Administrator\Desktop\數(shù)字信號處理課程設(shè)計\1.wav');</p><p>  n =

83、 length (y) ; %求出語音信號的長度</p><p>  noise=0.01*randn(n,2); %隨機函數(shù)產(chǎn)生噪聲</p><p>  s=y+noise; %語音信號加入噪聲</p><p>  S=fft(s);

84、 %傅里葉變換</p><p>  z11=filter(num11,den11,s);</p><p>  sound(z11);</p><p>  m11=fft(z11); %求濾波后的信號</p><p>  subplot(2,2,1);</p><p&g

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論