音樂信號(hào)濾波去噪——使用BOHMANWIN窗設(shè)計(jì)的FIR濾波器_第1頁(yè)
音樂信號(hào)濾波去噪——使用BOHMANWIN窗設(shè)計(jì)的FIR濾波器_第2頁(yè)
音樂信號(hào)濾波去噪——使用BOHMANWIN窗設(shè)計(jì)的FIR濾波器_第3頁(yè)
音樂信號(hào)濾波去噪——使用BOHMANWIN窗設(shè)計(jì)的FIR濾波器_第4頁(yè)
音樂信號(hào)濾波去噪——使用BOHMANWIN窗設(shè)計(jì)的FIR濾波器_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 郭艷芳 音樂信號(hào)濾波去噪使用BOHMANWIN窗設(shè)計(jì)的FIR濾波器 第 23 頁(yè) 共 23 頁(yè)音樂信號(hào)濾波去噪使用BOHMANWIN窗設(shè)計(jì)的FIR濾波器學(xué)生姓名:郭艷芳 指導(dǎo)老師:黃紅兵摘 要 本課程設(shè)計(jì)內(nèi)容是雙音頻信號(hào)濾波去噪使用BOHMANWIN窗設(shè)計(jì)的FIR濾波器,設(shè)計(jì)平臺(tái)為MATLAB。在課程設(shè)計(jì)中,首先按照要求有一段音樂信號(hào),然后在MATLAB中對(duì)該信號(hào)加噪聲,比較原信號(hào)與加噪信號(hào)的時(shí)域與頻域圖;隨后用BOHMANWIN窗設(shè)計(jì)一個(gè)FIR濾波器,畫圖觀察該濾波器的性能;其次,使用該濾波器對(duì)加噪聲的信號(hào)進(jìn)行濾波去噪,最后,分別比較原信號(hào)、加噪信號(hào)和濾波去噪后信號(hào)的時(shí)域與頻域圖,以檢測(cè)濾

2、波器是否能夠?qū)崿F(xiàn)雙音頻信號(hào)濾波去噪的效果。通過程序調(diào)試及完善,該設(shè)計(jì)基本滿足設(shè)計(jì)要求。關(guān)鍵詞 雙音頻;濾波去噪;FIR濾波器;BOHMANWIN窗;MATLAB1 引 言數(shù)字濾波器是一種用來過濾時(shí)間離散信號(hào)的數(shù)字系統(tǒng),它是通過對(duì)抽樣數(shù)據(jù)進(jìn)行數(shù)學(xué)處理來達(dá)到頻域?yàn)V波的目的。數(shù)字信號(hào)處理與模擬信號(hào)處理是信號(hào)處理的子集。數(shù)字信號(hào)處理的目的是對(duì)真實(shí)世界的連續(xù)模擬信號(hào)進(jìn)行測(cè)量或?yàn)V波。隨著現(xiàn)代通信的數(shù)字化,數(shù)字濾波器變得更加重要。數(shù)字濾波器的種類很多,但總的來說可以分成兩大類,一類是經(jīng)典濾波器,另一類可稱為現(xiàn)代濾波器。從濾波特性方面考慮,數(shù)字濾波器可分成數(shù)字高通、數(shù)字低通、數(shù)字帶通和數(shù)字帶阻等濾波器。從實(shí)現(xiàn)

3、方法上考慮,將濾波器分成兩種,一種稱為無(wú)限脈沖響應(yīng)濾波器,簡(jiǎn)稱IIR(Infinite Impulse Response)濾波器,另一種稱為FIR(Finite Impulse Response)濾波器1。設(shè)計(jì)FIR數(shù)字濾波器的方法有窗函數(shù)法、頻率采樣法和等波紋最佳逼近法等。1.1 課程設(shè)計(jì)目的數(shù)字信號(hào)處理課程設(shè)計(jì)是數(shù)字信號(hào)處理課程的重要實(shí)踐性環(huán)節(jié),是學(xué)生在校期間一次較全面的工程師能力訓(xùn)練,在實(shí)現(xiàn)學(xué)生總體培養(yǎng)目標(biāo)中占有重要地位。要求學(xué)生鞏固加深、綜合運(yùn)用所學(xué)的專業(yè)理論知識(shí),對(duì)通信工程領(lǐng)域各種技術(shù)的DSP實(shí)現(xiàn)的設(shè)計(jì)有較熟練的掌握。使學(xué)生通過自身的實(shí)踐,對(duì)DSP的設(shè)計(jì)程序、內(nèi)容和方法有更深入的掌握

