語音信號的FIR濾波器處理_第1頁
語音信號的FIR濾波器處理_第2頁
語音信號的FIR濾波器處理_第3頁
語音信號的FIR濾波器處理_第4頁
語音信號的FIR濾波器處理_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、(語音信號的FIR濾波器處理)課程名稱:DSP原理及應(yīng)用報告提交日期2011年12月13日項目答辯日期2011年12月13日1 導(dǎo)論以及設(shè)計要求1.1引言隨著信息時代和數(shù)字世界的到來,數(shù)字信號處理已成為如今一門極其重要的學(xué)科和技術(shù)領(lǐng)域。數(shù)字信號處理在通信、語音、圖像、自動控制、雷達(dá)、軍事、航空航天、醫(yī)療和家用電器等眾多領(lǐng)域得到了廣泛的應(yīng)用。數(shù)字信號處理器,也稱DSP芯片,是針對數(shù)字信號處理需要而設(shè)計的一種具有特殊結(jié)構(gòu)的微處理器,它是現(xiàn)代電子技術(shù)、相結(jié)合的產(chǎn)物。一門主流技術(shù),隨著信息處理技術(shù)的飛速發(fā)展,計算機技術(shù)和數(shù)字信號處理技術(shù)逐漸發(fā)展成為使它在電子信息、通信、軟件無線電、自動控制、儀表技術(shù)、

2、信息家電等高科技領(lǐng)域得到了越來越廣泛的應(yīng)用。數(shù)字濾波是語音處理、圖像處理、頻譜分析等應(yīng)用中的基本處理算法。DSP 是一種處理數(shù)字信號的專用微處理器, 主要應(yīng)用于實時快速地實現(xiàn)各種信號的數(shù)字處理算法。 用 DSP 芯片實現(xiàn)數(shù)字濾波具有穩(wěn)定性好、精確度高、不受環(huán)境影響等優(yōu)點。數(shù)字濾波器分為有限沖激響應(yīng)濾波器 (FIR濾波器) 和無限沖激響應(yīng)濾波器(IIR濾波器)。FIR 濾波器屬于經(jīng)典濾波器,優(yōu)點就是由于不存在系統(tǒng)極點,F(xiàn)IR 濾波器是絕對穩(wěn)定的系統(tǒng),F(xiàn)IR 濾波器還確保了線性相位,在信號處理中占有極其重要的地位。數(shù)字濾波器一直以來就是數(shù)字信號處理器(DSP)最廣為人知的應(yīng)用,F(xiàn)IR 濾波器的單位

3、沖激響應(yīng) b(n)為有限長序列,若 b(n)為實數(shù), 且滿足偶對稱:b(n)= b(N- 1- n)的條件, 稱為系數(shù)對稱FIR 濾波器。系數(shù)對稱 FIR 濾波器在數(shù)字信號處理中應(yīng)用十分廣泛。1.2設(shè)計的目的通過課程設(shè)計,加深對DSP芯片TMS320C54x的結(jié)構(gòu)、工作原理的理解,獲得DSP應(yīng)用技術(shù)的實際訓(xùn)練,掌握設(shè)計較復(fù)雜DSP系統(tǒng)的基本方法。通過使用匯編語言編寫具有完整功能的圖形處理程序或信息系統(tǒng),使學(xué)生加深對所學(xué)知識的理解,進(jìn)一步鞏固匯編語言講法規(guī)則。學(xué)會編制結(jié)構(gòu)清晰、風(fēng)格良好、數(shù)據(jù)結(jié)構(gòu)適當(dāng)?shù)膮R編語言程序,從而具備解決綜合性實際問題的能力。1.3設(shè)計指標(biāo)要求 (1)設(shè)計一個低通濾波器(參

4、數(shù)自定)(2)濾波器的設(shè)計的原理介紹(3)FIR濾波器的設(shè)計(4)FIR濾波器的DSP實現(xiàn)(5)FIR濾波器的檢驗(用語音信號通過濾波器后查看濾波效果是否達(dá)到設(shè)計要求。)2濾波器的基礎(chǔ)知識2.1 濾波器的定義 Finite Impulse Response)濾波器:有限長單位沖激響應(yīng)濾波器,是數(shù)字信號處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴(yán)格的線性相頻特性,同時其單位抽樣響應(yīng)是有限長的,因而濾波器是穩(wěn)定的系統(tǒng)。因此,F(xiàn)IR濾波器在通信、圖像處理、模式識別等領(lǐng)域都有著廣泛的應(yīng)用。沖激響應(yīng)之所以是“有限的”是因為在濾波器中沒有反饋出現(xiàn);如果你輸入一個沖激就是一個“1”樣本后出現(xiàn)

