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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

10、紋,進而增加阻帶的衰減。在實際工程中常用的窗函數(shù)有五種,即矩形窗、三角窗、漢寧窗、海明窗和凱澤窗。實際應(yīng)用的窗函數(shù),可分為以下主要類型:      (1)冪窗-采用時間變量某種冪次的函數(shù),如矩形、三角形、梯形或其它時間(t)的高次冪;      (2)三角函數(shù)窗-應(yīng)用三角函數(shù),即正弦或余弦函數(shù)等組合成復合函數(shù),例如漢寧窗、海明窗等;      (3)指數(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è)計的窗函數(shù)是選取BOHMANWIN窗,根據(jù)它的性質(zhì):過渡帶寬是5.8,最小阻帶衰減是51.1db,來設(shè)計一FIR濾波器。首先選定窗函數(shù)類型和長度N之后,求出單位脈沖響應(yīng): 然后利用傅立葉變化求出。是否滿足要求,要進行演算。一般在尾部加零使長度滿足2的整數(shù)次冪,以便用FFT計算。如果要觀察細節(jié),補零點數(shù)增多即可。如果不滿足要求,則要重新選擇窗函數(shù)類型和長度N ,再次驗算,直至滿足要求。如果要求線性相位特性,則還必須滿足: 根據(jù)上式中的正負號和長度N的奇偶性又將線性相位FIR濾波器分成四類。3設(shè)計步驟3.1 設(shè)計流程圖在這次的課程設(shè)計中,我做的內(nèi)容是使用BOHMANWIN窗設(shè)計的FIR

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

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

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

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

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

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

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

20、阻濾波器的脈沖響應(yīng)。最后,再調(diào)用自編freqz_m(h_bs,1)函數(shù)即可計算得到該濾波器的頻率特性。濾波器設(shè)計過程對應(yīng)的程序如下:>> fpd=4900;fsd=4950;fsu=5050;fpu=5100;Rp=1;As=50; % 帶阻濾波器設(shè)計指標>> fcd=(fpd+fsd)/2;fcu=(fpu+fsu)/2;df=min(fsd-fpd),(fpu-fsu); % 計算上下邊帶中心頻率,和頻率間隔>> 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; % 計算BOHMANWIN窗設(shè)計該濾波器時需要的階數(shù)>> n=0:M-1; % 定義時間范圍>> 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ù)計算理想帶阻濾波器的脈沖響應(yīng)>> h_bs=w_boh'.*hd_bs; % 用窗口法計算

22、實際濾波器脈沖響應(yīng)>> db,mag,pha,grd,w=freqz_m(h_bs,1); % 調(diào)用自編函數(shù)計算濾波器的頻率特性編寫相應(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 信號濾波處理在將濾波器設(shè)計好后,我們用自己

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

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

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

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

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

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

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

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

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

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

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

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

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

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

40、39;頻率(單位:Hz)');ylabel('幅度譜');title('加噪后的雙音頻信號幅度譜圖');grid>> fpd=4900;fsd=4950;fsu=5050;fpu=5100;Rp=1;As=50; % 帶阻濾波器設(shè)計指標>> fcd=(fpd+fsd)/2;fcu=(fpu+fsu)/2;df=min(fsd-fpd),(fpu-fsu); % 計算上下邊帶中心頻率,和頻率間隔>> 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; % 計算BOHMANWIN窗設(shè)計該濾波器時需要的階數(shù)>> n=0:M-1; % 定義時間范圍>> 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ù)計算理想帶阻濾波器的脈沖響應(yīng)>> h_bs=w_boh'.*hd_b

42、s; % 用窗口法計算實際濾波器脈沖響應(yīng)>> db,mag,pha,grd,w=freqz_m(h_bs,1); % 調(diào)用自編函數(shù)計算濾波器的頻率特性>>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è)計好的濾波器對加噪信號y進行

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

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論