4、,提高實(shí)際運(yùn)用的能力。并可綜合運(yùn)用這些知識(shí)解決一定的實(shí)際問題,使學(xué)生在所學(xué)知識(shí)的綜合運(yùn)用能力上以及分析問題、解決問題能力上得到一定的提高。1.2課程設(shè)計(jì)的要求(1)通過MATLAB7.0實(shí)現(xiàn)模擬信號(hào)數(shù)字化、信道編解碼、基帶數(shù)字信號(hào)編解碼、數(shù)字信號(hào)的調(diào)制解調(diào)和語(yǔ)音信號(hào)的濾波去噪等課題,掌握數(shù)字信號(hào)的分析方法和處理方法。(2)按要求編寫課程設(shè)計(jì)報(bào)告書,能正確闡述設(shè)計(jì)和實(shí)驗(yàn)結(jié)果等等。(3)通過課程設(shè)計(jì)培養(yǎng)學(xué)生嚴(yán)謹(jǐn)?shù)膽B(tài)度,認(rèn)真的工作作風(fēng)和團(tuán)隊(duì)協(xié)作精神。(4)在老師的指導(dǎo)下,要求每個(gè)學(xué)生獨(dú)立完成課程設(shè)計(jì)的全部?jī)?nèi)容。1.3設(shè)計(jì)平臺(tái)MATLAB是美國(guó)MathWorks公司生產(chǎn)的一個(gè)為科學(xué)和工程計(jì)算專門設(shè)計(jì)的

5、交互式大型軟件,是一個(gè)可以完成各種精確計(jì)算和數(shù)據(jù)處理的、可視化的、強(qiáng)大的計(jì)算工具。在歐美各高等院校,MATLAB已經(jīng)成為應(yīng)用線性代數(shù)、自動(dòng)控制理論、數(shù)據(jù)統(tǒng)計(jì)、數(shù)字信號(hào)處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真、圖像處理等高級(jí)課程的基本教學(xué)工具。它集圖示和精確計(jì)算于一身,在應(yīng)用數(shù)學(xué)、物理、化工、機(jī)電工程、醫(yī)藥、金融和其他需要進(jìn)行復(fù)雜數(shù)值計(jì)算的領(lǐng)域得到廣泛應(yīng)用。它不僅是一個(gè)在各類工程設(shè)計(jì)中便于使用的計(jì)算工具,而且也是一個(gè)在數(shù)學(xué)、數(shù)值分析和工程計(jì)算等課程教學(xué)中的優(yōu)秀的教學(xué)工具,在世界各地的高等院校中十分流行,在各類工業(yè)應(yīng)用中更有不俗的表現(xiàn)。MATLAB可以在幾乎所有的PC機(jī)和大型計(jì)算機(jī)上運(yùn)行,適用于Windo

6、ws、UNIX等各種系統(tǒng)平臺(tái)2。2 設(shè)計(jì)原理2.1 FIR濾波器FIR(Finite Impulse Response)濾波器:有限長(zhǎng)單位沖激響應(yīng)濾波器,是數(shù)字信號(hào)處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時(shí)具有嚴(yán)格的線性相頻特性,同時(shí)其單位抽樣響應(yīng)是有限長(zhǎng)的,因而濾波器是穩(wěn)定的系統(tǒng)。因此,F(xiàn)IR濾波器在通信、圖像處理、模式識(shí)別等領(lǐng)域都有著廣泛的應(yīng)用3。目前,F(xiàn)IR濾波器的硬件實(shí)現(xiàn)有以下幾種方式:(1)數(shù)字集成電路FIR濾波器一種是使用單片通用數(shù)字濾波器集成電路,這種電路使用簡(jiǎn)單,但是由于字長(zhǎng)和階數(shù)的規(guī)格較少,不易完全滿足實(shí)際需要。雖然可采用多片擴(kuò)展來滿足要求,但會(huì)增加體積和功耗,因

7、而在實(shí)際應(yīng)用中受到限制4。(2)DSP芯片F(xiàn)IR濾波器另一種是使用DSP芯片。DSP芯片有專用的數(shù)字信號(hào)處理函數(shù)可調(diào)用,實(shí)現(xiàn)FIR濾波器相對(duì)簡(jiǎn)單,但是由于程序順序執(zhí)行,速度受到限制。而且,就是同一公司的不同系統(tǒng)的DSP芯片,其編程指令也會(huì)有所不同,開發(fā)周期較長(zhǎng)。(3)可編程FIR濾波器還有一種是使用可編程邏輯器件,F(xiàn)PGACPLD。FPGA有著規(guī)整的內(nèi)部邏輯塊整列和豐富的連線資源,特別適合用于細(xì)粒度和高并行度結(jié)構(gòu)的FIR濾波器的實(shí)現(xiàn),相對(duì)于串行運(yùn)算主導(dǎo)的通用DSP芯片來說,并行性和可擴(kuò)展性都更好。有限長(zhǎng)單位沖激響應(yīng)(FIR)濾波器有以下特點(diǎn):(1) 系統(tǒng)的單位沖激響應(yīng)h(n)在有限個(gè)n值處不為