5、許多“0”的樣本的信號,那么零將在樣本 “1”通過了所有的延遲線的系數(shù)后出現(xiàn)。2.2 濾波器的功能 功能就是允許某一部分頻率的信號順利的通過,而另外一部分頻率的信號則受到較大的抑制,它實質(zhì)上是一個選頻電路。把信號能夠通過的頻率范圍,稱為通頻帶或通帶;反之,信號受到很大衰減或完全被抑制的頻率范圍稱為阻帶;通帶和阻帶之間的分界頻率稱為截止頻率;理想濾波器在通帶內(nèi)的電壓增益為常數(shù),在阻帶內(nèi)的電壓增益為零;實際濾波器的通帶和阻帶之間存在一定頻率范圍的過渡帶。2.3濾波器的特點 優(yōu)點:(1)很容易獲得嚴(yán)格的線性相位,避免被處理的信號產(chǎn)生相位失真,這一特點在寬頻帶信號處理、陣列信號處理、數(shù)據(jù)傳輸?shù)认到y(tǒng)中非

6、常重要;(2)可以在幅度特性隨意設(shè)計的同時,保證精確、嚴(yán)格的線性相位,還可得到多帶幅頻特性;(3)極點全部在原點(永遠(yuǎn)穩(wěn)定),無穩(wěn)定性問題;(4)任何一個非因果的有限長序列,總可以通過一定的延時,轉(zhuǎn)變?yōu)橐蚬蛄?,所以因果性總是滿足;(5)無反饋運算,運算誤差小。 缺點:(1)因為無極點,要獲得好的過渡帶特性,需以較高的階數(shù)為代價;(2)無法利用模擬濾波器的設(shè)計結(jié)果,一般無解析設(shè)計公式,要借助計算機輔助設(shè)計程序完成。2.4 FIR數(shù)字濾波器的結(jié)構(gòu)在數(shù)字信號處理應(yīng)用中往往需要設(shè)計線性相位的濾波器,F(xiàn)IR濾波器在保證幅度特性滿足技術(shù)要求的同時,很容易做到嚴(yán)格的線性相位特性。FIR濾波器不斷地對輸入樣

7、本x(n)延時后,再作乘法累加算法,將濾波結(jié)果y(n)輸出,因此,F(xiàn)IR實際上是一種乘法累加運算。 在數(shù)字濾波器中,F(xiàn)IR濾波器的最主要的特點是沒有反饋回路,故不存在不穩(wěn)定的問題,同時,可以在幅度特性是隨意設(shè)置的同時,保證精確的線性相位。穩(wěn)定和線性相位特性是FIR濾波器的突出優(yōu)點。另外,它還有以下特點:設(shè)計方式是線性的;硬件容易實現(xiàn);濾波器過渡過程具有有限區(qū)間;相對IIR濾波器而言,階次較高,其延遲也要比同樣性能的IIR濾波器大得多。FIR數(shù)字濾波器系統(tǒng)的傳遞函數(shù)為: 通過反z變換,數(shù)字濾波器的差分方程為: 由此得到系統(tǒng)的差分方程: 由上式可以得出如下圖1所示的直接型結(jié)構(gòu),這種結(jié)構(gòu)又可以稱為卷

8、積型結(jié)構(gòu)。將轉(zhuǎn)置理論應(yīng)用于圖1可以得到轉(zhuǎn)置直接型結(jié)構(gòu)。圖1 FIR濾波器直接型機構(gòu)圖將上式中的系統(tǒng)函數(shù)H(z)分解成若干一階和二階多項式的連乘積: 則可構(gòu)成如圖2所示的級聯(lián)型結(jié)構(gòu)。其中 為一階節(jié) 為二階節(jié)。每個一階節(jié)、二階節(jié)可用圖1所示的直接型結(jié)構(gòu)實現(xiàn)。當(dāng)M1 = M2時,即得到圖3所示的具體結(jié)構(gòu)。這種結(jié)構(gòu)的每一節(jié)都便于控制零點,在需要控制傳輸零點時可以采用。但是它所需要的系數(shù)a比直接型的h(n)多,所需要的乘法運算也比直接型多。在對濾波器計算時間沒有特殊要求的時候可以采用這種形式。若需要嚴(yán)格考慮濾波器的計算時間則需要折衷它們的優(yōu)點和缺點來設(shè)計。這在算法設(shè)計時候要使用軟件編輯環(huán)境來計算運行的時

