語音信號濾波去噪--使用雙線性變換法設(shè)計的級聯(lián)型橢圓濾波器_第1頁
語音信號濾波去噪--使用雙線性變換法設(shè)計的級聯(lián)型橢圓濾波器_第2頁
語音信號濾波去噪--使用雙線性變換法設(shè)計的級聯(lián)型橢圓濾波器_第3頁
語音信號濾波去噪--使用雙線性變換法設(shè)計的級聯(lián)型橢圓濾波器_第4頁
語音信號濾波去噪--使用雙線性變換法設(shè)計的級聯(lián)型橢圓濾波器_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 26 頁 共 25 頁Su 語音信號濾波去噪-使用雙線性變換法設(shè)計的級聯(lián)型橢圓濾波器 語音信號濾波去噪使用雙線性變換法設(shè)計的級聯(lián)型橢圓濾波器學(xué)生姓名:Su 指導(dǎo)老師: 摘 要 本課程設(shè)計主要內(nèi)容是利用雙線性變換法設(shè)計一個級聯(lián)型的橢圓IIR濾波器,對一段含噪語音信號進行濾波去噪處理并根據(jù)濾波前后的波形和頻譜分析濾波性能。本課程設(shè)計仿真平臺為MATLAB7.0,開發(fā)工具是M語言編程。首先在windows下用錄音機工具錄制一段語音信號,并人為加入一單頻噪聲,然后對信號進行頻譜分析以確定所加噪聲頻率,并設(shè)計濾波器進行濾波去噪處理,最后比較濾波前后的波形和頻譜并進行分析。由分析結(jié)果可知,濾波器后的語

2、音信號與原始信號基本一致,即設(shè)計的IIR濾波器能夠去除信號中所加單頻噪聲,達(dá)到了設(shè)計目的。關(guān)鍵詞 濾波去噪;IIR橢圓濾波器;雙線性變換法;級聯(lián)型; MATLAB1 引 言信號處理是科學(xué)研究和工程技術(shù)許多領(lǐng)域都需要進行的一個重要環(huán)節(jié),傳統(tǒng)上對信號的處理大都采用模擬系統(tǒng)實現(xiàn)。隨著人們對信號處理要求的日益提高,以及模擬信號處理中一些不可克服的缺點,對信號的許多處理而采用數(shù)字的方法進行。數(shù)字信號處理系統(tǒng)無論在性能、可靠性、體積、耗電量、成本等諸多方面都比模擬信號處理系統(tǒng)優(yōu)越的多,使得許多以往采用模擬信號處理的系統(tǒng)越來越多地被數(shù)字處理系統(tǒng)所代替,數(shù)字信號處理技術(shù)在通信、語音、圖像、自動控制、雷達(dá)、軍事

3、、航空航天、醫(yī)療和家用電器等眾多領(lǐng)域得到了廣泛的應(yīng)用。濾波器是一種用來消除干擾雜訊的器件,凡是可以使信號中特定的頻率成分通過,而極大地衰減或抑制其他頻率成分的裝置或系統(tǒng)稱之為濾波器。在數(shù)字信號處理中,數(shù)字濾波器設(shè)計在電子工程、應(yīng)用數(shù)學(xué)和計算機科學(xué)領(lǐng)域都是非常重要的內(nèi)容。設(shè)計濾波器的方法有多種,在各種濾波器中,橢圓濾波器相比其他類型的濾波器,在階數(shù)相同的條件下有著最小的通帶和阻帶波動,它在通帶和阻帶的波動相同。本課程設(shè)計主要解決在含噪情況下對語音信號的濾波去噪處理,處理時采用的是利用雙線性變換法設(shè)計的級聯(lián)型的橢圓IIR濾波器。 1.1 課程設(shè)計目的本課程設(shè)計主要是用錄音機采集一段語音信號,利用M

4、ATLAB,加入一個帶外單頻噪聲,使用雙線性變換法設(shè)計的級聯(lián)型橢圓濾波器,對該含噪語音信號進行濾波去噪處理,畫出級聯(lián)型濾波器結(jié)構(gòu)圖。比較濾波前后的波形和頻譜并進行分析,根據(jù)結(jié)果和學(xué)過的理論得出合理的結(jié)論,從而加深對所學(xué)知識的理解,加強我們的動手操作能力。另一方面也是對課堂所學(xué)的理論知識應(yīng)用于實踐中,熟悉和鞏固濾波器的設(shè)計原理與方法,掌握雙線性變換法級聯(lián)型橢圓濾波器的設(shè)計方法和有關(guān)濾波器設(shè)計的相關(guān)經(jīng)典算法,熟練地利用MATLAB語言進行設(shè)計濾波器。通過本次課程設(shè)計,可以運用所學(xué)的東西解決一些實際的問題,提高自身對所學(xué)知識的綜合運用能力以及分析和解決問題的能力。1.2 課程設(shè)計的要求(1)濾波器指