8、零;(2) 系統(tǒng)函數(shù)H(z)在|z|>0處收斂,極點(diǎn)全部在z=0處(因果系統(tǒng));(3) 結(jié)構(gòu)上主要是非遞歸結(jié)構(gòu),沒有輸出到輸入的反饋,但有些結(jié)構(gòu)中(例如頻率抽樣結(jié)構(gòu))也包含有反饋的遞歸部分。FIR濾波器的缺點(diǎn)在于它的性能不如同樣階數(shù)的IIR濾波器,不過由于數(shù)字計(jì)算硬件的飛速發(fā)展,這一點(diǎn)已經(jīng)不成為問題。再加上引入計(jì)算機(jī)輔助設(shè)計(jì),F(xiàn)IR濾波器的設(shè)計(jì)也得到極大的簡(jiǎn)化?;谏鲜鲈颍現(xiàn)IR濾波器比IIR濾波器的應(yīng)用更廣5。2.2窗口設(shè)計(jì)法窗函數(shù)設(shè)計(jì)法的基本思想是用FIRDF逼近洗完的濾波特性。設(shè)希望逼近的濾波器的頻率響應(yīng)函數(shù)為,其單位脈沖響應(yīng)為表示。為了設(shè)計(jì)簡(jiǎn)單方便,通常選擇為具有片段常數(shù)特性的

9、理想濾波器。因此是無(wú)限長(zhǎng)非因果序列,不能直接作為FIRDF的單位脈沖響應(yīng)。窗函數(shù)設(shè)計(jì)法就是截取為有限長(zhǎng)的一段因果序列,并用合適的窗函數(shù)進(jìn)行加權(quán)作為FIRDF的單位脈沖響應(yīng)。用窗函數(shù)法設(shè)計(jì)FIRDF的具體設(shè)計(jì)步驟如下:(1)構(gòu)造希望逼近的頻率響應(yīng)函數(shù)。(2)求出。(3)加窗得到FIRDF的單位脈沖響應(yīng)。式中,稱為窗函數(shù),其長(zhǎng)度為。如果要求設(shè)計(jì)第一類線性相位FIRDF,則要求關(guān)于點(diǎn)偶對(duì)稱。而關(guān)于點(diǎn)偶對(duì)稱,所以要求。同時(shí)要求關(guān)于點(diǎn)偶對(duì)稱。使用窗函數(shù)法設(shè)計(jì)時(shí)要滿足以下兩個(gè)條件:(1)窗譜主瓣盡可能地窄,以獲得較陡的過渡帶;(2)盡量減少窗譜的最大旁瓣的相對(duì)幅度,也就是使能量盡量集中于主瓣,減小峰肩和波

10、紋,進(jìn)而增加阻帶的衰減。在實(shí)際工程中常用的窗函數(shù)有五種,即矩形窗、三角窗、漢寧窗、海明窗和凱澤窗。實(shí)際應(yīng)用的窗函數(shù),可分為以下主要類型:      (1)冪窗-采用時(shí)間變量某種冪次的函數(shù),如矩形、三角形、梯形或其它時(shí)間(t)的高次冪;      (2)三角函數(shù)窗-應(yīng)用三角函數(shù),即正弦或余弦函數(shù)等組合成復(fù)合函數(shù),例如漢寧窗、海明窗等;      (3)指數(shù)窗-采用指數(shù)時(shí)間函數(shù),如e-st形式,例如高斯窗等。常見窗函數(shù)性

11、能表如表2-1所示:表2-1 常見窗函數(shù)性能表名稱濾波器過渡帶寬最小阻帶衰減名稱濾波器過渡帶寬最小阻帶衰減矩形1.8/M21dBPARZENWIN6.6/M56db巴特利特6.1/M25dBFLATTOPWIN19.6/M108db漢寧6.2/M44dBGAUSSWIN5.8/M60db漢明6.6/M51dBBARTHANNWIN3.6/M40db布萊克曼11/M74dBBLACKMANHARRIS16.1/M109dbBOHMANWIN5.8/M51.5dbCHEBWIN15.2/M113dbNUTTALLWIN15.4/M108dbTUKEYWIN2.4/M22db2.3 BOHMANWI

12、N窗本課程設(shè)計(jì)的窗函數(shù)是選取BOHMANWIN窗,根據(jù)它的性質(zhì):過渡帶寬是5.8,最小阻帶衰減是51.1db,來設(shè)計(jì)一FIR濾波器。首先選定窗函數(shù)類型和長(zhǎng)度N之后,求出單位脈沖響應(yīng): 然后利用傅立葉變化求出。是否滿足要求,要進(jìn)行演算。一般在尾部加零使長(zhǎng)度滿足2的整數(shù)次冪,以便用FFT計(jì)算。如果要觀察細(xì)節(jié),補(bǔ)零點(diǎn)數(shù)增多即可。如果不滿足要求,則要重新選擇窗函數(shù)類型和長(zhǎng)度N ,再次驗(yàn)算,直至滿足要求。如果要求線性相位特性,則還必須滿足: 根據(jù)上式中的正負(fù)號(hào)和長(zhǎng)度N的奇偶性又將線性相位FIR濾波器分成四類。3設(shè)計(jì)步驟3.1 設(shè)計(jì)流程圖在這次的課程設(shè)計(jì)中,我做的內(nèi)容是使用BOHMANWIN窗設(shè)計(jì)的FIR

