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

下載本文檔

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

文檔簡介

1、吹管音樂濾波去噪使用BARTHANNWIN窗設(shè)計的FIR濾波器 大學(xué) 數(shù)字信號處理課程設(shè)計報告 王二 校徽 學(xué) 院 專 業(yè) 班 級 XXX 學(xué) 號 XX 學(xué)生姓名 王二 指導(dǎo)教師 課程成績 完成日期 學(xué) 院 專 業(yè) 通信工程 班 級 XXX 學(xué) 號 XX 學(xué)生姓名 王二 指導(dǎo)教師 XXX 完成日期 XXXX 年 X月 X 日 指導(dǎo)教師對學(xué)生在課程設(shè)計中的評價 指導(dǎo)教師對課程設(shè)計的評定意見 課程設(shè)計任務(wù)書 吹管音樂濾波去噪 使用BARTHANNWIN窗設(shè)計的FIR濾波器 學(xué)生姓名:王二 指導(dǎo)老師:XXX 摘 要 本課程設(shè)計主要是利用Barthannwin窗設(shè)計滿足指標(biāo)的FIR濾波器對一段含噪吹管

2、樂器音頻進行濾波去噪處理。以Matlab為設(shè)計平臺,利用wavread函數(shù)對音頻信號進行采樣,獲取參數(shù),對音頻信號進行讀取和加噪,根據(jù)相應(yīng)技術(shù)指標(biāo),設(shè)計Barthannwin FIR濾波器,對該音頻信號進行濾波去噪處理,還原原始信號。通過比較濾波前后的波形和頻譜圖并進行分析,回放濾波后音樂信號,濾波后音樂信號與原始音樂信號一樣清晰。本課程設(shè)計成功地對吹管音樂音頻信號進行了濾波去噪,初步完成了設(shè)計指標(biāo)。 關(guān)鍵詞 課程設(shè)計;濾波去噪;FIR濾波器;Barthannwin窗;MATLAB 目錄 1 引 言 . 3課程設(shè)計目的 . 3 1.2 課程設(shè)計的要求 . 3 1.3 設(shè)計平臺 . 4 2 設(shè)計

3、原理 . 5 2.1 FIR濾波器 . 5窗口設(shè)計法 . 6 2.3 BARTHANNWIN窗 . 7 3 設(shè)計步驟 . 9設(shè)計流程圖 . 9錄制語音信號 . 10 3.3 濾波器設(shè)計 . 11 3.4 信號濾波處理 . 13 3.5 結(jié)果分析 . 14 4 出現(xiàn)的問題及解決方法 . 16 5 結(jié)束語 . 17 參考文獻 . 19 附錄1:吹管音樂音頻信號提取和加噪源程序清單 . 20 附錄2:使用BARTHANNWIN窗設(shè)計的FIR濾波器源程序清單 . 22 附錄3:信號濾波處理源程序清單 . 24 附錄4:freqz_m的定義源程序清單 . 25 附錄5:ideal_lp的定義源程序清單

4、. 26 1 引 言 本課程設(shè)計是采用Barthannwin窗設(shè)計的FIR濾波器對含噪吹管音樂信號進行濾波去噪。通過課程設(shè)計了解FIR濾波器設(shè)計的原理和步驟,掌握用MATLAB語言設(shè)計濾波器的方法,了解DSP對FIR濾波器的設(shè)計及編程方法。通過觀察音樂信號濾波前后的時域波形的比較,加深對濾波器作用的理解。通過對比濾波前后波形圖的比較和放濾波前后音樂信號的對比,可以看出濾波器對有用信號無失真放大具有重大意義。課程設(shè)計目的 在本次課程設(shè)計中,最主要的設(shè)計是設(shè)計FIR濾波器,F(xiàn)IR濾波器的設(shè)計方法主要分為兩類:第一類是基于逼近理想濾波器器特性的方法包括窗函數(shù)法、頻率采樣法、和等波紋最佳逼近法;第二類

5、是最優(yōu)設(shè)計法。 本次的課程設(shè)計主要采用的是第一類設(shè)計方法,是利用Barthannwin窗函數(shù)法設(shè)計FIR濾波器對一段語音進行濾波去噪,并繪制濾波前后的時域波形形和頻譜圖,對濾波前后波形進行對比分析得到結(jié)論。通過這一過程能夠熟悉MATLAB語言環(huán)境,掌握MATLAB語言的編程規(guī)則。通過本次課程設(shè)計熟悉利用Barthannwin窗函數(shù)法設(shè)計FIR濾波器的過程增強自己獨立解決問題的能力,提高自己獨立解決問題的動手能力同時加深對理論知識聯(lián)系實際的理解,為以后的工作奠定堅實的基礎(chǔ)。 1.2 課程設(shè)計的要求 下載一段吹管樂器演奏音樂,繪制觀察波形及其頻譜圖特點,加入一個帶外單頻噪聲,用Barthannwi