5、標(biāo)必須符合工程實際。(2)設(shè)計完后應(yīng)檢查其頻率響應(yīng)曲線是否滿足指標(biāo)。(3)處理結(jié)果和分析結(jié)論應(yīng)該一致,而且應(yīng)符合理論。(4)獨立完成課程設(shè)計并按要求編寫課程設(shè)計報告書。1.3 設(shè)計平臺本次課程設(shè)計中所用到的軟件平臺是是由美國mathworks公司發(fā)布的MATLAB軟件。MATLAB是矩陣實驗室(MatrixLaboratory)的簡稱,它和Mathematical、Maple并稱為三大數(shù)學(xué)軟件。除具備卓越的數(shù)值計算能力外,它還提供了專業(yè)水平的符號計算,文字處理,可視化建模仿真和實時控制等功能。MATLAB可以進行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)

6、用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。 MATLAB 的應(yīng)用范圍非常廣,包括信號和圖像處理、通訊、控制系統(tǒng)設(shè)計、測試和測量、財務(wù)建模和分析以及計算生物學(xué)等眾多應(yīng)用領(lǐng)域。附加的工具箱(單獨提供的專用 MATLAB 函數(shù)集)擴展了 MATLAB 環(huán)境,可以解決這些應(yīng)用領(lǐng)域內(nèi)特定類型的問題?,F(xiàn)在MATLAB已經(jīng)成為國際上最流行的科學(xué)與工程計算軟件工具,它已不僅僅是一個“矩陣實驗室”了,它已經(jīng)成為一種最具有廣泛應(yīng)用前景的全新的計算機高級語言,在世界上很多國家,MATLAB已經(jīng)成為線性代數(shù)、自動控制理論、數(shù)理統(tǒng)計、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真等

7、高級課程的基本教學(xué)工具;成為攻讀學(xué)位的大學(xué)生、碩士生、博士生必須掌握的基本技能。在設(shè)計研究單位和工業(yè)部門,MATLAB也被廣泛用于科學(xué)研究和解決各種具體問題當(dāng)中1。2 設(shè)計原理2.1 IIR濾波器IIR濾波器,又名“無限脈沖響應(yīng)濾波器”,或“遞歸濾波器”。遞歸濾波器,也就是IIR數(shù)字濾波器,顧名思義,具有反饋性,一般認(rèn)為具有無限的脈沖響應(yīng),因此IIR濾波器能夠與模擬濾波器相匹敵2。一個IIR濾波器的系統(tǒng)函數(shù)給出為 (2.1) 其中和是濾波器系數(shù)。不失一般性已假定。如果。N就是這個IIR濾波器的階。一個IIR濾波器的差分方程表示是1 (2.2)IIR濾波器具有系統(tǒng)的沖擊響應(yīng)是無窮長的、系統(tǒng)函數(shù)在

8、有限z平面上和結(jié)構(gòu)上存在遞歸的特點。一個IIR濾波器可以用三種結(jié)構(gòu)實現(xiàn),這三種結(jié)構(gòu)包括直接型、級聯(lián)型和并聯(lián)型,其中直接型又可分為直接型和直接型兩種。級聯(lián)型中,將系統(tǒng)函數(shù)H(z)寫成具有實系數(shù)的二階節(jié)的乘積 (2.3) 式中,和都是代表實數(shù)的二階節(jié)系數(shù)。這些二階節(jié)是 (2.4)稱為第k個雙二階節(jié)。每個級聯(lián)型結(jié)構(gòu)的濾波器都可以由k個雙二階節(jié)用直接型實現(xiàn),雙二階節(jié)結(jié)構(gòu)圖如圖2-1所示。圖2-1 雙二階節(jié)結(jié)構(gòu)一般說來,所有的模擬濾波器都有無限長的脈沖響應(yīng),因此IIR濾波器的設(shè)計基本方法是利用復(fù)值映射將模擬濾波器變換為數(shù)字濾波器。目前,已有許多成熟的模擬濾波器應(yīng)用于信號處理中,如巴特沃茲濾波器、切比雪夫

9、(型和型)濾波器、橢圓濾波器等,我們將這些各有特色的模擬濾波器成為原型濾波器。在設(shè)計IIR濾波器時,可以直接借用這些典型的模擬濾波器進行轉(zhuǎn)換,這種方法稱為A/D(模擬數(shù)字)濾波器變換。因為AFD表格僅對低通濾波器適用,但在實際應(yīng)用中也會需要設(shè)計其他頻率選擇性濾波器(高通、帶通、帶阻濾波器等等)3。為此需要對低通濾波器實行頻帶變換,基本方法存在兩種途徑,如圖2-2所示。途徑1:途徑2:圖2-2 IIR濾波器的兩種設(shè)計途徑在MATLAB中采用第一種途徑設(shè)計IIR濾波器。2.2 橢圓低通濾波器橢圓濾波器又稱考爾濾波器,是通帶和阻帶等波紋的一種濾波器。在階數(shù)相同的條件下,與巴特沃茲濾波器和切比雪夫濾波

