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

下載本文檔

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

文檔簡介

1、1 dsp 課程設(shè)計報告 語音信號的語音信號的 firfir 濾波器處理濾波器處理 姓 名: 班 級: 11 電信 4 學(xué) 號: 指導(dǎo)老師: 日期: 2014.06.032014.06.13 摘 要 dsp( digital signal processing) 也就是我們常說的數(shù)字信號處理, 它 是利用計算機或?qū)S锰幚碓O(shè)備, 以數(shù)字形式對信號進行采集、變換、濾波、估 值、增強、壓縮、識別等處理, 以得到符合人們需要的信號形式。dsp 芯片在 信號處理、通信、雷達等許多領(lǐng)域得到廣泛的應(yīng)用。 matlab 是一款強大的軟件,它將數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化等 諸多強大功能集成在一個易于使用

2、的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計以及 必須進行有效數(shù)值計算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案。 css 集成開發(fā)環(huán)境使用 ccs 內(nèi)置的軟件仿真 simulator 對程序進行編譯, 調(diào)試和運行,主要用于檢測目標程序運行的正確性和連貫性,并能通過仿真器與 目標板連接,在目標板上實時觀察效果。 在本次設(shè)計中,我們選擇的課題是基于 dsp 的語言信號的 fir 濾波處理。 首先利用 matlab 進行了仿真,得到濾波前后的時域波形和頻譜。然后通過調(diào)用 matlab 的分析工具 fdatool,根據(jù)仿真結(jié)果導(dǎo)出了濾波器的相關(guān)參數(shù),將原始 信號數(shù)據(jù)和濾波器參數(shù)輸入 ccs 進行 dsp 編程。最

3、后在 dsp 中實現(xiàn)了 fir 低通 濾波,并通過 ccs 的頻譜分析功能查看了最終 dsp 的濾波效果。 關(guān)鍵詞關(guān)鍵詞: : 語音信號 dsp fir 濾波 matlab ccs 目 錄 1.前言前言.4 4 2.2.設(shè)計原理設(shè)計原理 .4 4 2.1 數(shù)字信號處理器.4 2.2 濾波器簡介.5 2.3 fir 濾波器原理.6 2.4 窗函數(shù)簡介.7 2.5 濾波器的特點.7 3.fir3.fir 濾波器的濾波器的 matlabmatlab 設(shè)計設(shè)計 .8 8 3.1 總體方案的設(shè)計.8 3.2 語音信號的采集.9 3.3 matlap 的具體處理 .9 3.4 fir 濾波器的系統(tǒng)參數(shù) .

4、11 4.fir4.fir 濾波器的濾波器的 ccsccs 設(shè)計與仿真設(shè)計與仿真 .1111 4.1 ccs 程序流程圖 .12 4.2 ccs 仿真結(jié)果 .15 5.5.問題及解決辦法問題及解決辦法 .1818 6.6.設(shè)計感想設(shè)計感想 .1919 參考文獻參考文獻 .1919 7.7.附錄附錄 .2020 4 1 前言 隨著信息與數(shù)字技術(shù)的發(fā)展,數(shù)字信號處理已經(jīng)成為當(dāng)今極其重要而學(xué)科 與技術(shù)領(lǐng)域之一。它在通信、語音、圖像、自動控制、雷達、軍事、航空航天、 醫(yī)療和家用電器等眾多領(lǐng)域得到了廣泛的應(yīng)用。在數(shù)字信號處理的基本方法中, 通常會涉及到變換、濾波、頻譜分析、調(diào)制解調(diào)和編碼解碼等處理。其中