13、濾波器對(duì)音樂信號(hào)進(jìn)行濾波器去噪。經(jīng)過老師的講解與指導(dǎo),我的設(shè)計(jì)思路出來了,設(shè)計(jì)流程圖如下圖3.1所示:開始通過wavread函數(shù)進(jìn)行采樣通過對(duì)音樂信號(hào)加上0.2sin(fn*2*pi*t)的噪聲進(jìn)行頻譜分析通過BOHMANWIN窗設(shè)計(jì)數(shù)字濾波器畫出濾波器的頻率響應(yīng)用濾波器對(duì)音樂信號(hào)進(jìn)行濾波回放音樂信號(hào)結(jié)束下載一段格式為.wav的音樂信號(hào)比較濾波前后音樂信號(hào)的波形及頻譜圖3.1 設(shè)計(jì)流程圖3.2 音樂信號(hào)的選取及加噪在電腦中下載一個(gè)音樂播放器,下載一段音頻,將音頻轉(zhuǎn)化為.wav的文件,并將文件名命名為music.wav,然后再點(diǎn)擊文件/另存為,即可將該音樂的位置為e:郭艷芳music.wav。在

14、Matlab軟件平臺(tái)下,利用函數(shù)wavread對(duì)語(yǔ)音信號(hào)進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。采集完成后在信號(hào)中加入一個(gè)0.2sin(fn*2*pi*t)單頻噪聲。對(duì)應(yīng)程序如下:>> x,fs,bits=wavread('e:郭艷芳music.wav'); %讀取語(yǔ)音信號(hào)>>sound(x,fs,bits); % 按指定的采樣率和每樣本編碼位數(shù)回放所錄語(yǔ)音文件>>plot(x); %繪畫出原始音樂的樣本取樣圖,如圖3.2原始信號(hào)樣本圖所示3.2原始信號(hào)樣本圖>>N=length(x); % 計(jì)算信號(hào)x的長(zhǎng)度>>fn=500

15、0; % 單頻噪聲頻率>> t=0:1/fs:(N-1)/fs; % 計(jì)算時(shí)間范圍,樣本數(shù)除以采樣頻率>> x=x(:,1)' y=x+0.2sin(fn*2*pi*t); %在原信號(hào)上添加噪聲>>sound(y,fs,bits); % 應(yīng)該可以明顯聽出有尖銳的單頻嘯叫聲隨后,我對(duì)原信號(hào)和加噪信號(hào)信號(hào)進(jìn)行快速傅里葉變換,得到信號(hào)的頻譜特性,從而加深對(duì)頻譜特性的理解。程序如下:>> X=abs(fft(x); Y=abs(fft(y); % 對(duì)原始信號(hào)和加噪信號(hào)進(jìn)行fft變換>> X=X(1:N/2); Y=Y(1:N/2);

16、% 截取前半部分>> deltaf=fs/N; % 計(jì)算頻譜的譜線間隔>> f=0:deltaf:fs/2-deltaf; % 計(jì)算頻譜頻率范圍在這之后,我用繪圖命令分別畫出加噪前后信號(hào)的時(shí)域和頻域波形,布局為2*2的子圖,每個(gè)子圖都分別加上橫縱坐標(biāo),網(wǎng)格和標(biāo)題。繪圖程序如下,得到的波形圖如圖3.3所示:>>subplot(2,2,1);plot(t,x);axis(0,4,-1,1);xlabel('時(shí)間(單位:s)');ylabel('幅度');title('原始音樂信號(hào)');grid on ;>&g

17、t;subplot(2,2,2);plot(f,X);axis(0,8000,0,6000);xlabel('頻率(單位:Hz)');ylabel('幅度頻譜');title('原始音樂信號(hào)幅度譜圖');grid on ;>>subplot(2,2,3);plot(t,y);axis(0,4,-1,1);xlabel('時(shí)間(單位:s)');ylabel('幅度');title('加噪后音樂信號(hào)');grid on ;>>subplot(2,2,4);plot(f,Y);ax

18、is(0,8000,0,6000);xlabel('頻率(單位:Hz)');ylabel('幅度頻譜');title('加噪后音樂信號(hào)幅度譜圖');grid on ;圖3.3 加噪前后信號(hào)的時(shí)域和頻域圖通過對(duì)這個(gè)圖3.3進(jìn)行觀察,我們可以看到,在時(shí)域圖中,加噪后的信號(hào)的明顯被噪聲掩蓋了很多。在頻域圖中,我們可以看到,其他地方都大致相同,只有在頻率為5000赫茲處,有了一個(gè)尖脈沖,這就是噪聲。3.3 濾波器設(shè)計(jì)在該濾波器的設(shè)計(jì)中,我們給出該濾波器的性能指標(biāo)如下:,;As50dB,Rp1dB截止頻率也可以任意自選,在單頻噪聲干擾附近即可。最重要的是阻