9、間問題。通常FIR的計算時間都較長。很多時候我們需要犧牲時間來獲得想要得到的濾波器功能。圖2 級聯(lián)型結(jié)構(gòu)圖圖3 級聯(lián)型具體結(jié)構(gòu)FIR濾波器可以在幅度特性隨意設(shè)計的同時,保證精確、嚴(yán)格的線性相位;由于FIR濾波器的單位脈沖h(n)是有限長序列,因此FIR濾波器沒有不穩(wěn)定的問題;由于FIR濾波器一般為非遞歸結(jié)構(gòu),因此,在有限運算下不會出現(xiàn)遞歸型結(jié)構(gòu)中的極限振蕩等不穩(wěn)定現(xiàn)象誤差較??;FIR濾波器可以采用FFT算法實現(xiàn),從而提高了運算效率。2.5 FIR數(shù)字濾波器的窗函數(shù)設(shè)計窗函數(shù)設(shè)計的基本思想是要選取某一種合適的理想頻率選擇性濾波器,然后將它的脈沖響應(yīng)截斷以得到一個線性相位和因果的FIR濾波器。因此

10、這種方法的重點在于選擇某種合適的窗函數(shù)和一種理想濾波器。對于給定的濾波器技術(shù)指標(biāo),選擇濾波器長度和具有最窄主瓣寬度和盡可能小的旁瓣衰減的某個窗函數(shù)。任何數(shù)字濾波器的頻率響應(yīng)都是w的周期函數(shù),它的傅立葉級數(shù)展開式為: 其中的Wc為濾波器的歸一化的截止頻率。傅立葉系數(shù)hd(n)實際上就是理想數(shù)字濾波器的沖激響應(yīng)。獲得有限沖激響應(yīng)數(shù)字濾波器的一種可能方法就是把無窮級數(shù)截取為有限項級數(shù)來近似,而吉布斯(Gibbs)現(xiàn)象使得直接截取法不甚令人滿意。 窗函數(shù)法就是用被稱為窗函數(shù)的有限加權(quán)系列W(n)來修正傅立葉級數(shù),以求得要求的有限沖激響應(yīng)序列h(n),即有: h(n)=hd(n)W(n) w(n)是有限

11、長序列,當(dāng)n>N-1及n<0時,W(n)=0。幾種常用的窗函數(shù)工程中比較常用的窗函數(shù)有矩形窗函數(shù)、三角形(Bartlett)窗函數(shù)、漢寧(Harming)窗函數(shù)、海明(Hamming)窗函數(shù)、布萊克曼(Blackman)窗函數(shù)和凱塞Kaiser)窗函數(shù)。窗函數(shù)的選擇原則是:l 具有較低的旁瓣幅度,尤其是第一旁瓣幅度;l 旁瓣幅度下降速度要大,以利增加阻帶衰減;l 主瓣的寬度要窄,以獲得較陡的過渡帶。通常上述三點很難同時滿足。當(dāng)選用主瓣寬度較窄時,雖然得到較陡的過渡帶,但通帶和阻帶的波動明顯增加:當(dāng)選用最小的旁瓣幅度時,雖能得到勻滑的幅度響應(yīng)和較小的阻帶波動,但過渡帶加寬。因此,實際

12、選用的窗函數(shù)往往是它們的折衷。在保證主瓣寬度達(dá)到一定要求的條件下,適當(dāng)犧牲主瓣寬度來換取旁瓣波動的減少??傊昂瘮?shù)不僅有截短的作用,而且能夠起到平滑的作用在很多領(lǐng)域得到應(yīng)用。3 FIR濾波器設(shè)計與實現(xiàn)過程3.1 FIR濾波器設(shè)計指標(biāo)設(shè)計一個基于CCS匯編實現(xiàn)的FIR濾波器,通過MATLAB的輔助,可以實現(xiàn)對語音信號的產(chǎn)生以及濾波前后的頻譜顯示。本次FIR濾波器設(shè)計的的參數(shù)選取指標(biāo)如下:采用37階低通濾波器,漢明窗(Hamming Window)函數(shù),通帶截止頻率為1500 Hz,阻帶截止頻率為2000 Hz,通帶波紋為0.01,阻帶波紋為0.1,采樣頻率為8000Hz。應(yīng)用Matlab工具箱的