5、濾波 是應(yīng)用非常廣泛的一個環(huán)節(jié),數(shù)字濾波器的理論和相關(guān)設(shè)計也一直都是人們研 究的重點之一。fir 濾波器的是非遞歸的,穩(wěn)定性好,精度高;更重要的是, fir 濾波器在滿足幅頻響應(yīng)要求的同時,可以獲得嚴格的線性相位特征。因此, 它在高保真的信號處理,如數(shù)字音頻、圖像處理、數(shù)據(jù)傳輸和生物醫(yī)學(xué)等領(lǐng)域 得到廣泛應(yīng)用。 在數(shù)字信號處理中,濾波占有極其重要的地位。數(shù)字濾波是語音信號處理、 圖像處理、模式識別、頻譜分析等應(yīng)用的基本處理算法。用 dsp 芯片實現(xiàn)數(shù)字 濾波除了具有穩(wěn)定性好、精確度高、不受環(huán)境影響等優(yōu)點外,還具有靈活性好 等特點。 本文介紹了數(shù)字濾波器的設(shè)計基礎(chǔ)及用窗函數(shù)法設(shè)計 fir 濾波器的

6、方法, 運用 mathlab 語言實現(xiàn)了低通濾波器的設(shè)計并用 ccs 2.0 進行觀察效果。 2 設(shè)計原理 2.1 數(shù)字信號處理器 dsp(digital signal processor)是一種獨特的微處理器,是以數(shù)字信 號來處理大量信息的器件。其工作原理是接收模擬信號,轉(zhuǎn)換為 0 或 1 的數(shù)字 信號。再對數(shù)字信號進行修改、刪除、強化,并在其他系統(tǒng)芯片中把數(shù)字數(shù)據(jù) 解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實時運行速度 可達每秒數(shù)以千萬條復(fù)雜指令程序,遠遠超過通用微處理器,是數(shù)字化電子世 界中日益重要的電腦芯片。它的強大數(shù)據(jù)處理能力和高運行速度,是最值得稱 道的兩大特色。 由

7、 ti 公司提供專業(yè)的開發(fā)工具 ccs,自帶 dsp/bios 操作系統(tǒng),能夠直接 編寫適合 dsp 開發(fā)工程及文件,滿足 dsp 程序設(shè)計要求。 由 mathworks 公司和 ti 公司聯(lián)合開發(fā)的 dspmatlab link for ccs development tools(簡稱 ccslink)是 matlab6.5 版本(release13)中增加 的一個全新的工具箱,它提供了 matlab、ccs 和 dsp 目標板的接口,利用此工 具可以像操作 matlab 變量一樣來操作 dsp 器件的存儲器和寄存器,使開發(fā)人 員在 matlab 環(huán)境下完成對 dsp 的操作,從而極大地提高

8、 dsp 應(yīng)用系統(tǒng)的開發(fā)進 程。 本設(shè)計主要是使用 dsp 對語音噪聲信號進行處理,使用 ccs 開發(fā)工具編寫 程序,同時利用 matlab 操作 dsp 器件的存儲器和寄存器。 2.2 濾波器簡介 (finite impulse response)濾波器:有限長單位沖激響應(yīng)濾波器,是數(shù)字信 號處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴格的線 性相頻特性,同時其單位抽樣響應(yīng)是有限長的,因而濾波器是穩(wěn)定的系統(tǒng)。因 此,fir 濾波器在通信、圖像處理、模式識別等領(lǐng)域都有著廣泛的應(yīng)用。 沖激響應(yīng)之所以是“有限的”是因為在濾波器中沒有反饋出現(xiàn);如果你輸入 一個沖激就是一個“1”樣本后

9、出現(xiàn)許多“0”的樣本的信號,那么零將在樣本 “1”通過了所有的延遲線的系數(shù)后出現(xiàn)。 濾波器,顧名思義,是對波進行過濾的器件。 “波”是一個非常廣泛的物理 概念,在電子技術(shù)領(lǐng)域, “波”被狹義地局限于特指描述各種物理量的取值隨時 間起伏變化的過程。該過程通過各類傳感器的作用,被轉(zhuǎn)換為電壓或電流的時 間函數(shù),稱之為各種物理量的時間波形,或者稱之為信號。因為自變量時間 是連續(xù)取值的,所以稱之為連續(xù)時間信號,又習(xí)慣地稱之為模擬信號(analog signal)。隨著數(shù)字式電子計算機(一般簡稱計算機)技術(shù)的產(chǎn)生和飛速發(fā)展,為 了便于計算機對信號進行處理,產(chǎn)生了在抽樣定理指導(dǎo)下將連續(xù)時間信號變換 成離散時