6、n窗設(shè)計一個滿足指標(biāo)的FIR濾波器,對該含噪音樂信號進行濾波去噪處理,比較濾波前后的波形和頻譜圖并進行分析。再回放音樂信號對比原音樂信號,看濾波器是否對音樂信號進行了濾波去噪。 (1)濾波器指標(biāo)必須符合工程實際。 (2)設(shè)計完后應(yīng)檢查其頻率響應(yīng)曲線是否滿足指標(biāo)。 (3)處理結(jié)果和分析結(jié)論應(yīng)該一致,而且應(yīng)符合理論。 (4)獨立完成課程設(shè)計并按要求編寫課程設(shè)計報告書。 1.3 設(shè)計平臺 本課程設(shè)計的主要設(shè)計平臺式,MATLAB是矩陣實驗室(Matrix Laboratory)的簡稱。 MATLAB是由美國MathWorks公司發(fā)布的主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。它將數(shù)

7、值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計以及必須進行有效數(shù)值計算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言(如C、Fortran)的編輯模式,代表了當(dāng)今國際科學(xué)計算軟件的先進水平。MATLAB和Mathematica、Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計算方面首屈一指。MATLAB可以進行矩矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)

8、計與分析等領(lǐng)域1。 MATLAB在信號與系統(tǒng)中的應(yīng)用主要包括符號運算和數(shù)值計算仿真分析。由于信號與系統(tǒng)課程的許多內(nèi)容都是基于公式演算,而MATLAB借助符號數(shù)學(xué)工具箱提供的符號運算功能能基本滿足信號與系統(tǒng)課程的需求。例如,解微分方程、傅里葉正反變換、拉普拉斯正反變換、z正反變換等。MATLAB在信號與系統(tǒng)中的另一主要應(yīng)用是數(shù)值計算與仿真分析,主要包括函數(shù)波形繪制、函數(shù)運算、沖激響應(yīng)與階躍響應(yīng)仿真分析、信號的時域分析、信號的頻譜分析、系統(tǒng)的S域分析、零極點圖繪制等內(nèi)容。數(shù)值計算仿真分析可以幫助學(xué)生更深入理解信號與系統(tǒng)的理論知識,并為將來使用MATLAB進行信號處理領(lǐng)域的各種分析和實際應(yīng)用打下基礎(chǔ)

9、2。 2 設(shè)計原理 2.1 FIR濾波器 數(shù)字濾波器根據(jù)其沖激響應(yīng)函數(shù)的時域特性,可分為2種,即無限長沖激響應(yīng)(IIR)濾波器和有限長沖激響應(yīng)(FIR)濾波器。FIR(Finite Impulse Response)濾波器:有限長單位沖激響應(yīng)濾波器,是數(shù)字信號系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴(yán)格的線性相頻特性,同時其單位抽樣響應(yīng)是有限長的,因而濾波器是穩(wěn)定的系統(tǒng)。因此,F(xiàn)IR濾波器在通信、圖像處理、模式識別等領(lǐng)域都有著廣泛的應(yīng)用。 FIR系統(tǒng)有自己突出的優(yōu)點: (1)可以很容易地設(shè)計線性相位的濾波器。線性相位濾波器延時輸入信號,卻并不扭曲其相位。 (2)實現(xiàn)簡單。在大多數(shù)

10、DSP處理器,只需要對一個指令積習(xí)循環(huán)就可以完成FIR計算。 (3)適合于多采樣率轉(zhuǎn)換,它包括抽取(降低采樣率),插值(增加采樣率)操作。無論是抽取或者插值,運用FIR濾波器可以省去一些計算,提高計算效率。相反,如果使用IIR濾波器,每個輸出都要逐一計算,不能省略,即使輸出要丟棄。 (4)具有理想的數(shù)字特性。在實際中,所有的DSP濾波器必須用有限精度(有限bit數(shù)目)實現(xiàn),而在IIR濾波器中使用有限精度會產(chǎn)生很大的問題,由于采用的是反饋電路,因此IIR通常用非常少的bit實現(xiàn),設(shè)計者就能解決更少的與非理想算術(shù)有關(guān)的問題。 (5)可以用小數(shù)實現(xiàn)。不像IIR濾波器,F(xiàn)IR濾波器通??赡苡眯∮?的系