10、器相比,橢圓濾波器有著最小的通帶和阻帶波動。就這點而言, 橢圓濾波器是最優(yōu)的。從傳遞函數(shù)來看,橢圓函數(shù)濾波器在有限頻率上既有零點又有極點。極零點在通帶內(nèi)產(chǎn)生等波紋, 阻帶內(nèi)的有限傳輸零點減少了過渡區(qū), 可獲得極為陡峭的衰減曲線。但它陡峭的過渡帶特性是用通帶和阻帶的起伏為代價來換取的,并且在通帶和阻帶的波動相同,這一點區(qū)別于在通帶和阻帶都平坦的巴特沃斯濾波器,以及通帶平坦、阻帶等波紋或是阻帶平坦、通帶等波紋的切比雪夫濾波器。橢圓濾波器的傳輸函數(shù)是一種較復(fù)雜的逼近函數(shù), 利用傳統(tǒng)的設(shè)計方法進行電路網(wǎng)絡(luò)綜合要進行繁瑣的計算, 還要根據(jù)計算結(jié)果進行查表, 整個設(shè)計, 調(diào)整都十分困難和繁瑣。為此,常常需

11、要用一些程序和表格來設(shè)計橢圓濾波器,用MATLAB設(shè)計它們可以大大簡化設(shè)計過程。橢圓濾波器的幅度平方響應(yīng)給出為 (2.5) 式中是通帶波紋(它與有關(guān)) ,是N階雅可比(Jacobian)橢圓函數(shù),N是階次。對于奇數(shù)和偶數(shù)N,可得到不同的橢圓濾波器的幅度響應(yīng)特性圖,具體如下圖2-3所示。圖2-3 橢圓濾波器的幅度特性其中橢圓濾波器階次N的計算公式給出為 (2.6)式中,和。當(dāng)確定了階次N,便可設(shè)計橢圓濾波器了。MATLAB中提供了豐富的函數(shù),我們可將MATLAB中一個afd_elip函數(shù)用于設(shè)計一個已知設(shè)計指標(biāo)的模擬低通濾波器3。2.3 雙線性變換法雙線性變換法保留的是從模擬到數(shù)字域的系統(tǒng)函數(shù)的

12、表示,它是一種穩(wěn)定的變換。雙線性變換的主要優(yōu)點是S平面與Z平面是一種一一對應(yīng)的單值關(guān)系,這種影射是最好的變換方法,具體變換公式為 (2.7)這里T為采樣間隔。式(2.7)亦可轉(zhuǎn)換為 (2.8)從式(2.8)可以看出,只要其中一個變量固定,這在每個變量上都是線性的,也就是說在s和z上是雙線性的。在式(2.7)的制約下的復(fù)平面影射如圖2-4所示。從圖中可以看出,圖2-4 雙線性變換法中的復(fù)平面影射第一步先將整個S平面壓縮影射到S1平面的之間的一條橫帶里;第二步再通過標(biāo)準(zhǔn)變換關(guān)系將此橫帶轉(zhuǎn)換到整個Z平面上去3。由圖2-4可以看出,S1平面的整個左半平面影射到單位圓內(nèi),S1平面的虛軸(整個j)對應(yīng)于Z

13、平面單位圓的一周,S1平面的=0處對應(yīng)于Z平面的=0處,所以雙線性變換不存在混迭效應(yīng)。為了將S平面的j軸壓縮到S1平面j1軸上的到段上,可以通過如下正切變換實現(xiàn) (2.9)由此可求得1。當(dāng)1由經(jīng)過0 變化到時,由-經(jīng)過0變化到,也即影射了整個j軸。將式(2.9)寫成 (2.10)令s=j,s1= j1,則可得到 (2.11)最后通過標(biāo)準(zhǔn)變換關(guān)系將S1平面映射到Z平面上去,便可得到式(2.7)所示的S平面和Z平面的單值影射關(guān)系。這便是雙線性變換4。3 設(shè)計步驟3.1 設(shè)計流程圖語音信號濾波去噪使用雙線性變換法設(shè)計的橢圓濾波器的設(shè)計流程如圖3-1所示。利用錄音機錄制一段語音信號對語音信號進行頻譜分

14、析,畫出時域和頻域波形圖使用雙線性變換法設(shè)計級聯(lián)型橢圓濾波器,用設(shè)計好的橢圓濾波器對語音信號進行濾波,并對比分析濾波前后語音信號波形 開始結(jié)束在MATLAB軟件平臺下,用wavread函數(shù)對該語音信號進行采樣,并加入單頻噪聲在MATLB平臺下用sound函數(shù)回放語音信號繪制級聯(lián)型橢圓濾波器結(jié)構(gòu)圖圖3-1 設(shè)計流程圖3.2 錄制語音信號及加噪利用Windows平臺下的錄音機,錄制一段語音信號“大家好,我是*”,時間在1-2s左右。錄制時,單擊如圖3-2所示的錄音機界面的圓圈,便可錄制語音信號。錄音完畢,點擊如圖3-2所示的方形,錄制結(jié)束。圖3-2 錄音機界面通過點擊錄音界界面上的文件,選擇下拉菜

15、單中的屬性,在彈出的對話框中點擊立即轉(zhuǎn)換,設(shè)置錄音的格式為PCM編碼,屬性8kHz,8位,單聲道7kB/s,這樣的設(shè)置在相同的時間下數(shù)據(jù)最少,處理時間也就最短,如圖3-3所示。圖3-3 格式設(shè)置對話框格式設(shè)置好后,點擊文件,在下拉菜單中選擇另存為su.wav,并將其放入到MATLAB安裝盤下的work文件夾中。然后在MATLAB軟件平臺下,利用函數(shù)wavread將語音信號讀入workspace,并對其進行頻譜分析,畫出時域和頻域波形圖。函數(shù)wavreadd的調(diào)用格式為x,fs,nbits=wavread(file)其中x為采樣值;fs為采樣頻率,單位為Hz;bits表示采樣位數(shù);file表示待