10、間信號的完整的理論和方法。也就是說,可以只用原模擬信號在一系 列離散時間坐標點上的樣本值表達原始信號而不丟失任何信息,波、波形、信 號這些概念既然表達的是客觀世界中各種物理量的變化,自然就是現(xiàn)代社會賴 以生存的各種信息的載體。信息需要傳播,靠的就是波形信號的傳遞。信號在 它的產(chǎn)生、轉(zhuǎn)換、傳輸?shù)拿恳粋€環(huán)節(jié)都可能由于環(huán)境和干擾的存在而畸變,有 時,甚至是在相當(dāng)多的情況下,這種畸變還很嚴重,以致信號及其所攜帶的信 息被深深地埋在噪聲當(dāng)中了。 濾波,本質(zhì)上是從被噪聲畸變和污染了的信號中提取原始信號所攜帶的信 息的過程。 濾波器特性可以用其頻率響應(yīng)來描述,按其特性的不同,可以分為低通濾 波器,高通濾波器

11、,帶通濾波器和帶阻濾波器等。 2.3 fir 濾波器原理 fir 濾波器(有限長單位沖激響應(yīng)濾波器)是在數(shù)字信號處理(dsp)中經(jīng) 常使用的兩種基本的濾波器之一,另一個為 iir 濾波器。iir 濾波器是無限沖 激響應(yīng)濾波器。 不論哪一種濾波器設(shè)計方法,都要求出濾波器的單位沖激響應(yīng) h(n),然 后才能在時域中實現(xiàn)頻域中的濾波。 在頻域,當(dāng)其輸入信號為 x(ej)時,如濾波器的頻率響應(yīng)為 h(ej), 則其輸出信號為 y(ej)=x(ej)h(ej)。 在時域,設(shè)濾波器的單位沖激響應(yīng) h(n)為一 n 點序列,即 0nn-1 時 h(n)的值不為零,根據(jù)離散傅氏變換的性質(zhì),則可以將濾波器的輸入

12、序列 x(n)的響應(yīng) y(n)表示為 x(n)與 h(n)的卷積和,即: 這就是濾波系統(tǒng)的差分方程,它給濾波器的實現(xiàn)奠定了理論基礎(chǔ)。即求出 時域的 h(n)后,便可通過卷積來實現(xiàn)頻域的濾波。 卷積和運算主要有以下幾個步驟: (1) h(n)序列 n 個點數(shù)值的存儲 由于 h(n)是根據(jù)濾波性能要求已經(jīng)設(shè)計好的有限長單位沖激響應(yīng),故其 n 個點的數(shù)值是已知的,因此可以存放在 rom 或 ram 當(dāng)中,且對應(yīng)著 n 個不同 的地址,便于尋址。 (2) 輸入序列 x(n)的移位寄存 輸入序列 x(n)是不斷變化的,因此只能對其進行移位寄存,寄存器的 個數(shù)為 n,即 n 個寄存器中分別存放著 x(n)

13、 、x(n-1)x(n-n+1) ,它們 都隨著 n 的變化而變化。 (3) 乘法器 用以完成兩個數(shù)值的乘法,即 h(m)x(n-m) ,也就是將存儲器中 n 地址所 對應(yīng)的 n 個固定數(shù)值 h(m)分別與 n 個移位寄存器中的不斷變化的 n 個變化數(shù) 值 x(n-m)相乘。 (4) 累加器 用以實現(xiàn) n 個乘積的累加,即將當(dāng)前 x(n)所對應(yīng)的 n 個乘積進行累加, 所得到的和就是 y(n) 。當(dāng)濾波器的下一個輸入值即 x(n +1)到來時,累加器 清零,并重新將下一組 x(n +1)所對應(yīng)的 n 個乘積進行累加,所得到的和就 是 y(n +1) 。 2.4 窗函數(shù)簡介 數(shù)字信號處理的主要數(shù)

