dsp-fir濾波器_第1頁(yè)
dsp-fir濾波器_第2頁(yè)
dsp-fir濾波器_第3頁(yè)
dsp-fir濾波器_第4頁(yè)
dsp-fir濾波器_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于DSP的FIR低通濾波器的設(shè)計(jì) 學(xué) 號(hào): 電子與控制工程學(xué)院一、 設(shè)計(jì)要求通過(guò)ICETEKVC5509-A 評(píng)估板實(shí)現(xiàn)FIR濾波功能,將輸入的方波信號(hào)通過(guò)評(píng)估板上的AD模塊,濾波模塊,以及DA模塊后輸出正弦波信號(hào)并在示波器上觀察方波濾除后所產(chǎn)生的正弦波。在CCS下編寫(xiě)C語(yǔ)音和匯編語(yǔ)言程序分別實(shí)現(xiàn)濾波器功能,并且比較c語(yǔ)言和匯編語(yǔ)言的執(zhí)行速度進(jìn)行比較。二、 設(shè)計(jì)原理數(shù)字信號(hào)處理技術(shù)的應(yīng)用領(lǐng)域非常廣泛,而數(shù)字濾波器的設(shè)計(jì)是數(shù)字信號(hào)處理中最重要的設(shè)計(jì)環(huán)節(jié)。數(shù)字濾波器分為IIR濾波器和FIR濾波器。本次課設(shè)使用的是FIR濾波器。FIR濾波器即有限長(zhǎng)單位響應(yīng)濾波器,是數(shù)字信號(hào)處理系統(tǒng)中最基本的原件。

2、可以在保證任意頻率特性的同時(shí)具有嚴(yán)格的線性相位特性。同時(shí)其單位沖激響應(yīng)是有限長(zhǎng)的,因而濾波器是穩(wěn)定的系統(tǒng)。FIR濾波器在通信、圖像處理、模式識(shí)別等領(lǐng)域具有廣泛的應(yīng)用。在進(jìn)入FIR濾波器前,首先要將信號(hào)通過(guò)A/D器件進(jìn)行模數(shù)轉(zhuǎn)換,把模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào);為了使信號(hào)處理能夠不發(fā)生失真,信號(hào)的采樣速度必須滿足奈奎斯特定理,一般取信號(hào)頻率上限的4-5倍做為采樣頻率;一般可用速度較高的逐次逼進(jìn)式A/D轉(zhuǎn)換器,不論采用乘累加方法還是分布式算法設(shè)計(jì)FIR濾波器,濾波器輸出的數(shù)據(jù)都是一串序列,要使它能直觀地反應(yīng)出來(lái),還需經(jīng)過(guò)數(shù)模轉(zhuǎn)換。FIR濾波器誤反饋回路,是一種穩(wěn)定系統(tǒng),可以設(shè)計(jì)成具有線性相位特性。設(shè)FI

3、R濾波器的系數(shù)為h(0)、h(1)h(N-1),X(n)表示濾波器在n時(shí)刻的輸入,則那時(shí)刻的輸出為:y(n)=h(0)*x(n)+h(1)*x(n-1)+h(N-1)*xn-(N-1)FIR濾波器的差分方程為:                    對(duì)上式進(jìn)行Z變換得到FIR濾波器的傳遞函數(shù)為:        

4、0;      FIR數(shù)字濾波器的結(jié)構(gòu)圖如圖1所示:MATLAB輔助DSP 實(shí)現(xiàn)FIR ,其總體過(guò)程為在DSP中編寫(xiě)處理程序,在MATLAB中利用濾波器設(shè)計(jì)、分析工具( FDATOOL) ,根據(jù)指定的濾波器性能快速設(shè)計(jì)一個(gè)FIR ,把濾波器系數(shù)以頭文件形式導(dǎo)入CCS 中,頭文件中MATLAB 輔助DSP 實(shí)現(xiàn)FIR 數(shù)字濾波器含濾波器階數(shù)和系數(shù)數(shù)組,在MATLAB中調(diào)試、運(yùn)行DSP 程序并顯示、分析處理后的數(shù)據(jù)。使用該方法,便于采用匯編語(yǔ)言來(lái)實(shí)現(xiàn)程序。由于不同的窗函數(shù)對(duì)信號(hào)頻譜的影響是不一樣的,這主要是因?yàn)椴煌拇昂瘮?shù),產(chǎn)生泄漏的大小

5、不一樣,頻率分辨能力也不一樣。信號(hào)的截?cái)喈a(chǎn)生了能量泄漏,而用FFT算法計(jì)算頻譜又產(chǎn)生了柵欄效應(yīng),從原理上講這兩種誤差都是不能消除的,但是我們可以通過(guò)選擇不同的窗函數(shù)對(duì)它們的影響進(jìn)行抑制。在MATLAB設(shè)計(jì)中采用海明窗。三、 實(shí)驗(yàn)過(guò)程及結(jié)果1、 FIR濾波器的系數(shù)在matlab中可以通過(guò)分析工具FDATOOL來(lái)快速設(shè)計(jì)一個(gè)FIR,并得到相關(guān)的系數(shù),其設(shè)計(jì)界面如圖所示:得到其相關(guān)系數(shù):2、 fir的C程序的實(shí)現(xiàn)首先要?jiǎng)?chuàng)建一個(gè)數(shù)組,數(shù)組的大小等于濾波器的階數(shù),用來(lái)存放用MATLAB生成的濾波器的系數(shù),另外再定義一個(gè)數(shù)據(jù)緩沖區(qū),來(lái)存放采集來(lái)的數(shù)據(jù),該緩沖區(qū)的大小要和濾波器的系數(shù)數(shù)組的大小相同。然后進(jìn)行