19、帶截止db值的設(shè)置。這個(gè)值一定要根據(jù)我們使用的設(shè)計(jì)濾波器的方法來設(shè)定。我使用的是BOHMANWIN窗法,BOHMANWIN窗函數(shù)中,濾波器的過渡帶寬為5.8,最小阻帶衰減為51.5db。而阻帶截止db值必須小于或等于最小阻帶衰減,所以我將其設(shè)置為50db。在Matlab中,利用BOHMANWIN窗設(shè)計(jì)FIR濾波器,利用Matlab中的函數(shù)freqz畫出該濾波器的頻率響應(yīng)。首先,我們利用數(shù)字信號(hào)處理里面學(xué)過的知識(shí),根據(jù)自己選定的參數(shù),用指定的方法設(shè)計(jì)FIR濾波器,得到FIR濾波器的階數(shù)M。隨后調(diào)用BOHMANWIN (M)函數(shù)產(chǎn)生M階的BOHMAN窗。然后,調(diào)用自編ideal_lp函數(shù)計(jì)算理想帶

20、阻濾波器的脈沖響應(yīng)。最后,再調(diào)用自編freqz_m(h_bs,1)函數(shù)即可計(jì)算得到該濾波器的頻率特性。濾波器設(shè)計(jì)過程對(duì)應(yīng)的程序如下:>> fpd=4900;fsd=4950;fsu=5050;fpu=5100;Rp=1;As=50; % 帶阻濾波器設(shè)計(jì)指標(biāo)>> fcd=(fpd+fsd)/2;fcu=(fpu+fsu)/2;df=min(fsd-fpd),(fpu-fsu); % 計(jì)算上下邊帶中心頻率,和頻率間隔>> wcd=fcd/fs*2*pi;wcu=fcu/fs*2*pi;dw=df/fs*2*pi; % 將Hz為單位的模擬頻率換算為rad為單位的數(shù)

21、字頻率>> wsd=fsd/fs*2*pi;wsu=fsu/fs*2*pi;>> M=ceil(5.8*pi/dw)+1; % 計(jì)算BOHMANWIN窗設(shè)計(jì)該濾波器時(shí)需要的階數(shù)>> n=0:M-1; % 定義時(shí)間范圍>> w_boh= bohmanwin(M); % 產(chǎn)生M階的BOHMANWIN窗 >> hd_bs=ideal_lp(wcd,M)+ideal_lp(pi,M)-ideal_lp(wcu,M); % 調(diào)用自編函數(shù)計(jì)算理想帶阻濾波器的脈沖響應(yīng)>> h_bs=w_boh'.*hd_bs; % 用窗口法計(jì)算

22、實(shí)際濾波器脈沖響應(yīng)>> db,mag,pha,grd,w=freqz_m(h_bs,1); % 調(diào)用自編函數(shù)計(jì)算濾波器的頻率特性編寫相應(yīng)程序,畫出該帶阻濾波器的頻譜特性圖。如下圖3.4所示。>>figure(1)>>subplot(2,2,1);plot(w/pi,db);grid>>axis(0,0.3,-60,20)>>xlabel('w/pi');ylabel('db'); title('以db為單位的幅度特性');>>line(wsd/pi,wsd/pi,-60,20

23、,'color','r','linestyle','-','LineWidth',1);>>line(wsu/pi,wsu/pi,-60,20,'color','r','linestyle','-','LineWidth',1);>>line(0,1,-As,-As,'color','r','linestyle','-','LineWidth

24、',1);>>line(0,1,-Rp,-Rp,'color','r','linestyle','-','LineWidth',1);>>subplot(2,2,2);plot(w/pi,mag);grid>>axis(0,0.3,0,1.5)>>xlabel('w/pi');ylabel('幅度mag'); title('以線性為單位的幅度特性');>>subplot(2,2,3);plot(w/p

25、i,pha);grid>>axis(0,1.2,-4,4)>>xlabel('w/pi');ylabel('相位phg'); title('濾波器相位響應(yīng)圖');>>subplot(2,2,4);stem(n,h_bs);grid>>axis(0,3000,-0.5,1)>>xlabel('n');ylabel('h(n)'); title('濾波器響應(yīng)圖');圖 3.4 濾波器的頻譜特性圖3.4 信號(hào)濾波處理在將濾波器設(shè)計(jì)好后,我們用自己