14、學(xué)工具是傅里葉變換。而傅里葉變換是研究整個時 間域和頻率域的關(guān)系。不過,當(dāng)運用計算機實現(xiàn)工程測試信號處理時,不可能 對無限長的信號進行測量和運算,而是取其有限的時間片段進行分析。做法是 從信號中截取一個時間片段,然后用觀察的信號時間片段進行周期延拓處理, 得到虛擬的無限長的信號,然后就可以對信號進行傅里葉變換、相關(guān)分析等數(shù) 學(xué)處理。無線長的信號被截斷以后,其頻譜發(fā)生了畸變,原來集中在 f(0)處的 能量被分散到兩個較寬的頻帶中去了(這種現(xiàn)象稱之為頻譜能量泄漏) 。 為了減少頻譜能量泄漏,可采用不同的截取函數(shù)對信號進行截短,截斷函 數(shù)稱為窗函數(shù),簡稱為窗。信號截短以后產(chǎn)生的能量泄漏現(xiàn)象是必然的,

15、因為 窗函數(shù) w(t)是一個頻帶無限的函數(shù),所以即使原信號 x(t)是有限帶寬信號,而 在截短以后也必然成為無限帶寬的函數(shù),即信號在頻域的能量與分布被擴展了。 又從采樣定理可知,無論采樣頻率多高,只要信號一經(jīng)截短,就不可避免地引 起混疊,因此信號截短必然導(dǎo)致一些誤差。 泄漏與窗函數(shù)頻譜的兩側(cè)旁瓣有關(guān),如果兩側(cè)瓣的高度趨于零,而使能量 相對集中在主瓣,就可以較為接近于真實的頻譜,為此,在時間域中可采用不 同的窗函數(shù)來截短信號。 2.5 濾波器的特點 優(yōu)點: (1)很容易獲得嚴格的線性相位,避免被處理的信號產(chǎn)生相位失真,這 一特點在寬頻帶信號處理、陣列信號處理、數(shù)據(jù)傳輸?shù)认到y(tǒng)中非常 重要; (2)

16、可以在幅度特性隨意設(shè)計的同時,保證精確、嚴格的線性相位,還 可得到多帶幅頻特性; (3)極點全部在原點(永遠穩(wěn)定) ,無穩(wěn)定性問題; (4)任何一個非因果的有限長序列,總可以通過一定的延時,轉(zhuǎn)變?yōu)橐蚬?序列,所以因果性總是滿足; (5)無反饋運算,運算誤差小。 缺點: (1)因為無極點,要獲得好的過渡帶特性,需以較高的階數(shù)為代價; (2)無法利用模擬濾波器的設(shè)計結(jié)果,一般無解析設(shè)計公式,要借助計 算機輔助設(shè)計程序完成。 3 fir 濾波器的 matlab 設(shè)計 3.1. 總體方案設(shè)計 本次課程設(shè)計所采用的主要軟件為 matlab。設(shè)計中用到的函數(shù)主要有 wavread,sound,fft,su

17、bplot,plot,fir1,freqz,filter。 課程設(shè)計利用窗函數(shù)法設(shè)計 fir 數(shù)字濾波器,并利用 matlab 作為輔助 工具仿真濾波前后的時域波形和頻譜。對于 dsp 的處理,首先,通過 matlab 給語音信號添加高頻噪音,即將原始信號調(diào)制到某一高頻上(本設(shè)計用 10000hz) ,再將其與原始語音信號相疊加,最后將這個疊加后的信號轉(zhuǎn)化為數(shù) 據(jù)(matlab 編程) ,并存入后綴為 dat 的文件中。之后根據(jù)仿真結(jié)果使用 matlab 的設(shè)計分析工具 fdatool 產(chǎn)生濾波器參數(shù)。將混疊后的信號數(shù)據(jù) 和濾波器參數(shù)輸入 ccs 進行 dsp 編程,在 dsp 中實現(xiàn) fir