6、數(shù)據(jù)移位,將數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)向下一個(gè)單元移1位,然后將剛采進(jìn)來(lái)的數(shù)據(jù)放到緩沖區(qū)的首位。最后用for循環(huán)來(lái)實(shí)現(xiàn)乘加運(yùn)算,得到這一時(shí)刻的卷積值。float fir( float x_in,float *x,float *b,int L) /float y_out;int i;for(i=L-1;i>0;i-)xi=xi-1; x0=x_in;y_out=0.0;for(i=0;i<L;i+)y_out=y_out+bi*xi; return(y_out);直接型FIR濾波器的實(shí)現(xiàn)涉及到兩個(gè)基本操作,一個(gè)是輸入信號(hào)向量與濾波器系數(shù)向量的內(nèi)積計(jì)算,另一個(gè)是輸入信號(hào)向量的更新處理。 在每個(gè)

7、采樣周期信號(hào)緩沖器都要更新一次,最老的采樣被拋棄,而其他的信號(hào)則向緩沖器的右方移動(dòng)一個(gè)單元,一個(gè)新的采樣被插入存儲(chǔ)單元,并被標(biāo)記。如果這個(gè)操作過(guò)程不用DSP硬件完成,那么它需要很多的時(shí)間。3、 Fir的匯編語(yǔ)言的實(shí)現(xiàn)處理信號(hào)緩沖器的最有效方法,是把信號(hào)采樣加載到循環(huán)緩沖器中。在循環(huán)緩沖器中,采取數(shù)據(jù)保持固定、反時(shí)針?lè)较蛞苿?dòng)地址的方式,代替保持緩沖器地址固定且正方向移動(dòng)數(shù)據(jù)。信號(hào)采樣的起點(diǎn)由指針x(n) 指定,其它諸采樣則沿著順時(shí)針?lè)较?,從起點(diǎn)開(kāi)始依次順序加載。當(dāng)接收到一個(gè)新的采樣時(shí),它會(huì)被配置在位置x(n)上,并且完成濾波算法。計(jì)算完輸出量y(n)以后,指針?lè)磿r(shí)針?lè)较蛞苿?dòng)一個(gè)單元到x(n-L+

8、1)位置,并且當(dāng)作下一次迭代運(yùn)算的x(n)。FIR濾波器系數(shù)的循環(huán)緩沖器如圖所示,它總是從第一個(gè)系數(shù)開(kāi)始運(yùn)行。基于以上方法的FIR濾波器,其匯編語(yǔ)言實(shí)現(xiàn)如下。匯編語(yǔ)言整數(shù)fir濾波器函數(shù):fir.asm; fir.asm 該程序用于實(shí)現(xiàn)FIR濾波器,可被C語(yǔ)言程序調(diào)用; int fir(int *,int *, unsigned int,int); 參數(shù)0: AR0 輸入信號(hào)緩沖區(qū)指針; 參數(shù)1: AR1 - FIR濾波器系數(shù)向量指針; 參數(shù)2: T0 - FIR 濾波器的階數(shù)L; 參數(shù)3: T1 - 輸入信號(hào)當(dāng)前值在循環(huán)緩沖區(qū)的序數(shù); 返回值: T0 - 輸出信號(hào)當(dāng)前值 .def _fir

9、_fir pshm ST1_55 ;現(xiàn)場(chǎng)ST1,ST2和ST3入棧 pshm ST2_55 pshm ST3_55or #0x340, mmap(ST1_55) ;設(shè)置FRCT,SXMD,SATDbset SMUL ;置位SMUL(P50)mov mmap(AR0),BSA01 ; AR0=輸入信號(hào)循環(huán)緩沖區(qū)的起始地址mov mmap(AR1),BSA23 ; AR1=濾波器系數(shù)循環(huán)緩沖區(qū)的起始地址mov mmap(T0),BK03 ;設(shè)置循環(huán)緩沖區(qū)大小or #0x5,mmap(ST2_55) ; AR0和AR2為循環(huán)緩沖區(qū)指針mov T1,AR0 ; AR0從index偏移量開(kāi)始mov #0,AR2 ; AR2從0偏移量開(kāi)始sub #2,T0 ;T0=L-2 mov T0,CSR ;設(shè)置外部循環(huán)次數(shù)為L(zhǎng)-1 mpym *AR0+,*AR2+,AC0 ;執(zhí)行第一次運(yùn)算| rpt CSR ;啟動(dòng)循環(huán)macm *AR0+,*AR2+,AC0mov hi(AC0),T0 ; 用Q15格式存放結(jié)果 popm ST3_55 ; 恢復(fù)ST1, ST2和 ST3popm ST2_55 popm ST1_55 ret.end4、 實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)設(shè)計(jì)的FIR濾波器的采樣頻率Fs為25KHz,截止頻率Fc為1KHz,當(dāng)輸入700Hz的方波時(shí)候,其處理波形顯示如下:輸入為2KHz的時(shí)候,顯示如下:四、

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論