13、濾波器設(shè)計工具,初步得到的理想頻譜圖如圖4所示,圖4低通濾波器的頻譜3.2 FIR濾波器設(shè)計過程3.2.1FIR濾波器設(shè)計流程用MATLAB中設(shè)計濾波器得到系數(shù)表導(dǎo)出濾波器系數(shù)表用MATLAB產(chǎn)生待濾波數(shù)據(jù)CCS中的FIR濾波器程序輸出波形觀察圖5 設(shè)計流程圖3.2.2 FIR濾波器的matlab實現(xiàn)FIR參數(shù)設(shè)定及頻域響應(yīng)特性根據(jù)上述要求在matlab中采用fir2函數(shù)設(shè)計低通FIR濾波器,其程序代碼為:f=0 0.38 0.5 1;m=1 1 0 0;b=fir2(36,f,m);在MATLAB中輸入以上代碼,求出濾波器系數(shù)如下具有兩邊對稱, h(0)=h(36)=0.0010, h(1)

14、=h(35)=0.0036 ,h(2)=h(34)=0.0000h(3)=h(33)=0.0065 , h(4)=h(32)=0.0032 , h(5)=h(31)=0.0088h(6)=h(30)=0.0093 , h(7)=h(29)=0.0090 , h(8)=h(28)=0.0184h(9)=h(27)=0.0047 , h(10)=h(26)=0.0297 ,h(11)=h(25)=0.0071h(12)=h(24)=0.0417 , h(13)=h(23)=0.0316 , h(14)=h(22)=0.0524h(15)=h(21)=0.0848, h(16)=h(20)=0.05