11、數(shù)來實現(xiàn)。(如果需要,F(xiàn)IR濾波器的總的增益可以在輸出調(diào)整)。當(dāng)使用定點DSP的時候,這也是一個考慮因素,它能使得實現(xiàn)更加地簡單3。 FIR數(shù)字濾波器設(shè)計的基本步驟如下: (1)確定技術(shù)指標(biāo) 在設(shè)計一個濾波器之前,必須首先根據(jù)工程實際的需要確定濾波器的技術(shù)指標(biāo)。在很多實際應(yīng)用中,數(shù)字濾波器常被用來實現(xiàn)選頻操作。因此,指標(biāo)的形式一般在頻域中給出幅度和相位響應(yīng)。幅度指標(biāo)主要以2種方式給出。第一種是絕對指標(biāo)。他提供對幅 度響應(yīng)函數(shù)的要求,一般應(yīng)用于FIR濾波器的設(shè)計。第二種指標(biāo)是相對指標(biāo)。他以分貝值的形式給出要求。本文中濾波器的設(shè)計就以線性相位FIR濾波器的設(shè)計為例。 (2)逼近 確定了技術(shù)指標(biāo)后,

12、就可以建立一個目標(biāo)的數(shù)字濾波器模型(通常采用理想的數(shù)字濾波器模型)。之后,利用數(shù)字濾波器的設(shè)計方法(窗函數(shù)法、頻率采樣法等),設(shè)計出一個實際濾波器模型來逼近給定的目標(biāo)。 (3)性能分析和計算機仿真 上兩步的結(jié)果是得到以差分或系統(tǒng)函數(shù)或沖激響應(yīng)描述的濾波器。根據(jù)這個描述就可以分析其頻率特性和相位特性,以驗證設(shè)計結(jié)果是否滿足指標(biāo)要求;或者利用計算機仿真實現(xiàn)設(shè)計的濾波器,再分析濾波結(jié)果來判斷。 FIR濾波器的設(shè)計問題實際上是確定能滿足所要求的轉(zhuǎn)移序列或脈沖響應(yīng)的常數(shù)的問題,設(shè)計方法主要有窗函數(shù)、頻率響應(yīng)法和等波紋最佳逼近法等。FIR濾波器的缺點在于它的性能不如同樣階數(shù)的IIR濾波器,不過由于數(shù)字計算

13、硬件的飛速發(fā)展,這一點已經(jīng)不成為問題。再加上引入計算機輔助設(shè)計,F(xiàn)IR濾波器的設(shè)計也得到極大的簡化?;谏鲜鲈?,F(xiàn)IR濾波器比IIR濾波器的應(yīng)用更廣4。窗口設(shè)計法 FIR濾波器的設(shè)計方法有許多種,如窗函數(shù)設(shè)計法、頻率采樣設(shè)計法和最優(yōu)化設(shè)計法等。窗函數(shù)法是設(shè)計FIR數(shù)字濾波器的最簡單的方法。它在設(shè)計FIR數(shù)字濾波器中有很重要的作用,正確地選擇窗函數(shù)可以提高設(shè)計數(shù)字濾波器的性能,或者在滿足設(shè)計要求的情況下,減小FIR數(shù)字濾波器的階次。常用的窗函數(shù)有以下幾種:矩形窗(Rectangular window)、三角窗(Triangular window)、漢寧窗(Hanning window)、漢明窗

14、(Hamming window)、布拉克曼窗(Blackman window)等等。 窗函數(shù)設(shè)計法的基本原理是用一定寬度窗函數(shù)截取無限脈沖響應(yīng)序列獲得有限長的脈沖響應(yīng)序列,主要設(shè)計步驟為: (1)通過傅里葉逆變換獲得理想濾波器的單位脈沖響應(yīng)hd(n)。 hd(n)?1 2?x ?xejwndw?sinwc(n?)?(n?) (2-1) (2)由性能指標(biāo)確定窗函數(shù)W(n)和窗口長度N。 (3)求得實際濾波器的單位脈沖響應(yīng)h(n), h(n)即為所設(shè)計FIR濾波器系數(shù)向量b(n)。 (2-2) (4)檢驗濾波器性能 常見的窗函數(shù)性能如表2-1所示: 表2-1 常見窗函數(shù)性能表 h(n)? hd(n

15、?)W( n ) 2.3 BARTHANNWIN窗 BARTHANNWIN窗是修正的BARTLETT-HANN窗,它的最小阻帶衰減為40dB,過度帶寬為/M(M為濾波器階數(shù)),公式給出如下5: (2-3 ) 在MATLAB中的調(diào)用格式為: w=barthannwin(M); 相應(yīng)的程序段: >>M=64; >>n=0:M-1; >>w_barth=barthannwin(M); >>hd_bs=ideal_lp(0.45*pi,M); >>h_bs=hd_