16、讀取的文件名和全路徑。采集完成后在信號中加入一頻率為2200Hz的單頻噪聲,然后設(shè)計濾波器將信號中加入的單頻噪聲濾除,還原出原始信號。下面是語音信號采集及加入單頻噪聲的部分程序。x,fs,bits=wavread('e:su.wav'); % 輸入?yún)?shù)為文件的全路徑和文件名N=length(x); % 計算信號x的長度fn=2200; % 單頻噪聲頻率t=0:1/fs:(N-1)/fs; % 計算時間范圍,樣本數(shù)除以采樣頻率x=x' y=x+0.1*sin(fn*2*pi*t);wavwrite(y,fs,bits,'su1'); %將加噪后的語音信號寫

17、成wav文件,并命名為su1在MATLAB平臺上執(zhí)行,可以通過sound (y,fs,bits) 回放該語音信號,加入單頻干擾后,在明顯聽出“大家好,我是*”的聲音中伴隨較尖銳的干擾嘯叫聲。加入單頻干擾信號后,畫出干擾前后語音信號的時域波形,然后進行快速傅里葉變換,得到信號的頻譜特性圖??焖俑道锶~變換算法FFT計算DFT的函數(shù)為fft,其調(diào)用格式為X=fft(x,n)其中x為被變換的時域序列向量,n是DFT的變換區(qū)間長度,當(dāng)n大于x的長度時,fft函數(shù)自動在x后面補零。當(dāng)n小于xn的長度時,fft函數(shù)計算x的前n個元素,忽略其后面的元素。X=abs(fft(x); Y=abs(fft(y);

18、% 對原始信號和加噪信號進行fft變換,取幅度譜X=X(1:N/2); Y=Y(1:N/2); % 截取前半部分deltaf=fs/N; % 計算頻譜的譜線間隔f=0:deltaf:fs/2-deltaf; % 計算頻譜頻率范圍在MATLAB平臺中執(zhí)行后,得到原始語音信號和加入干擾后的語音信號的時域和頻域波形圖如圖3-4所示。由圖可以看出,加入單頻干擾信號后,在時域波形圖中,加入干擾后的語音信號的幅度明顯比原始語音信號的大;在頻域波形圖中,在2200Hz處明顯出現(xiàn)一尖銳單峰,與干擾頻率剛好一致。圖3-4 加噪前后語音信號時域和頻域波形比較 3.3 濾波器設(shè)計濾波器的設(shè)計指標(biāo)是通帶截至頻率fp=

19、2000Hz,阻帶截至頻率fc=2150Hz,通帶波紋為1dB,阻帶波紋為60dB。這里用雙線性變換法設(shè)計一個滿足上述指標(biāo)的橢圓低通濾波器。MATLAB中提供了一個稱為z,p,k=ellipap(N,Rp,AS)的函數(shù)用于設(shè)計一個階次為N,通帶波紋為Rp和阻帶波紋為As的歸一化橢圓模擬原型濾波器。在這里用一個不是MATLAB系統(tǒng)自帶的稱為afd_elip的函數(shù)用于設(shè)計一個已知設(shè)計指標(biāo)時的模擬橢圓低通濾波器,然后再利用雙線性進行模數(shù)轉(zhuǎn)換得到所要求的IIR濾波器。afd_elip的調(diào)用格式為b,a=afd_elip(Wp,Ws,Rp,As)其中b為濾波器系統(tǒng)函數(shù)的分子,a為濾波器系統(tǒng)函數(shù)的分母,W

20、p為進行了預(yù)畸變的通帶截至頻率,Ws為進行了預(yù)畸變的阻帶截至頻率。設(shè)計濾波器的部分主要程序如下fn=2200; fs=8000; Rp=1;As=60;%低通濾波器設(shè)計指標(biāo)fp=fn-200;fc=fn-50; %定義通帶和阻帶截止頻率wp=fp/fs*2*pi;ws=fc/fs*2*pi; %計算對應(yīng)的數(shù)字頻率T=1; %定義采樣間隔Omegap=2/T*tan(wp/2);Omegas=2/T*tan(ws/2); %截止頻率預(yù)畸變c,d=afd_elip(Omegap,Omegas,Rp,As) % 計算濾波器系統(tǒng)函數(shù)分子分母系數(shù)b,a=bilinear(c,d,1/T) % 雙線性變換

21、得到數(shù)字濾波器系統(tǒng)函數(shù)分子分母系數(shù)db,mag,pha,grd,w=freqz_m(b,a); %計算橢圓低通濾波器的幅度,幅度響應(yīng),脈沖響應(yīng)和相位響應(yīng)等數(shù)據(jù)圖,驗證濾波器是否達(dá)到指定性能delta=1,zeros(1,99);ha=filter(b,a,delta);%計算脈沖響應(yīng)得到的橢圓濾波器的幅度、幅度響應(yīng)、相位響應(yīng)和脈沖響應(yīng)圖如圖3-5所示。圖3-5 濾波器的幅度、幅度響應(yīng)、相位響應(yīng)和脈沖響應(yīng)圖圖3-5中,第一幅圖中的兩根橫線上面的橫線是Rp,下面的一根橫線表示As;兩根豎線中,左邊的一根是Wp,右邊的一根表示W(wǎng)s,把這四根線通過函數(shù)line標(biāo)出,可以更直觀得判斷設(shè)計是否達(dá)標(biāo)。由圖中

22、可看出,設(shè)計的濾波器為理想的濾波器。3.4 信號濾波處理用設(shè)計好了的濾波器對采樣信號進行濾波處理,將加入的干擾信號濾除,還原出原始語音信號,并將還原出的語音信號用wavwrite函數(shù)寫成wav文件。在MATLAB,IIR濾波器利用函數(shù)filter對信號進行濾波,其調(diào)用格式為y_fil=filter(b,a,y)其中b為進行雙線性變換后得到的數(shù)字濾波器系統(tǒng)函數(shù)的分子系數(shù),a為進行雙線性變換后得到的數(shù)字濾波器系統(tǒng)函數(shù)的分母系數(shù)。濾波器對信號進行濾波的主要程序如下y_fil=filter(b,a,y); % 用設(shè)計好的IIR濾波器對信號進行濾波處理Y_fil=fft(y_fil);Y_fil=Y_f

23、il(1:N/2); % 計算頻譜取前一半wavwrite(y_fil,fs,bits,'su2');%將濾波后的語音信號寫成wav文件得到原始信號、加噪信號和濾波去噪信號的時域和頻譜圖如圖3-6所示。由圖3-6可以圖3-6 濾波前后信號的時域和頻譜圖明顯地看出,無論時域波形圖還是頻譜圖,濾波后,加入的噪聲被有效地抑制,達(dá)到了濾波去噪的效果,能夠較好地還原出原始信號。3.5 結(jié)果分析在MATLAB中,經(jīng)sound函數(shù)對經(jīng)過橢圓濾波器濾波之后的語音信號進行回放,可以聽出濾波之后的信號比原始信號還清晰一些,因為周圍環(huán)境的聲音被濾除了一些,加入的干擾信號也被濾除了。Sound函數(shù)的調(diào)

24、用格式為Sound(x,fs,bits)其中x表示語音信號文件,fs表示采樣頻率,bits表示文件編碼時用到的樣本編碼位數(shù)。sound(x,fs,bits); %按指定的采樣率和每樣本編碼位數(shù)回放sound(y,fs,bits); %可以明顯聽出有尖銳的單頻嘯叫聲sound(y_fil,fs,bits); % 按指定的采樣率和每樣本編碼位數(shù)回放在MATLAB平臺上,利用前面的程序,分別插入上面的三個語句并運行程序,我們可以依次聽到清晰的原始錄音、伴有尖銳的嘯叫聲的語音和清晰的與原始語音差別不大的濾波后的語音,所得的結(jié)果證明了橢圓濾波器設(shè)計成功。下面與兩個同學(xué)的使用雙線性變換設(shè)計的級聯(lián)型的切比雪

25、夫型濾波器和巴特沃茲濾波器的濾波效果進行比較。加入干擾后的語音信號經(jīng)這三位同學(xué)的濾波器濾波后,得到的原始信號、加噪信號和濾波去噪信號的時域和頻譜圖如圖3-7所示。(a) 切比雪夫型濾波器濾 (b)巴特沃茲濾波器圖3-7 雙線性變換設(shè)計的不同濾波器濾波效果圖將圖3-6和圖3-7對比就可以看出,相同的設(shè)計指標(biāo)fp=2000Hz, fc=2150Hz,Rp=1dB,As=60dB,巴特沃茲的濾波效果相對于其他三種濾波器來說濾波效果是最差的,而且需要的階數(shù)也最高,為65階。但從圖中,很難看出橢圓濾波器和切比雪夫型濾波器濾這兩種濾波器的優(yōu)劣,我們可以通過MATLAB的運行結(jié)果可以知道,契比雪夫、型濾波器

26、所需要的階數(shù)都是17階,說明它們具有相同的性能;而橢圓濾波器具有最小的階數(shù)8,說明它的性能在這個意義上是最優(yōu)的。3.6 濾波器結(jié)構(gòu)設(shè)計利用前面的3.3節(jié)濾波器的設(shè)計中經(jīng)過雙線性變換得到的數(shù)字濾波器系統(tǒng)函數(shù)的分子分母,調(diào)用函數(shù)C,B,A=dir2cas(b,a),將IIR濾波器的直接型轉(zhuǎn)換成級聯(lián)型,運行的結(jié)果如下C,B,A=dir2cas(b,a)C = 0.0249B = 1.0000 1.7552 1.0000 1.0000 0.8262 1.0000 1.0000 0.3594 1.0000 1.0000 0.2106 1.0000A = 1.0000 -0.0013 0.9731 1.0

27、000 -0.1267 0.8885 1.0000 -0.4776 0.6957 1.0000 -1.0324 0.3982根據(jù)以上參數(shù),將濾波器結(jié)構(gòu)用visio繪圖軟件畫好,并填上系數(shù)。畫濾波器結(jié)構(gòu)圖的具體操作步驟首先是打開visio繪圖軟件,點擊文件新建新建繪圖,進入繪圖的界面。點擊繪圖對話框中的線條工具,可以跟據(jù)自己的喜好選擇繪制結(jié)構(gòu)圖線條的大小和線段,在繪圖界面中間白色的網(wǎng)格中便可以繪制濾波器的結(jié)構(gòu)圖了。畫好的級聯(lián)型橢圓濾波器的結(jié)構(gòu)圖如圖3-8所示。圖3-8 級聯(lián)型橢圓濾波器的結(jié)構(gòu)圖4 出現(xiàn)的問題及解決方法從一開始接觸MATLAB已經(jīng)有一年多的時間了,而且已經(jīng)運用MATLB軟件做過了一

28、次課程設(shè)計,但是到真正再次操作起來還是感覺很生疏,對MATLAB的提供的函數(shù)的調(diào)用還是不熟悉。所以,這次又是在MATLAB平臺上操作的課程設(shè)計,從一開始就遇到了許多問題,但在老師和同學(xué)的幫助下,當(dāng)然也在自己的努力下,問題都一一得到了解決。剛開始,因為沒有電腦的錄音機的麥克風(fēng)壞掉了,一連換了好多臺都錄不進去,最后在一個麥克風(fēng)是好的的同學(xué)那里好不容易錄了一段音,結(jié)果因為背景有太多雜音,運行后得到的語音信號用自己設(shè)計的濾波器濾波效果不是很好,最后在下課后機房沒有什么人的時候又重錄了一段,這次的錄音質(zhì)量終于好了一些。還有就是在畫語音信號的時域和頻域波形圖的時候,沒有對波形的坐標(biāo)進行修正,觀察比較的效果

29、圖不是很好。在老師的指導(dǎo)下,用axis函數(shù)進行修正,便可以得到比較好看的信號時域和頻譜波形圖,下面圖4-1是修正前和修正后的波形圖。圖4-1 用函數(shù)axis修正前后的波形圖在調(diào)用fld_elip等函數(shù)時,因為沒有把老師提供的function文件夾放進到MATLAB工作下的work文件夾中,在運行程序的時候老是出錯,提示調(diào)用的函數(shù)不存在。最后問同學(xué),才知道系統(tǒng)中沒有這些函數(shù),調(diào)用時要把這些函數(shù)的腳本放到MATLAB工作的路徑下。設(shè)計濾波器時,因為參數(shù)沒有設(shè)置好,得到的濾波器濾波效果很不好,最后通過修改阻帶波紋,改善了濾波器的濾波效果。在設(shè)計濾波器的時候還遇到了一個問題,就是在畫濾波器的幅度譜圖的

30、時候,需要在Wp,Ws,Rp和As處畫線以便更直觀判斷設(shè)計得濾波器是否達(dá)標(biāo)。因為當(dāng)時還不太理解標(biāo)注的原理,結(jié)果因為第一次用的是下面的程序xx=0 1;yy=0 0;line(xx, yy,'Color','r','LineWidth',2,'LineStyle','-');xx=0 1;yy=-4 -4;line(xx, yy,'Color','r','LineWidth',2,'LineStyle','-');xx=wp/pi wp/

31、pi;yy=-90 90;line(xx, yy,'Color','r','LineWidth',2,'LineStyle','-');xx=ws/pi ws/pi;yy=-90 90;line(xx, yy,'Color','r','LineWidth',2,'LineStyle','-');運行得到的結(jié)果得到如下圖4-2所示的濾波器波形圖,這個圖是不正確的。圖4-2 -As標(biāo)錯的濾波器波形圖后來在老師批改了作業(yè),并指出了自己的問題,

32、把上面的程序改為X_l=0,0,wp/pi,ws/pi;1,1,wp/pi,ws/pi;Y_l=-As,-Rp,-90,-90;-As,-Rp,3,3;% 在wp,ws,Rp,As處畫線以更直觀判斷設(shè)計是否達(dá)標(biāo),每列參數(shù)是每個線條的端點坐標(biāo)line(X_l,Y_l,'Color','r','LineWidth',2,'LineStyle','-') % 添加線條,紅色,線寬為2運行得到正確的濾波器波形圖如下圖4-3所示。圖4-3 As標(biāo)錯的濾波器波形圖5 結(jié)束語在這短短的兩個星期的數(shù)字信號處理課程設(shè)計中,因為一直在

33、不停的做老師布置的任務(wù),感覺時間過得飛快而且充實。這次課程設(shè)計,因為在第一個星期內(nèi)就得把所有設(shè)計任務(wù)完成,同時還要把論文初稿完成提交給老師批改,所以其實也不能算是兩個星期。但是,時間雖然短,但感覺比自己一個學(xué)期學(xué)到的關(guān)于數(shù)字信號處理的知識還要多,而且動手能力也得到了大大的提高。首先,因為之前上數(shù)字信號處理的課程,都是只聽課,而沒有動手操作,即使后來有實驗課也因為某種原因沒有將自己所學(xué)的東西在MATLAB平臺上進行實踐操作,致使到做這個課程設(shè)計之前對數(shù)字信號處理的意義都是不太明朗的。如今,因為這個課程設(shè)計,我懂得了數(shù)字信號處理的許多用途,對模擬濾波器和數(shù)字濾波及它們之間的轉(zhuǎn)換也有了更深入的了解,

34、而且可以自己動手設(shè)計濾波器了。在這幾次課程設(shè)計中,現(xiàn)在再次體會到了平時學(xué)習(xí)理論知識與實踐之間的差距。學(xué)習(xí)是一個過程,如果你不會把自己所學(xué)的東西應(yīng)用于實踐,那么這些知識永遠(yuǎn)都不會是你的。而我平時學(xué)習(xí),總沒有深入地去研究,所以到實際去操作時就會碰到各種各樣的問題,然后被卡住,實踐就進行不下去了。這次課程設(shè)計我的課題是語音信號濾波去噪使用雙線性變換法設(shè)計級聯(lián)型的橢圓濾波器,開始就因為自己對知識理解得不夠透徹,遇到許多問題,但最后在老師和同學(xué)的幫助下都解決了,成功地完成了濾波器的設(shè)計任務(wù)。所以,學(xué)習(xí)就應(yīng)扎扎扎實實地去學(xué),不僅要往廣度學(xué),還要深入研究,而且要加強自己的動手操作能力。其次,在這兩周的課程設(shè)

35、計中,我學(xué)到了很多東西,了解到了MATLAB強大的功能。同時,也懂得了要熟練的操作MARTLAB,就必須掌握編程所需的各種函數(shù)和語句。MATLAB的函數(shù)庫與編程語句量是非常大的,要完全掌握是很困難的,所以需要我們平時自己多練習(xí),慢慢的理解MATLAB的編程規(guī)律,一點一點地積累。最后,在這兩周的課程設(shè)計中,我每天的日子都過得很忙碌,每天寫程序,編譯,糾錯,上網(wǎng)查資料,拿自己設(shè)計的課題所學(xué)要設(shè)計的濾波器反復(fù)地研究。雖然有時候在自己編譯的程序老是報錯的時候會很苦惱,上網(wǎng)查資料查得自己頭暈眼花的,寫報告的那兩天常常寫凌晨困得不行的時候才爬到床上去睡覺,等老師批改完之后還要修改,心里會很郁悶,可是等到自

36、己的程序編譯成功,自己設(shè)計的濾波器成功的那一剎那,心情又是極度喜悅的,這樣的日子讓自己感到過得很充實。在這段時間中,同學(xué)和同學(xué)之間,老師和同學(xué)之間的交流也是最多的。一群同學(xué)之間在一起共同討論自己所遇到的問題,老師在一邊耐心地指導(dǎo)的場面,感覺很和諧。這次課程設(shè)計讓我充分認(rèn)識到同學(xué)間合作的重要性,你自己的一個小小的問題怎么也發(fā)現(xiàn)不了,找同學(xué)幫忙,他可能一下子就可以幫你指出來了。在這個過程中我認(rèn)識到堅持、耐心和細(xì)心等品質(zhì)的重要性,這對我今后的無論是學(xué)習(xí)、生活,抑或是工作都有很大的幫助??傊?,這次課程設(shè)計使我獲益匪淺。最后,在此我由衷地感謝各位幫助過我的老師和同學(xué)們! 6 參考文獻1 張威. MATL

37、ANB基礎(chǔ)與編程入門.2.西安.西安電子科技大學(xué)出版社,20082 王靖. 李永全.數(shù)字橢圓濾波器的Matlab設(shè)計與實現(xiàn).現(xiàn)代電子技術(shù),2007,6 : 2453 維納K恩格爾,約翰G普羅克斯.劉樹棠.陳志剛.數(shù)字信號處理.3.西安.西安交通大學(xué)出版社,20134 劉鳳舉.吳簡彤.劉力.基于雙線性變換法的IIR數(shù)字濾波器設(shè)計與matlab仿真.自動化技術(shù)與應(yīng)用,2008,27(8):4445 附錄1:語音信號濾波去噪設(shè)計源程序清單%程序名稱:su.m% 程序功能:使用雙線性變換法設(shè)計的級聯(lián)型橢圓濾波器對語音信號濾波去噪。% 程序作者:*% 最后修改日期:2013-3-7x,fs,bits=w

38、avread('e:su.wav'); % 輸入?yún)?shù)為文件的全路徑和文件名,輸出的第一個參數(shù)是每個樣本的值,fs是生成該波形文件時的采樣率,bits是波形文件每樣本的編碼位數(shù)。sound(x,fs,bits); % 按指定的采樣率和每樣本編碼位數(shù)回放N=length(x); % 計算信號x的長度fn=2200; % 單頻噪聲頻率,此參數(shù)可改為2200t=0:1/fs:(N-1)/fs; % 計算時間范圍,樣本數(shù)除以采樣頻率x=x' y=x+0.1*sin(fn*2*pi*t);%sound(y,fs,bits); 應(yīng)該可以明顯聽出有尖銳的單頻嘯叫聲wavwrite(y,