26、設(shè)計(jì)的帶阻濾波器對(duì)采集的語(yǔ)音信號(hào)進(jìn)行濾波。在Matlab中,F(xiàn)IR濾波器利用函數(shù)fftfilt對(duì)信號(hào)進(jìn)行濾波,IIR濾波器利用函數(shù)filter對(duì)信號(hào)進(jìn)行濾波。程序如下:>> y_fil=filter(h_bs,1,y); % 用設(shè)計(jì)好的濾波器對(duì)加噪信號(hào)y進(jìn)行濾波>> Y_fil= abs(fft(y_fil);Y_fil=Y_fil(1:N/2);% 計(jì)算頻譜取前一半>>subplot(3,2,1);plot(t,x);grid on;>>axis(0,2,-1,1);>>xlabel('時(shí)間t');ylabel(&#

27、39;幅度');title('原始雙音頻信號(hào)時(shí)間x');>>subplot(3,2,2);plot(f,X);grid on;>>axis(0,6000,0,4000);>>xlabel('頻譜f');ylabel('幅度');title('原始雙音頻信號(hào)幅度譜x');>>subplot(3,2,3);plot(t,y);grid on;>>axis(0,2,-2,2);>>xlabel('時(shí)間t');ylabel('幅度

28、9;);title('加干擾雙音頻信號(hào)時(shí)間x1');>>subplot(3,2,4);plot(f,Y);grid on;>>axis(0,6000,0,4000);>>xlabel('頻譜f');ylabel('幅度');title('加干擾雙音頻信號(hào)幅度譜x1');>>subplot(3,2,5);plot(t,y_fil);grid on;>>axis(0,2,-1,1);>>xlabel('時(shí)間t');ylabel('幅度

29、9;);title('濾波后雙音頻信號(hào)時(shí)間y');>>subplot(3,2,6);plot(f,Y_fil);grid on;>>axis(0,6000,0,4000);>>xlabel('頻譜f');ylabel('幅度');title('濾波后雙音頻信號(hào)幅度譜Y');>>sound(y_fil,fs,bits); %應(yīng)該可以聽到與原語(yǔ)音信號(hào)基本相似的語(yǔ)音3.5 結(jié)果分析在將加噪信號(hào)濾波之后,我們將濾波前后語(yǔ)音信號(hào)的波形及頻譜圖相互比較。在同一張大圖里分別繪制原始信號(hào)x,加噪信號(hào)

30、想x1,濾波去噪信號(hào)y的時(shí)域波形和頻譜,以便比較和分析。經(jīng)過這段程序畫出來的三個(gè)信號(hào)的時(shí)域波形和頻譜圖如下圖3.4所示。圖 3.4三個(gè)信號(hào)的時(shí)域波形和頻譜圖比較從圖3.4中我們可以看出,原信號(hào)與濾波去噪信號(hào)的時(shí)域圖基本相似,只有邊緣部分有點(diǎn)差異;原信號(hào)與濾波去噪信號(hào)的頻譜圖波形也大致相似。通過觀察可以看到,加噪信號(hào)的時(shí)域圖中大部分都被加入的噪聲給遮蓋了,加噪信號(hào)的頻譜圖中,我們可以很明顯地看到與原信號(hào)頻譜圖相比,它在5000Hz處有一個(gè)尖脈沖,而濾波去噪信號(hào)的頻譜圖中該尖脈沖已經(jīng)消失,波形大致與原圖相似,可見濾波去噪效果較好。在將三個(gè)信號(hào)的時(shí)域波形和頻譜圖比較之后,我們還要通過回放去濾波去噪語(yǔ)

31、音信號(hào),來跟原信號(hào)相比,以檢驗(yàn)濾波器的效果。在Matlab中,函數(shù)sound可以對(duì)聲音進(jìn)行回放。其調(diào)用格式為:sound (x,fs,bits)。我用sound(y_fil,fs,bits)語(yǔ)句回放該濾波去噪信號(hào),便可以感覺到濾波后的語(yǔ)音信號(hào)與原信號(hào)差不多。4出現(xiàn)的問題及解決方法為期三周的課程設(shè)計(jì),我順利完成了音樂信號(hào)濾波去噪使用BOHMANWIN窗設(shè)計(jì)的FIR濾波器,前段時(shí)間,我們一直都在查閱相關(guān)資料,有不懂的就問老師,老師給我講解,我們可以隨時(shí)請(qǐng)教老師不懂的問題及出現(xiàn)錯(cuò)誤等等。在整個(gè)課程設(shè)計(jì)的過程中,我出現(xiàn)了不少的小問題的,最終在老師與同學(xué)的幫助下,加上自己的思考,解決了問題。首先,我按照

32、任務(wù)書的要求下載了一段.wav的音樂信號(hào),然后在Matlab中編寫相應(yīng)程序,聽錄的那段語(yǔ)音的效果和加噪之后的效果,卻發(fā)現(xiàn),噪音很刺耳,把耳機(jī)放在很遠(yuǎn)的地方任然能清晰的聽見噪聲,在老師的提示下,把加噪聲函數(shù)前的系數(shù)改為0.2倍,發(fā)現(xiàn)噪聲小多了。隨后,我按照老師給我們的資料思路,進(jìn)行程序的編寫。在設(shè)計(jì)濾波器的性能指標(biāo)時(shí),對(duì)參數(shù)的設(shè)計(jì)一定要注意,由于之前沒有注意,老是得不到正確的結(jié)果,這時(shí)一定要注意,通帶截止頻率需要根據(jù)使用的設(shè)計(jì)方法來確定。我使用的是BOHMANWIN窗,BOHMANWIN窗的最小阻帶衰減為51.5db,濾波器過渡帶寬為5.8/M,,所以,我將阻帶截止db設(shè)為51.5db,濾波器過

33、渡帶寬為5.8/M。在此次課程設(shè)計(jì)中,雖然沒有預(yù)計(jì)的那么難,可還是遇到了一些小的問題。慶幸的是,能夠在老師和同學(xué)的幫助下解決了。我覺得最重要的就是要有耐心,要細(xì)致,要不懂就問,這樣,只要自己堅(jiān)持,一切問題都會(huì)解決的。5 結(jié)束語(yǔ)本次課設(shè)計(jì)歷時(shí)3個(gè)星期,起初,我以為這個(gè)課程設(shè)計(jì)是比較難的,因?yàn)閿?shù)字信號(hào)處理這門課程很難,我學(xué)的不是很好,所以我開始很擔(dān)心。終于,當(dāng)老師講解之后,跟隨著老師的步驟漸漸做下去,才發(fā)現(xiàn),其實(shí)也不是那么難的。不過,在這期間還是出現(xiàn)了一些小問題。并且,最后這些問題都還是在老師的悉心指導(dǎo)下和同學(xué)的幫助,以及自己的努力下,成功地完成了課程設(shè)計(jì),同時(shí)對(duì)FIR濾波器也有了更深一步的了解。