16、bs.*w_barth' >>db,mag,pha,grd,w=freqz_m(h_bs,1); 用繪圖命令畫出的窗函數(shù)時域頻域圖如圖2-1所示: 圖2-1 Barthannwin窗時域頻域響應(yīng)圖 3 設(shè)計步驟設(shè)計流程圖 吹管音樂音頻信號濾波去噪使用Bathannwin窗設(shè)計的FIR濾波器的設(shè)計流程如圖3-1所示: 圖3-1 使用Bathannwin窗設(shè)計的FIR濾波器對吹管音樂音頻信號去噪流程圖錄制語音信號 在網(wǎng)上下載一段吹管樂器演奏音樂,時間在2s左右,在轉(zhuǎn)換過程中,將音樂格式設(shè)置為wav格式,屬性設(shè)置為16000Hz,8位,單聲道,128KB/

17、秒,然后保存在目錄e:下,命名為,最后在Matlab軟件平臺下調(diào)用函數(shù)wavread對音樂信號進行采樣,記錄采樣頻率和采樣點數(shù)。具體調(diào)用如下: >> x,fs,bits=wavread('e:wang.wav'); %讀取音樂信號 運行后得出fs=16000,bits=8。輸出的第一個參數(shù)x是每個樣本的值,fs是生成該波形文件時的采樣率,bits是波形文件每樣本的編碼位數(shù)。 >>sound(x,fs,bits); % 按指定的采樣率和每樣本編碼位數(shù)回放 >>N=length(x)

18、; % 計算信號x的長度 >>fn=3500; % 單頻噪聲頻率 >>t=0:1/fs:(N-1)/fs; %計算時間范圍,樣本數(shù)除以采樣頻率 >> x=x(:,1)'y=x+0.5*sin(fn*2*pi*t); %加入噪聲函數(shù) >>sound(y,fs,bits); % 應(yīng)該可以明顯聽出有尖銳的單頻嘯叫聲 >>X=fft(x); Y=fft(y); % 對原始信號和加噪信號進行fft變換,取幅度譜 >>X=X

19、(1:N/2); Y=Y(1:N/2); % 截取X的前半部分, 截取Y的前半部分 >>deltaf=fs/N; % 計算頻譜的譜線間隔 >>f=0:deltaf:fs/2-deltaf; % 計算頻譜頻率范圍 然后用繪圖命令分別畫出加噪前后信號的時域和頻域波形,運行程序后我們所得的波形圖如圖3-2所示: 圖3-2 加噪前后信號的時域圖和頻域比較圖 3.3 濾波器設(shè)計 濾波器的設(shè)計就是要找到一組能滿足特定濾波要求的系數(shù)向量a和b,其中b為系統(tǒng)函數(shù)的分子系數(shù),a為系統(tǒng)函數(shù)分母系數(shù)。在本次的課程設(shè)計中我所采用的就是利用Barthannwin窗

20、函數(shù)來設(shè)計FIR濾波器。 在該濾波器的設(shè)計中,我們給出該濾波器的性能指標(biāo)如下: fpd=3000; fsd=3400; fsu=3600; fpu=4000;Rp=1; As=30; 截止頻率也可以任意自選,在單頻噪聲干擾附近即可。在這里,很重要的是通帶截止db值的設(shè)置。這個值根據(jù)我們使用的設(shè)計濾波器的方法來設(shè)定。因為使用的是Barthannwin窗法,Barthannwin窗函數(shù)中,濾波器的過渡帶寬為5.6?/M,最小阻帶衰減為40db。所以,一定要將通帶截止db值設(shè)置的小于40,所以,我將其設(shè)置為30db。 用窗函數(shù)法,在MATLAB中利用Barthannwin窗設(shè)計FIR濾波器利用Mat