18、 帶通濾波,并使用 ccs 的頻譜分析功能,查看最終 dsp 的濾波效果。 3.2 語音信號的采集 使用 pc 機上的聲卡和 windows 操作系統(tǒng)可以進行數(shù)字信號的采集。將話 筒插入計算機的語音輸入插口上,啟動 mooo 錄音專家。按下錄音按鈕,接著對話 筒錄音,錄音結(jié)束后屏幕左側(cè)將顯示所錄聲音的長度。點擊放音按鈕,可以實現(xiàn) 所錄音的重現(xiàn)。如圖 3.1 所示,以文件名“voice”保存入 matlab 當(dāng)前工作路 徑 中??梢钥吹?文件存儲器的后綴默認為.wav ,這是 windows 操作系統(tǒng)規(guī)定 的聲音文件存的標準。 3.3 matlab 具體處理 3.3.1 fir 濾波器的 mat

19、lab 實現(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)=h(35)=0.0036 ,h(2)=h(34)=0.0000 h(3)=h(33)=0.0065 , h(4)=h(32)=0.0032 , h(5)=h(31)=0.0088 h(6)=h(30)=0.0093 , h(7)=h(29)=0.0090

20、, h(8)=h(28)=0.0184 h(9)=h(27)=0.0047 , h(10)=h(26)=0.0297 ,h(11)=h(25)=0.0071 h(12)=h(24)=0.0417 , h(13)=h(23)=0.0316 , h(14)=h(22)=0.0524 h(15)=h(21)=0.0848, h(16)=h(20)=0.0598, h(17)=h(19)=0.3108 h(18)=0.4375 ccs 的輸入語音信號的輔助產(chǎn)生(matlab) 1、理想情況:fir 濾波器的輸入數(shù)據(jù)存儲在 indata.dat 文件中,共 300 初始化 讀入語音信號 原始音頻抽樣 加