39、fs,bits,'su1');%將加噪后的語音信號寫成wav文件,并命名為su1X=abs(fft(x); Y=abs(fft(y); % 對原始信號和加噪信號進行fft變換,取幅度譜X=X(1:N/2); Y=Y(1:N/2); % 截取前半部分deltaf=fs/N; % 計算頻譜的譜線間隔f=0:deltaf:fs/2-deltaf; % 計算頻譜頻率范圍figure(1);subplot(2,2,1),plot(t,x);grid;axis(0,1.7,-0.2,0.2);xlabel('時間(單位:s)'),ylabel('幅度'),t

40、itle('原始語音信號');%原始語音信號時間幅度圖subplot(2,2,2),plot(f,X);grid;axis(0,4000,0,50);xlabel('頻率(單位:Hz)'),ylabel('幅度譜'),title('語音信號幅度譜圖');%語音信號幅度譜圖subplot(2,2,3),plot(t,y);grid;axis(0,1.7,-0.2,0.2);xlabel('時間(單位:s)'),ylabel('幅度'),title('加入單頻干擾后的語音信號');%加入

41、單頻干擾后的語音信號subplot(2,2,4),plot(f,Y);grid;axis(0,4000,0,50);xlabel('頻率(單位:Hz)'),ylabel('幅度譜'),title('加入單頻干擾后的語音信號幅度譜圖');%加入單頻干擾后的語音信號幅度譜圖fp=fn-200;fc=fn-50; %定義通帶和阻帶截止頻率Rp=1;As=60; % 定義通帶波紋和阻帶衰減wp=fp/fs*2*pi;ws=fc/fs*2*pi; %計算對應(yīng)的數(shù)字頻率T=1; %定義采樣間隔% 第一步 預(yù)畸變Omegap=2/T*tan(wp/2);Ome

42、gas=2/T*tan(ws/2); %截止頻率預(yù)畸變% 第二步 根據(jù)指標(biāo)設(shè)計模擬濾波器c,d=afd_elip(Omegap,Omegas,Rp,As) % 計算濾波器系統(tǒng)函數(shù)分子分母系數(shù)% 第三步 模數(shù)濾波器變換b,a=bilinear(c,d,1/T) % 雙線性變換得到數(shù)字濾波器系統(tǒng)函數(shù)分子分母系數(shù)%驗證db,mag,pha,grd,w=freqz_m(b,a); %計算橢圓低通濾波器的幅度,幅度響應(yīng),群延時和相位響應(yīng)等數(shù)據(jù)圖,驗證濾波器是否達(dá)到指定性能delta=1,zeros(1,99);ha=filter(b,a,delta);%計算脈沖響應(yīng)figure(2);subplot(2

43、,2,1);plot(w/pi,db);grid;axis(0,1,-90,3);xlabel('w/pi');ylabel('dB');title('濾波器幅度響應(yīng)圖');X_l=0,0,wp/pi,ws/pi;1,1,wp/pi,ws/pi;Y_l=-As,-Rp,-90,-90;-As,-Rp,3,3; % 在wp,ws,Rp,As處畫線以更直觀判斷設(shè)計是否達(dá)標(biāo),每列參數(shù)是每個線條的端點坐標(biāo)line(X_l,Y_l,'Color','r','LineWidth',2,'LineStyl

44、e','-') % 添加線條,紅色,線寬為2subplot(2,2,2);plot(w/pi,mag);grid;axis(0,1,0,1.1);xlabel('w/pi');ylabel('幅度mag');title('濾波器幅度響應(yīng)圖');subplot(2,2,3);plot(w/pi,pha);grid;axis(0,1,-4,4);xlabel('w/pi');ylabel('相位pha');title('濾波器相位響應(yīng)圖');subplot(2,2,4);plot

45、(ha);grid;axis(0,100,-0.12,0.12);xlabel('n');ylabel('h(n)');title('濾波器脈沖響應(yīng)圖');y_fil=filter(b,a,y); % IIR濾波器對信號signal進行濾波處理,其中b,a為上面設(shè)計好的濾波器參數(shù)。Y_fil=fft(y_fil);Y_fil=Y_fil(1:N/2); % 計算頻譜取前一半sound(y_fil,fs,bits); %按指定的采樣率和每樣本編碼位數(shù)回放wavwrite(y_fil,fs,bits,'su2');%將加噪后的語音信號

46、寫成wav文件,并命名為su2figure(3)subplot(3,2,1);plot(t,x);grid;axis(0,1.7,-0.2,0.2);ylabel('幅度');xlabel('時間t'),title('原始語音信號時間x');subplot(3,2,2);plot(f,X);grid;axis(0,4000,0,50);ylabel('幅度');xlabel('頻率f');title('原始語音信號幅度頻譜X');subplot(3,2,3);plot(t,y);grid;axis(

47、0,1.7,-0.2,0.2);ylabel('幅度');xlabel('時間t');title('加入干擾語音信號時間x1');subplot(3,2,4);plot(f,Y);grid;axis(0,4000,0,50);ylabel('幅度');xlabel('頻率f');title('加入干擾語音信號幅度譜X1');subplot(3,2,5);plot(t,y_fil);grid;axis(0,1.7,-0.2,0.2);ylabel('幅度');xlabel('時間t'),title('濾波后語音信號時間y');subplot(3,2,

溫馨提示

  • 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

提交評論