21、lab中的函數(shù)freqz畫出濾波器的頻率響應(yīng)。 利用數(shù)字信號處理里面學(xué)過的知識,根據(jù)自己選定的參數(shù),用指定的方法設(shè)計FIR濾波器,得到FIR濾波器的階數(shù)M。隨后調(diào)用BARTHANNWIN(M)函數(shù)產(chǎn)生M階的Barthannwin窗。然后,調(diào)用自編ideal_lp函數(shù)計算理想帶阻濾波器的脈沖響應(yīng)。最后,再調(diào)用自編freqz_m(h_bs,1)函數(shù)即可計算得到該濾波器的頻率特性6。 >> fpd=3000;fsd=3400;fsu=3600;fpu=4000;Rp=1;As=30; % 帶阻濾波器設(shè)計指標(biāo) >> fcd=(fpd+fsd)/2

22、;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; >> wsd=fsd/fs*2*pi;wsu=fsu/fs*2*pi; % 將Hz為單位的模擬頻率換算為rad為單位的數(shù)字頻率 >> M=ceil(5.6*pi/dw)+1; % 計算BARTHANNWIN窗設(shè)計該濾波器時需要的階數(shù) >> n=0:M-1; %

23、定義時間范圍 >> w_barth=BARTHANNWIN(M); % 產(chǎn)生M階的BARTHANNWIN窗 >> hd_bs=ideal_lp(wcd,M)+ideal_lp(pi,M)-ideal_lp(wcu,M); % 調(diào)用自編函數(shù)計算理想帶阻濾波器的脈沖響應(yīng) >> h_bs=w_barth'.*hd_bs; % 用窗口法計算實際濾波器脈沖響應(yīng) >> db,mag,pha,grd,w=freqz_m(h_bs,1); % 調(diào)用自編函數(shù)計算濾波器的頻率特性 然后用