34、首先對(duì)音樂信號(hào)進(jìn)行采集,然后對(duì)雙音頻信號(hào)進(jìn)行頻譜分析,設(shè)計(jì)數(shù)字濾波器和畫出其頻率響應(yīng)。在設(shè)計(jì)數(shù)字濾波器的時(shí)候,我們最需要注意的問題就是根據(jù)自己使用的方法,選擇合適的截止頻率。當(dāng)不清楚的時(shí)候,一定要學(xué)會(huì)查閱參考書,上網(wǎng)搜索,請(qǐng)教其他同學(xué)和老師。一定要根據(jù)原理來思考,并且放足耐心,遇到困難之時(shí)不能放棄。接著,用濾波器對(duì)信號(hào)進(jìn)行濾波。在Matlab中,F(xiàn)IR濾波器利用函數(shù)fftfilt對(duì)信號(hào)進(jìn)行濾波,IIR濾波器利用函數(shù)filter對(duì)信號(hào)進(jìn)行濾波。隨后,比較濾波前后語(yǔ)音信號(hào)的波形及頻譜。最后,回放語(yǔ)音信號(hào)。在Matlab中,函數(shù)sound可以對(duì)聲音進(jìn)行回放。做完成這個(gè)課程設(shè)計(jì),真的讓我感覺自己受益匪

35、淺,學(xué)會(huì)了獨(dú)立思考,并且將理論用于指導(dǎo)實(shí)踐。在課程設(shè)計(jì)中,一定要自己動(dòng)腦動(dòng)手,這樣既加深了對(duì)知識(shí)的理解,也使自己對(duì)知識(shí)的運(yùn)用更加?jì)故?。這次課程設(shè)計(jì)讓我把自己所學(xué)的知識(shí)更好的實(shí)踐相關(guān)聯(lián),使自己的知識(shí)更加穩(wěn)固?;仡欁约鹤稣n程設(shè)計(jì)這些天以來遇到的問題及結(jié)果,總的來說,這次所設(shè)計(jì)的濾波器的去噪性能還是較好。雖然在設(shè)計(jì)中遇到了一些問題,但最后在老師的細(xì)心指導(dǎo)下,在同學(xué)的幫助下,終于迎刃而解。當(dāng)一切都結(jié)束之時(shí),真的松了口氣,有點(diǎn)小小的成就感,終于覺得平時(shí)所學(xué)的知識(shí)有了實(shí)用的價(jià)值,達(dá)到了理論與實(shí)際相結(jié)合的目的,不僅學(xué)到了不少知識(shí),而且鍛煉了自己的能力。最讓我感覺興奮的便是,我覺得我學(xué)會(huì)了更有耐心,更細(xì)致。最