15、98, h(17)=h(19)=0.3108h(18)=0.4375CCS的輸入語音信號的輔助產(chǎn)生(MATLAB)1、理想情況:FIR 濾波器的輸入數(shù)據(jù)存儲在indata.dat 文件中,共300 個點,由頻率為1000Hz和2500Hz 的兩個余弦波疊加而成2、為了驗證設(shè)計的可行性,自身錄制一個語音片段,主要信號為低頻成分,其中夾雜著高頻成分的噪聲。在MATLAB中產(chǎn)生一個indata.dat文件供CCS輸入,在matlab中輸入的代碼為:x=wavread('D:matlabworkXINZAO.wav'); %語音文件的路徑 y=fft(x,1024);plot(abs(

16、y(1:1000); %采樣100個點x1=round(1024*x);fid=fopen('indata.dat','w'); %生成一個dat文件fprintf(fid,'1651 1 00E2 1000n');fprintf(fid,'%dn',x1); %輸出3.2.3 FIR濾波器的CCS實現(xiàn)應(yīng)用軟件CCS配置:點擊進(jìn)入CCS:首先點擊Setup CCS3.3如下圖6,點擊進(jìn)入運行界面,如圖7。圖6 CCS圖標(biāo)圖7 芯片設(shè)置窗口選中C5410 Device Simulator一項,另外為了方面選擇芯片,可以先在窗口的右面

17、的Family和Plarform及Endia選項,點擊Save and Quit就會彈出圖8控制窗口.。圖8 控制窗口在控制窗口open選項中選中C5410 Device Simulator/CPU,就可以開始新建一個工程,工程面板如圖9所示。圖9 工程面板新建一個fir工程,然后新建.asm文件 .cmd文件等,將它們添加到工程中來,如圖10圖10 CCS編程界面對程序進(jìn)行編譯:執(zhí)行ProjectCompile命令,也可以用快捷鍵就可以對當(dāng)前的匯編程序進(jìn)行編譯生成.obj文件。如果程序存在語法錯誤,那么就會在下面的編譯鏈接信息框中顯示錯誤信息。根據(jù)錯誤提示,對程序進(jìn)行一一修改對程序進(jìn)行編譯鏈

18、接:執(zhí)行ProjectBuild命令,也可以用快捷鍵就可以對當(dāng)前的項目文件同時進(jìn)行編譯,匯編和鏈接操作,并生成與工程項目名稱相同的可執(zhí)行的.out文件。如果有錯誤信息,則會在“編譯鏈接”信息框中顯示。也可以執(zhí)行Project下的build All命令,所有項目中的文件重新編譯,匯編和鏈接,生成.out文件。裝載.out文件:單擊主菜單“File”中“Load Program”選項,在對話框中,在CCS安裝目錄下,找到構(gòu)建該工程的Debug目錄,選擇構(gòu)建生成后的.out文件,如圖11.圖11 轉(zhuǎn)載.out文件在data項中選擇load,轉(zhuǎn)載之前在MATLAB中生成的indata.dat文件,會彈

19、出以下窗口,對地址和長度進(jìn)行相關(guān)設(shè)置圖12 地址長度設(shè)置窗口點擊ok后,開始點擊run,運行工程,如果有異常情況,逐一檢查。3.3 FIR濾波器設(shè)計結(jié)果觀察Input和Output視窗中濾波器前后的時域觀察波形圖,點擊CCS中View>>Graph>>Time/Frequency,出現(xiàn)如圖13選項窗口,設(shè)置相應(yīng)選項,觀察濾 波效果。圖13 Graph選項設(shè)置窗口數(shù)字濾波器仿真結(jié)果時域圖如圖14和圖15所示,頻域圖如圖16和圖17所示:圖14 時域 input圖15 時域 output圖16 頻域 input圖17 頻域 output4.設(shè)計過程中遇到的問題及解決的辦法1

20、、在我們確定濾波器參數(shù)時,剛開始我們忽略了采樣定理,結(jié)果設(shè)計出來的低通濾波器是錯誤的,經(jīng)過在Matlab軟件的工具包里,設(shè)計低通濾波器,如圖18的界面,經(jīng)過測試,如果條件不符合采樣定理的就會出現(xiàn)錯誤提示界面,我們最后修改正確了。圖18 低通濾波器的設(shè)置2、為了實現(xiàn)語音及噪聲的通過設(shè)計的濾波器進(jìn)行驗證,需要制作一個語音及噪聲的.dat文件,以供CCS信號輸入,對軟件不熟練的我們不懂的怎么應(yīng)用?答:通過到圖書館借相應(yīng)的書來自學(xué),學(xué)習(xí)MATLAB的生成.dat文件的相關(guān)命令語句,以及請教其他同學(xué)。通過不斷的討論和研究,知道了要對信號進(jìn)行采樣,再通過fopen語句等,才能生成dat文件3、通過MATL

21、AB輔助,求出的b系數(shù),剛開始在CCS里面表示時,用x*32768/10000(x為b系數(shù)的整數(shù)部分),結(jié)果在編譯時出現(xiàn)了問題。另外,當(dāng)求得的系數(shù)存在有大于四位時,也會出現(xiàn)錯誤?答:經(jīng)過學(xué)習(xí)和與隊員研究討論,發(fā)現(xiàn)這是因為一些大于1的系數(shù),即是大于四位的整數(shù)除去10000,才會出現(xiàn)warning,我們剛開始用的是32768,即Q15,會使運算結(jié)果溢出,于是把32768改為了1024,即Q10,這樣后就解決了存在的問題,如圖19.圖19 系數(shù)的運算4、通過load data時,在配置地址和長度時,我們沒有忘記按照自己設(shè)定的起始地址及長度,結(jié)果顯示出來的圖像與真實的有極大的偏差。答:把Address

22、和Length的參數(shù)填寫自己在生成dat文件是所設(shè)置的值一致,最后濾波輸出波形正確。參考資料【1】鄒彥 DSP原理及應(yīng)用. 北京:電子工業(yè)出版社. 2009【2】劉樹棠. 信號與系統(tǒng). 第二版. 西安交通大學(xué)出版社. 2008【3】劉衛(wèi)國. MATLAB程序設(shè)計與應(yīng)用 第二版. 高等教育出版社. 2008【4】程佩青. 數(shù)字信號處理教程. 第三版. 清華大學(xué)出版社. 2009附 錄 程序清單1.主程序fir.asm: .title "FIR.ASM" .mmregs .def start .bss yn,1 xn .usect "xn",37hn .us

23、ect "hn",37indata .usect "indata",300outdata .usect "outdata",256 .datafir_coff: .word -10*1024/10000,-36*1024/10000 .word 0*1024/10000,65*1024/10000 .word 32*1024/10000,-88*1024/10000 .word -93*1024/10000,90*1024/10000 .word 184*1024/10000,-47*1024/10000 .word -297*102

24、4/10000,-71*1024/10000 .word 417*1024/10000,316*1024/10000 .word -524*1024/10000,-848*1024/10000 .word 598*1024/10000,3108*1024/10000 .word 4375*1024/10000 .word 3108*1024/10000,598*1024/10000 .word -848*1024/10000,-524*1024/10000 .word 316*1024/10000,417*1024/10000 .word -71*1024/10000,-297*1024/10000 .word -47*1024/10000,184*1024/10000 .word 90*1024/10000,-93*1024/10000 .word -88*1024/10000,32*1024/10000 .word 65*102

溫馨提示

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

評論

0/150

提交評論