24、繪圖命令分別畫出窗口法設(shè)計出來的濾波器的幅度特性和相位響應(yīng)圖,運行程序后所得到設(shè)計的濾波器的圖形如圖3-3所示: 圖3-3 濾波器的幅度特性以及相位響應(yīng)圖 3.4 信號濾波處理 濾波器設(shè)計完成后,在MATLAB中,F(xiàn)IR濾波器利用函數(shù)fftfilt對信號進行濾波。程序如下: >> y_fil=filter(h_bs,1,y); % 用設(shè)計好的濾波器對y進行濾波 >> Y_fil= abs(fft(y_fil);Y_fil=Y_fil(1:N/2);% 計算頻譜取前一半 用繪圖命令分別畫出濾波前后音樂信號的時域波形圖和頻譜圖對比圖,如圖3-

25、4所示: 圖3-4 濾波前和濾波后的時域和頻域波形對比圖 3.5 結(jié)果分析 從圖3-4中可以觀察到,加噪信號的時域圖中大部分都被加入的噪聲給遮蓋了,濾波后的雙音頻信號發(fā)生了衰減,濾波去噪信號與原信號的時域圖基本相似,說明濾波器起到了濾波作用。加噪信號的頻譜圖中,我們可以很明顯地看到與原信號頻譜圖相比,它在3500Hz左右處有一個尖脈沖,而濾波去噪信號的頻譜圖中該尖脈沖已經(jīng)消失,波形大致與原圖相似,可見濾波去噪效果基本不錯。 在將三個信號的時域波形和頻譜圖比較之后,我們還要通過回放去濾波去噪語音信號,來跟原信號相比,以檢驗濾波器的效果。 在MATLAB中,經(jīng)過sound(x,fs,bits)函數(shù)

26、,對經(jīng)過Barthannwin窗設(shè)計的FIR濾波器濾波去噪之后的音樂信號進行回放,可以聽出濾波之后的信號跟原始信號一樣清晰, sound(x,fs,bits); %顯示原始雙音頻信號 sound(y,fs,bits); %顯示濾波后的雙音頻信號 分別聽原始語音和濾波后的語音信號,發(fā)現(xiàn)濾波后的語音信號噪聲基本消失,同時原始信號強度稍有變化,基本達(dá)到了濾波的效果,所得結(jié)果證明了用Barthannwin窗設(shè)計的FIR濾波器和音樂信號去噪設(shè)計是成功的。 4 出現(xiàn)的問題及解決方法 本次課程設(shè)計中當(dāng)遇到問題時我在運用自己所學(xué)的知識思考的同時還通過上網(wǎng)搜索資料,參考相關(guān)書籍以及詢問同學(xué)和老師,集思廣益,使問

27、題盡量得到完善的解決,在整個設(shè)計中出現(xiàn)的主要問題及解決方法如下: (1)、起初對利用Barthannwin窗函數(shù)設(shè)計FIR濾波器的設(shè)計步驟很生疏,在采用Barthannwin窗函數(shù)設(shè)計的FIR濾波器時得不到理想的濾波器,因而信號的恢復(fù)不是特別理想,通過不斷設(shè)置參數(shù)的值,最終設(shè)計出理想的濾波器,使信號得到較為理想的恢復(fù); (2)、加入單頻噪聲時,單頻噪聲為余弦信號,其系數(shù)為1,該余弦信號是n行1列的矩陣,而我所錄制的語音是1行n列的矩陣,所以需要將我所錄制的語音信號進行轉(zhuǎn)置,并且將余弦信號的系數(shù)改為或者更小,否則程序會報錯或者所畫出來的圖形將都是一條直線; (3)、在畫濾波器性能波形的時候,要橫

28、坐標(biāo)要計算w/pi的值,而不是直接取w的值; (4)、在對加入噪聲后的語音用FIR濾波器進行語音去噪處理時,所編寫的函數(shù)出現(xiàn)錯誤,繪制不出圖形,分析錯誤主要是調(diào)用FIR濾波器時所用的fftfilt函數(shù)改為fitler函數(shù)。filter函數(shù)主要運用于IIR濾波器,所調(diào)用的格式為filter(b,a,x),而fftfilt函數(shù)的調(diào)用為fftfilt(b,x),所以在調(diào)用時應(yīng)將a刪去; (5)、繪制出濾波后的波形,發(fā)現(xiàn)FIR濾波器沒有濾掉單頻噪聲。通過自己的仔細(xì)檢查,是單頻噪聲的頻率改動后,F(xiàn)IR濾波器的頻率沒有改動。所以單頻噪聲的頻率也應(yīng)該自己先定義,F(xiàn)IR濾波器的截止頻率應(yīng)該以單頻噪聲的頻率為中

29、心,這樣重新運行后,結(jié)果正確; (6)、在做課程設(shè)計的文檔時,發(fā)現(xiàn)流程圖不會繪制。然后自己查了一些相關(guān)書籍得知,繪制流程圖時一般用橢圓表示“開始”與“結(jié)束”,行動方案普通工作環(huán)節(jié)用矩形表示,問題判斷或判定(審核/審批/評審)環(huán)節(jié)用菱形表示 ,箭頭代表工作流方向; (7)、在寫報告的時候,沒有仔細(xì)注意報告版式、格式的要求,導(dǎo)致要修改的地方較多,后經(jīng)仔細(xì)檢查及修改最終達(dá)到報告的要求。 5 結(jié)束語 通過這次課程設(shè)計,我對其設(shè)計原理進行了更深一層次的理解,對書中原來學(xué)到的理論,有了用實踐檢驗的機會,也有了更加確切的掌握,在設(shè)計中也使我對一些概念有了更深刻的理解。 例如:在指標(biāo)方面,我混淆了模擬指標(biāo)和數(shù)

30、字指標(biāo)的概念,經(jīng)過老師的點撥,自己更加明確,而且記憶深刻。還有在課程設(shè)計中每一次的數(shù)據(jù)輸入都有其重要意義,用MATLAB編譯程序時,可以根據(jù)濾波器指標(biāo)的要求實時知道對濾波器的影響。例如,編好程序后,調(diào)試成功,任意改變輸入阻帶或者通帶衰減,可以看到輸出波形的變化,改變截止頻率wc,同樣可以看到輸出波形的變化。由此,對理論的理解就更加簡單方便,而且記憶力深刻。 除此之外,由于老師只給出了部分的程序段模版,再加上設(shè)計濾波方法的不同以及信源的差異,對程序的編譯不是一蹴而就的,而要經(jīng)過多次的編譯與調(diào)試,所以很多地方是自己,出錯率也大大提高了,其中的錯誤原因很多次都是因為自己的不細(xì)心造成。但經(jīng)過思考并仔細(xì)

31、檢查,最后得以編譯成功。做設(shè)計時一定要小心謹(jǐn)慎,也許一個小小的語法錯誤和常量變量的定義的錯誤就造成整個程序出現(xiàn)問題,得不到所需的波形,導(dǎo)致實驗結(jié)果不正確。但這就是過程,學(xué)習(xí)就是在過程中進行的,經(jīng)過自己的不懈努力再加上同學(xué)們的幫助,不僅程序識讀能力提高了很多,自己的編譯水平也上了一個新臺階,更加熟系了MATLAB的應(yīng)用,也對其中的函數(shù)如freqz、ideal函數(shù)等有了細(xì)致的了解。 完成整個設(shè)計過程后,學(xué)到的東西已經(jīng)不僅僅上面的那些東西,能將自己平時學(xué)到的東西能運用到實際中,能讓理論和實際得以結(jié)合還是很不錯的,整個課程設(shè)計的過程中也讓我找到了動手的樂趣和思考的快樂,很有成就感。我從這次的課程設(shè)計中

32、體會到,什么事都要我們真真正正用心去做了,才會使自己更加成長,沒有學(xué)習(xí)就不可能有實踐的機會,沒有自己的實踐就不會有所突破,希望這次的經(jīng)歷能讓我們在以后的學(xué)習(xí)生活中不斷成長。在這次的課程設(shè)計中,犯了些錯誤,也長了教訓(xùn),發(fā)現(xiàn)自己還不夠認(rèn)真不夠細(xì)心以前的知識學(xué)習(xí)的不是很牢固,但是這次課程設(shè)計,不但鞏固了以前學(xué)的知識,還學(xué)習(xí)了新內(nèi)容,收獲頗豐。我認(rèn)為這次收獲最大的莫過于靜心,學(xué)習(xí)不能急,一定要冷靜,心無旁騖,不放過任何一個細(xì)節(jié),就能取得十足的進步。 本次課程設(shè)計在老師的悉心指導(dǎo)和嚴(yán)格要求下業(yè)已完成,從課題選擇、方案論證到具體設(shè)計和調(diào)試,無不凝聚著老師的心血和汗水,在課程設(shè)計期間,也始終感受著導(dǎo)師的精心

33、指導(dǎo)和無私的關(guān)懷,我受益匪淺。在此向老師表示深深的 感謝和崇高的敬意。正是有了他們的悉心幫助和支持,才使我的課程設(shè)計順利完成。 參考文獻 1 張圣勤實用教程M 北京:機械工程出版社,20063 2 維納·K·英格爾,約翰·G·普羅克斯(著)劉樹棠(譯)數(shù)字信號處理(MATLAB版)M,西安:交通大學(xué)出版社,20081 3 羅軍輝,在數(shù)字信號處理中的應(yīng)用,北京:機械工業(yè)出版社,20055 4 張小虹信號系統(tǒng)與數(shù)字信號處理M第版西安:西安電子科技出版社,2002 5 謝德芳數(shù)字信號處理M北京:科學(xué)出版社,2005 6 陳懷琛,數(shù)字信號處理教程:MATLAB釋

34、義與實現(xiàn),北京:電子工業(yè)出版社,200412 附錄1:吹管音樂音頻信號提取和加噪源程序清單 % 程序名稱:吹管音樂音頻信號提取和加噪 % 程序功能:用MATLAB語言讀出自己所錄得雙音頻信號并對雙音頻信號加噪 % 程序 王二 % 最后修改日期:- >> x,fs,bits=wavread('e:Taihuajiao.wav');% 輸入?yún)?shù)為文件的全路徑和文件名,輸出的第一個參數(shù)是每個樣本的值,fs是生成該波形文件時的采樣率,bits是波形文件每樣本的編碼位數(shù)。 >> sound(x,fs,bits);%