36、后,我想對(duì)給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師表示忠心的感謝!參考文獻(xiàn)1高西全,丁玉美,闊永紅. 數(shù)字信號(hào)處理原理、實(shí)現(xiàn)及應(yīng)用M.北京:電子工業(yè)出版社,20092張圣勤. MATLAB7.0實(shí)用教程M.北京:機(jī)械工程出版社,20083 張立材,王民. 數(shù)字信號(hào)處理M.北京:人民郵電出版社,20084 劉泉,闕大順. 數(shù)字信號(hào)處理原理與實(shí)現(xiàn)M.北京:電子工業(yè)出版社,20055 吳鎮(zhèn)揚(yáng). 數(shù)字信號(hào)處理 M.北京:高等教育出版社,2004附錄1:語(yǔ)音信號(hào)濾波去噪用BOHMANWIN窗設(shè)計(jì)的濾波器源程序清單>> x,fs,bits=wavread('d:MATLAB7worktls.

37、wav'); %讀取語(yǔ)音信號(hào)>>sound(x,fs,bits); % 按指定的采樣率和每樣本編碼位數(shù)回放所錄語(yǔ)音文件>>N=length(x); % 計(jì)算信號(hào)x的長(zhǎng)度>>fn=5000; % 單頻噪聲頻率>> t=0:1/fs:(N-1)/fs; % 計(jì)算時(shí)間范圍,樣本數(shù)除以采樣頻率>> x=x(:,1)' y=x+0.2*sin(fn*2*pi*t); %在原信號(hào)上添加噪聲>>sound(y,fs,bits); % 應(yīng)該可以明顯聽出有尖銳的單頻嘯叫聲>> X=abs(fft(x); Y=ab

38、s(fft(y); % 對(duì)原始信號(hào)和加噪信號(hào)進(jìn)行fft變換>> X=X(1:N/2); Y=Y(1:N/2); % 截取前半部分>> deltaf=fs/N; % 計(jì)算頻譜的譜線間隔>> f=0:deltaf:fs/2-deltaf; % 計(jì)算頻譜頻率范圍>> subplot(2,2,1);plot(t,x);axis(0,2,-1,1);xlabel('時(shí)間(單位:s)');ylabel('幅度');title('原始雙音頻信號(hào)');grid>> subplot(2,2,2);plot

39、(f,X);axis(0,6000,0,4000);xlabel('頻率(單位:Hz)');ylabel('幅度譜');title('原始雙音頻信號(hào)幅度譜圖');grid>> subplot(2,2,3);plot(t,y);axis(0,2,-2,2);xlabel('時(shí)間(單位:s)');ylabel('幅度');title('加噪后的雙音頻信號(hào)');grid>> subplot(2,2,4);plot(f,Y);axis(0,6000,0,4000);xlabel(&#

40、39;頻率(單位:Hz)');ylabel('幅度譜');title('加噪后的雙音頻信號(hào)幅度譜圖');grid>> fpd=4900;fsd=4950;fsu=5050;fpu=5100;Rp=1;As=50; % 帶阻濾波器設(shè)計(jì)指標(biāo)>> fcd=(fpd+fsd)/2;fcu=(fpu+fsu)/2;df=min(fsd-fpd),(fpu-fsu); % 計(jì)算上下邊帶中心頻率,和頻率間隔>> wcd=fcd/fs*2*pi;wcu=fcu/fs*2*pi;dw=df/fs*2*pi; % 將Hz為單位的模擬頻率換

41、算為rad為單位的數(shù)字頻率>> wsd=fsd/fs*2*pi;wsu=fsu/fs*2*pi;>> M=ceil(5.8*pi/dw)+1; % 計(jì)算BOHMANWIN窗設(shè)計(jì)該濾波器時(shí)需要的階數(shù)>> n=0:M-1; % 定義時(shí)間范圍>> w_boh= bohmanwin (M); % 產(chǎn)生M階的BOHMANWIN窗 >> hd_bs=ideal_lp(wcd,M)+ideal_lp(pi,M)-ideal_lp(wcu,M); % 調(diào)用自編函數(shù)計(jì)算理想帶阻濾波器的脈沖響應(yīng)>> h_bs=w_boh'.*hd_b

42、s; % 用窗口法計(jì)算實(shí)際濾波器脈沖響應(yīng)>> db,mag,pha,grd,w=freqz_m(h_bs,1); % 調(diào)用自編函數(shù)計(jì)算濾波器的頻率特性>>figure(1)>>subplot(2,2,1);plot(w/pi,db);grid>>axis(0,0.3,-60,20)>>xlabel('w/pi');ylabel('db'); title('以db為單位的幅度特性');>>line(wsd/pi,wsd/pi,-60,20,'color',

43、9;r','linestyle','-','LineWidth',1);>>line(wsu/pi,wsu/pi,-60,20,'color','r','linestyle','-','LineWidth',1);>>line(0,1,-As,-As,'color','r','linestyle','-','LineWidth',1);>>lin

44、e(0,1,-Rp,-Rp,'color','r','linestyle','-','LineWidth',1);>> subplot(2,2,2);plot(w/pi,mag);grid>> axis(0,0.3,0,1.5)>> xlabel('w/pi');ylabel('幅度mag'); title('以線性為單位的幅度特性');>> subplot(2,2,3);plot(w/pi,pha);grid>&

45、gt; axis(0,1.2,-4,4)>> xlabel('w/pi');ylabel('相位phg'); title('濾波器相位響應(yīng)圖');>> subplot(2,2,4);stem(n,h_bs);grid>> axis(0,3000,-0.5,1)>> xlabel('n');ylabel('h(n)'); title('濾波器響應(yīng)圖');>> y_fil=filter(h_bs,1,y); % 用設(shè)計(jì)好的濾波器對(duì)加噪信號(hào)y進(jìn)行

46、濾波>> Y_fil= abs(fft(y_fil);Y_fil=Y_fil(1:N/2) ; % 計(jì)算頻譜取前一半>> subplot(3,2,1);plot(t,x);grid on;>>axis(0,2,-1,1);>> xlabel('時(shí)間t');ylabel('幅度');title('原始雙音頻信號(hào)時(shí)間x');>> subplot(3,2,2);plot(f,X);grid on;>> axis(0,6000,0,4000);>> xlabel('頻譜f');ylabel('幅度');title('原始雙音頻信號(hào)幅度譜x');>> subplot(3,2,3);plot(t,y);grid on;>> axis(0,2,-2,2);>> xlabel('時(shí)間t');ylabel('幅度');title('加干擾雙音頻信號(hào)時(shí)間x1');>> subp

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論