21、噪聲并低通濾波 導(dǎo)出混合信號供 dsp 處理 個點,由頻率為 1000hz 和 2500hz 的兩個余弦波疊加而成 2、為了驗證設(shè)計的可行性,自身錄制一個語音片段,主要信號為低頻成 分,其中夾雜著高頻成分的噪聲。 在 matlab 中產(chǎn)生一個 indata.dat 文件供 ccs 輸入,在 matlab 中輸入的代碼 為: x=wavread(d:matlabworkxinzao.wav); %語音文件的路徑 y=fft(x,1024); plot(abs(y(1:1000); %采樣 100 個點 x1=round(1024*x); fid=fopen(indata.dat,w); %生成一

22、個 dat 文件 fprintf(fid,1651 1 00e2 1000n); fprintf(fid,%dn,x1); %輸出 3.4 fir 濾波器的系統(tǒng)參數(shù) 在本設(shè)計中,使用 matlab 模擬產(chǎn)生合成信號,然后利用 ccs 進行濾波。 本次 fir 濾波器設(shè)計的的參數(shù)選取指標如下: 采用 37 階低通濾波器,漢明窗(hamming window)函數(shù),通帶截止頻率為 1500 hz,阻帶截止頻率為 2000 hz,通帶波紋為 0.01,阻帶波紋為 0.1,采樣頻率為 8000hz。 在選項中選擇或輸入濾波器參數(shù),然后點擊”design filter”按鈕完成 濾波器設(shè)計。設(shè)計成功后的

23、結(jié)果如圖下圖所示。在 fdatool 中,選擇 targets- code composer studioide。在出現(xiàn)的對話框中選擇輸出文件類型為 c.header file,輸出系數(shù)類型為 signed 16-bit integer。點擊 generate 按鈕, 選擇路徑,即可輸出前一步設(shè)計出的 fir 濾波器系數(shù)表。 error!error! nono bookmarkbookmark namename given.given.4 fir 濾波器的 ccs 設(shè)計與仿真 ccs 是一種針對 tms320 系列 dsp 的集成開發(fā)環(huán)境,在 windows 操作系統(tǒng) 下,采用圖形接口界面,提

24、供環(huán)境配置、源文件編輯、程序調(diào)試、跟蹤和分析 等工具,提供了配置、建立、調(diào)試、跟蹤和分析程序的工具,從而完成編輯、 編譯、鏈接、調(diào)試和數(shù)據(jù)分析等工作。 在 ccs 中編寫匯編語言程序,進行調(diào)試,實現(xiàn) fir 濾波的功能。本課程設(shè) 計使用 ccs 開發(fā)應(yīng)用程序的一般步驟為: (1)創(chuàng)建一個工程項目文件 fir2.h,用匯編語言編寫處理主程序 fir2.asm。另外根據(jù)板上的存儲器配置方式,編寫存儲器配置文件 fir.cmd 文件,將 matlab 生成的 fir2.h 和 indata.dat 文件拷貝到工程文件夾下。 (2)編輯各類文件。使用 ccs 提供的集成編輯環(huán)境,對頭文件、鏈接命令文

25、件和源程序進行編輯。 (3)對工程項目進行編譯,生成可執(zhí)行文件。如出現(xiàn)語法錯誤,將在構(gòu)建窗 口中顯示錯誤信息。用戶可以根據(jù)顯示信息定位錯誤信息,更改錯誤。 (4)下載程序、輸入數(shù)據(jù),執(zhí)行程序,對結(jié)果和數(shù)據(jù)進行分析和算法評估。 利用 ccs 提供的探測點、圖形顯示等工具,對運行結(jié)果、輸出數(shù)據(jù)進行分析, 評估算法性能。 4.1 ccs 程序流程圖 開始 dsp 初始 化 將濾波系數(shù)分別存 放在存儲單元 bn 中 從第 l 個數(shù)開始 讀入抽樣值 抽樣值存入在存儲 單元 xn 中 將 bn 中和 xn 中對應(yīng) 的值相乘累加 bn*xn+acc=acc l=l+1 輸出結(jié)果 4.1.1 程序分析 fir

26、 濾波器的 dsp 實現(xiàn)主要有線性緩沖區(qū)法和循環(huán)緩沖區(qū)法兩種。 線性緩沖區(qū)法又稱延遲線法。其特點: (1)對于 n 級的 fir 濾波器,在數(shù)據(jù)存儲器中開辟一個 n 單元的緩沖區(qū)(滑 窗) ,用來存放最新的 n 個輸入樣本; (2)從最老樣本開始取數(shù),每取一個樣本后,將此樣本向下移位; (3)讀完最后一個樣本后,輸入最新樣本存入緩沖區(qū)的頂部。 循環(huán)緩沖區(qū)法的特點如下: 圖 1 ccs 匯編程序流程圖 (1)對于 n 級 fir 濾波器,在數(shù)據(jù)存儲器中開辟一個 n 單元的緩沖區(qū)(滑窗) ,用來存放最新的 n 個輸入樣本; (2)從最新樣本開始取數(shù); (3)讀完最后一個樣本(最老樣本)后,輸入最新

27、樣本來代替最老樣本,而 其他數(shù)據(jù)位置不變; (4)用片內(nèi) bk(循環(huán)緩沖區(qū)長度)寄存器對緩沖區(qū)進行間接尋址,使循環(huán) 緩沖區(qū)地址首尾相鄰。 本次設(shè)計的 fir 濾波器所采用的就是循環(huán)緩沖區(qū)法。 對 dsp 進行初始化,并設(shè)置好存儲單元。為數(shù)字濾波作準備,將預(yù)先設(shè)計 好的有 n 個抽頭的 fir 數(shù)字濾波器的沖激響應(yīng)序列 h(n)中的 n 個數(shù)值放入存儲 單元 bn 中,從 indata 數(shù)據(jù)存儲段中讀入抽樣值,將抽樣值逐一放入存儲單元 xn 中。 主要循環(huán)程序如下: stm #-1,ar0 rptz a,# ;將 acc 累加器清零,循環(huán)次 mac *ar2+0%,*ar3+0%,a sth a

28、,*(yn) ;保存輸出 mvkd *(yn),*ar5+ 將累加器清零,將存儲單元 bn 與 xn 值對應(yīng)相乘并累加到 acc 中,循環(huán) 次將 acc 中的值保存輸出。再從 indata 數(shù)據(jù)存儲段中讀入一個新的數(shù)據(jù),代 替原來的最老樣本 mvdd *ar4+,*ar2+0% ,重復(fù)循環(huán)直到數(shù)據(jù)全部處理完。 最后將處理完的數(shù)據(jù)輸入到 outdata 數(shù)據(jù)存儲段中。 4.1.2 數(shù)據(jù)輸入 matlab 輔助 dsp 實現(xiàn) fir 濾波器濾波 ,其總體過程是為 dsp 中編寫處理 程序提供濾波器系數(shù)。在 matlab 中利用濾波器設(shè)計、分析工具( fdatool) ,根 據(jù)指定的濾波器性能快速設(shè)

29、計一個 fir ,然后把濾波器系數(shù)以頭文件形式導(dǎo)入 ccs 中,頭文件中包含 matlab 輔助 dsp 實現(xiàn) fir 數(shù)字濾波器的階數(shù)和系數(shù)數(shù) 組,在 matlab 中調(diào)試、運行 dsp 程序并顯示、分析處理后的數(shù)據(jù)。 打開 ccs ide 中 file 的 data 加載初始化 data 數(shù)據(jù),在 address 中輸入 數(shù)據(jù)存放的起始地址 indata,并設(shè)置數(shù)據(jù)棧長度。 4.1.3 運行程序仿真 運行程序,查看輸入輸出波形,修改相應(yīng)參數(shù)進行調(diào)試。 在 view 的 graph 中單擊 time/frequency 出現(xiàn) graph property dialog 框。 將顯示類型,圖形

30、名稱,起始地址,抽樣點數(shù),數(shù)據(jù)類型等分別進行設(shè)置, 輸出各種波形。輸出濾波前的信號時域波形。首先,設(shè)置如下圖所示,輸出濾 波前的信號時域波形。 圖 2 濾波前語音信號的時域 graph property dialog 設(shè)置參數(shù)圖 將 display type 改為 fft magnitude 就可以看到濾波前信號的頻譜,將 start address 改為 outdata 就可以看到濾波后信號的時域波形和頻譜。 4.2 ccs 仿真結(jié)果 圖 3 濾波前語音信號的時域波形圖 圖 4 濾波前信號頻譜波形圖 4.2.2 fir 濾波器濾波后的信號 圖 5 濾波后信號時域波形圖 圖 6 濾波后信號頻譜

31、圖 圖 17 波前的信號,由高頻信號和原信號疊加而成的波形較為雜亂,加噪后 的信號幅值較大。圖 19 波后的信號,從圖上可以看到信號幅度較低,波形較為 清晰。 對比圖 18 圖 20 可以看到加躁后信號幅值較大,信號的能量集中在高頻段, 濾波后,高頻成分大部分被濾去,信號的能量主要集中在低頻段。 5 問題及解決方法 1.為什么存入 dat 文件的信號數(shù)據(jù)要乘上 32768? 由于 tms32054x 是 16 位定點處理器,在進行匯編程序設(shè)計時,fir 濾波 器系數(shù)需要采用 q15 格式,即必須將上述系數(shù)據(jù)轉(zhuǎn)化位 q15 定點式。 2.matlab 編譯錯誤出現(xiàn)如下錯誤? the carrie

32、r frequency must be less than half the sampling frequency.故降低載波頻率 3. 在 view 的 graph 中單擊 time/frequency 出現(xiàn) graph property dialog 框,未修改抽樣點數(shù),顯示的圖形出現(xiàn)差異. 4、通過 load data 時,在配置地址和長度時,我們沒有忘記按照自己設(shè) 定的起始地址及長度,結(jié)果顯示出來的圖像與真實的有極大的偏差。 答:把 address 和 length 的參數(shù)填寫自己在生成 dat 文件是所設(shè)置的值 一致,最后濾波輸出波形正確。 5、為了實現(xiàn)語音及噪聲的通過設(shè)計的濾波器進

33、行驗證,需要制作一個語音 及噪聲的.dat 文件,以供 ccs 信號輸入,對軟件不熟練的我們不懂的怎么應(yīng)用? 答:通過到圖書館借相應(yīng)的書來自學(xué),學(xué)習(xí) matlab 的生成.dat 文件的相 關(guān)命令語句,以及請教其他同學(xué)。通過不斷的討論和研究,知道了要對信號進 行采樣,再通過 fopen 語句等,才能生成 dat 文件 6 設(shè)計感想 通過本次課程設(shè)計,我們發(fā)現(xiàn)在課本上學(xué)到的知識實在是不能使我們有能 力駕馭這個課程設(shè)計。 一開始決定做這個課題,我們就去查找了大量資料,通過查找資料我們都 清楚了大概要做些什么。首先要進行 matlab 仿真,并通過 matlab 設(shè)計的 fir 濾波器輸出濾波器系數(shù)

34、。接著便是通過 ccs 編程,并在 dsp 上運行。我們 覺得思路是很清晰的,但是實際操作起來卻困難重重。 原始信號有了,我們也得了教訓(xùn),便開始計劃開來。于是,翻書看完有關(guān) fir 濾波器的相關(guān)介紹,重點看了凱塞窗。然后查資料找出與本次設(shè)計有關(guān)的 matlab 知識。做完這些自然是開始設(shè)計,總體框架,具體步驟,都在腦袋瓜里 轉(zhuǎn)了幾轉(zhuǎn)。動工,這時才深刻體會到“紙上學(xué)來終覺淺,用到實際才叫真!” 開始設(shè)計從噪聲選取,到低通,高通,帶阻,帶通濾波器的設(shè)計,其中是錯漏 百出。當(dāng)然,作為老手自然不會再去犯什么程序設(shè)計上的低級錯誤,主要還是 對濾波器的認知不夠深刻。有的只是照抄書本,最后是連自己都為自己所

35、犯的 錯誤驚愕不已。其中許多錯誤差點讓自己從頭來過,一度讓自己有放棄的打算。 最后還是堅持了下來,自己大嘆不容易。 設(shè)計的時間過了,但它帶來的影響我想是不滅的!要有一個良好的就業(yè)前 景。擁有扎實的理論知識,認真細致的處事態(tài)度,隨機應(yīng)變的實際應(yīng)用方法, 不拘一格的思路都將使得自己能有好的未來。 參 考 文 獻 1 鄒彥,dsp原理及應(yīng)用(修訂版) ,北京:電子工業(yè)出版社,2012 2 王宏. matlab6.5及其在信號處理中的應(yīng)用.m. 北京:清華大學(xué)出版社, 2004 3 高西全,丁玉美,闊永紅.數(shù)字信號處理-原理、實現(xiàn)及應(yīng)用.m.北京:電子工 業(yè)出版社,2006 4 胡廣書編著,數(shù)字信號處

36、理理論、算法與實現(xiàn).北京:清華大學(xué)出版社, 2005; 附 錄 1.主程序 fir.asm: .title fir.asm .mmregs .def start .bss yn,1 xn .usect xn,37 hn .usect hn,37 indata .usect indata,300 outdata .usect outdata,256 .data fir_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*1024/10000,-71*1024/10000 .word 417*1024/10000,316*1024/10000 .word -524*1024/1000

溫馨提示

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

最新文檔

評論

0/150

提交評論