35、按指定的采樣率和每樣本編碼位數(shù)回放 >> N=length(x); % 計算信號x的長度 >> fn=3500;% 單頻噪聲頻率 >> t=0:1/fs:(N-1)/fs;% 計算時間范圍,樣本數(shù)除以采樣頻率 >> x=x(:,1)'y=x+0.5*sin(fn*2*pi*t);%加入噪聲函數(shù) >> sound(y,fs,bits);% 回放,應(yīng)該可以明顯聽出有尖銳的單頻嘯叫聲 >> X=abs(fft(x);

36、Y=abs(fft(y);% 對原始信號和加噪信號進行fft變換,取幅度譜 >> X=X(1:N/2); Y=Y(1:N/2);% 截取X的前半部分, 截取Y的前半部分 >> deltaf=fs/N;% 計算頻譜的譜線間隔 >> f=0:deltaf:fs/2-deltaf;% 計算頻譜頻率范圍 >> figure(1) >> subplot(2,2,1);plot(t,x);grid %畫出加噪前后信號的時域和頻域波形,布局為2*2子圖,加上橫縱坐標(biāo),網(wǎng)

37、格和標(biāo)題。 >> axis(0,2,-1.1,1.1) >> xlabel('t');ylabel('x'); title('加噪聲前的時域波形圖'); >> subplot(2,2,2);plot(f,X);grid axis(0,8000,0,4000) >> xlabel('f');ylabel('X');title(&

38、amp;#39;加噪聲前的頻域波形圖'); >> subplot(2,2,3);plot(t,y);grid >> axis(0,2,-2.1,2.1) >> subplot(2,2,4);plot(f,Y);grid axis(0,8000,0,6000) >> xlabel('f');ylabel('Y'); title('加噪聲后的頻域波形圖'); % 程序名稱:使用

39、BARTHANNWIN窗設(shè)計的FIR濾波器 % 程序功能:使用BARTHANNWIN窗設(shè)計FIR濾波器,觀察濾波器的相位和幅度特 性圖形 % 程序 王二 % 最后修改日期:- >> fpd=3000;fsd=3400;fsu=3600;fpu=4000;Rp=1;As=30; % 帶阻濾波器設(shè)計指標(biāo) >> fcd=(fpd+fsd)/2;fcu=(fpu+fsu)/2;df=min(fsd-fpd),(fpu-fsu); % 計算上下邊帶中心頻率,和頻率間隔 >> wcd=fcd/fs*2*pi;wcu=fcu

40、/fs*2*pi;dw=df/fs*2*pi; % 將Hz為單位的模擬頻率換算為rad為單位的數(shù)字頻率 >> wsd=fsd/fs*2*pi;wsu=fsu/fs*2*pi; >> M=ceil(5.6*pi/dw); % 計算BARTHANNWIN窗設(shè)計該濾波器時需要的階數(shù) >> n=0:M-1; % 定義時間范圍 >> w_barth=BARTHANNWIN(M); % 產(chǎn)生M階的BARTHANNWIN窗 >> hd_bs=ideal_lp(wcd,M

41、)+ideal_lp(pi,M)-ideal_lp(wcu,M); % 調(diào)用自編函數(shù)計算理想帶阻濾波器的脈沖響應(yīng) >> h_bs=w_barth'.*hd_bs; % 用窗口法計算實際濾波器脈沖響應(yīng) >> db,mag,pha,grd,w=freqz_m(h_bs,1); % 調(diào)用自編函數(shù)計算濾波器的頻率特性 >> figure(2) >> subplot(2,2,1);plot(w/pi,db);grid >> axis(0,0.6,-4

42、0,10) >> xlabel('w/pi');ylabel('db'); title('以db為單位的幅度特性'); a=0 3;b=-30 -30;line(a, b,'Color','r','LineStyle','-'); a=0 3;b=-1 -1;line(a, b,'Color','r

43、','LineStyle','-'); a=wsd/pi wsd/pi;b=-40 10;line(a, b,'Color','r','LineStyle','-'); a=wsu/pi wsu/pi;b=-40 10;line(a, b,'Color','r','LineStyle',&

44、;#39;-'); >> subplot(2,2,2);plot(w/pi,mag);grid >> xlabel('w/pi');ylabel('幅度mag'); title('以線性為單位的幅度特性'); >> subplot(2,2,3);plot(w/pi,pha);grid >> axis(0,1.2,-4,4) >> xlabel(&

45、amp;#39;w/pi');ylabel('相位phg'); title('濾波器相位響應(yīng)圖'); axis tight; >> subplot(2,2,4);stem(n,h_bs);grid >> axis(0,150,-0.3,0.7) >> xlabel('n');ylabel('h(n)'); title('濾波器響應(yīng)圖');

46、 axis tight; % 程序名稱:信號濾波處理 % 程序功能:對信號進行濾波處理得到濾波后的時域和頻率波形圖 % 程序 王二 % 最后修改日期:- figure(3) >> y_fil=fftfilt(h_bs,y); % 用設(shè)計好的濾波器對y進行濾波 >> Y_fil= abs(fft(y_fil);Y_fil=Y_fil(1:N/2); % 計算頻譜取前一半 >> subplot(3,2,1);plot(t,x);grid >> axis(0,2,-1.1,1.1) &am

47、p;gt;> xlabel('t');ylabel('x'); title('加噪聲前的時域波形圖'); >> subplot(3,2,2);plot(f,X);grid >> axis(0,8000,0,4000) >> xlabel('f');ylabel('X');title('加噪聲前的頻域波形圖'); >> subplot(3,2,3);plot(t,y);grid >> axis(0,2,-2.1,2.1) >> xlabel('t');ylabel(&#3

溫馨提示

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

評論

0/150

提交評論