DSP課程設(shè)計-fir數(shù)字濾波器_第1頁
DSP課程設(shè)計-fir數(shù)字濾波器_第2頁
DSP課程設(shè)計-fir數(shù)字濾波器_第3頁
DSP課程設(shè)計-fir數(shù)字濾波器_第4頁
DSP課程設(shè)計-fir數(shù)字濾波器_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄 第 1 章 緒論.1 1.1 設(shè)計背景.1 1.2 設(shè)計要求.1 1.3 設(shè)計思路簡介.1 第 2 章 系統(tǒng)開發(fā)平臺與環(huán)境.2 1.1 CCS 開發(fā)環(huán)境.2 2.2 SEED-DEC2812 開發(fā)實驗箱.2 第 3 章 FIR 濾波器設(shè)計過程.3 3.1 FIR 濾波器設(shè)計總框圖 .3 3.2 FIR 濾波器設(shè)計的原理 .3 3.3 FIR 濾波器的設(shè)計方法 .4 第 4 章 系統(tǒng)軟件設(shè)計.5 4.1 程序流程圖.5 4.2 程序源代碼.6 第 5 章 系統(tǒng)仿真.11 5.1 仿真設(shè)置.11 5.2 仿真圖.12 第 6 章 總結(jié).16 參考文獻.17 第第 1 章章 緒論緒論 1.1

2、 設(shè)計背景 在信號處理中,濾波占有十分重要的地位。數(shù)字濾波是數(shù)字信號處理的基 本方法。數(shù)字濾波與模擬濾波相比有很多優(yōu)點,它除了可避免模擬濾波器固有 的電壓漂移、溫度漂移和噪聲等問題外,還能滿足濾波器對幅度和相位的嚴格 要求。低通有限沖激響應(yīng)濾波器(低通FIR濾波器)有其獨特的優(yōu)點,因為 FIR 系統(tǒng)只有零點,因此,系統(tǒng)總是穩(wěn)定的,而且容易實現(xiàn)線性相位和允許實現(xiàn)多 通道濾波器。 DSP(數(shù)字信號處理器)與一般的微處理器相比有很大的區(qū)別,它所特有 的系統(tǒng)結(jié)構(gòu)、指令集合、數(shù)據(jù)流程方式為解決復(fù)雜的數(shù)字信號處理問題提供了 便利,本文選用TMS320C54X作為DSP處理芯片,通過對其編程來實現(xiàn) FIR濾

3、波器。 對數(shù)字濾波器而言,從實現(xiàn)方法上,有 FIR 濾波器和無限沖激響應(yīng)(IIR)濾波 器之分。由于FIR濾波器只有零點,因此這一類系統(tǒng)不像IIR系統(tǒng)那樣易取得 比較好的通帶與阻帶衰減特性。但是FIR系統(tǒng)有自己突出的優(yōu)點:系統(tǒng)總是 穩(wěn)定的;易實現(xiàn)線性相位;允許設(shè)計多通帶(阻帶)濾波器。其中后兩項是IIR 系統(tǒng)不易實現(xiàn)的。 1.2 設(shè)計要求 利用C語言在CCS環(huán)境中編寫一個FIR濾波器程序,并能利用已設(shè)計好 的濾波器對常用信號進行濾波處理。 1.3 設(shè)計思路簡介 在TMS320C54x系統(tǒng)開發(fā)環(huán)境CCS(Code Composer Studio)下對 FIR濾波器的DSP實現(xiàn)原理進行討論。利用C

4、語言設(shè)計相應(yīng)的濾波器,通過 實驗仿真,從輸入信號和輸出信號的時域和頻域曲線可看出在DSP上實現(xiàn)的 FIR濾波器能完成預(yù)定的濾波任務(wù)。 第 2 章 系統(tǒng)開發(fā)平臺與環(huán)境 1.1 CCS 開發(fā)環(huán)境 CCS提供了配置、建立、調(diào)試、跟蹤和分析程序的工具,它便于實時、 嵌入式信號處理程序的編制和測試,它能夠加速開發(fā)進程,提高工作效率。 CCS提供了基本的代碼生成工具,它們具有一系列的調(diào)試、分析能力。 CCS支持如下圖1.1所示的開發(fā)周期的所有階段。 圖 1.1 2.2 SEED-DEC2812 開發(fā)實驗箱 SEED-DECxxxx系列嵌入式DSP開發(fā)板本著模塊化、總線型、開放式、 系列化的設(shè)計思想,采用統(tǒng)

5、一的系統(tǒng)結(jié)構(gòu)、模塊結(jié)構(gòu)和機械結(jié)構(gòu),以多種典型 DSP處理器構(gòu)成具有標準總線和相同物理尺寸的高性能嵌入式DSP開發(fā)板。 SEED-DEC2812 嵌入式DSP開發(fā)板原理框圖如圖1.2所示: 設(shè)計 概念性規(guī)劃 編程和編譯 創(chuàng)建工程文件、編寫 源代碼和配置文件 調(diào)試 語法檢查、探 測點設(shè)置和日 志保存等 分析 實時調(diào)試、統(tǒng) 計和跟蹤 圖 1.2 第 3 章 FIR 濾波器設(shè)計過程 3.1 FIR 濾波器設(shè)計總框圖 FIR 濾波器設(shè)計總框圖如圖3.1所示 開始 初始化DSP 產(chǎn)生輸入數(shù)據(jù) 讀入新數(shù)據(jù)并存放到 棧頂 濾波處理 保存濾波結(jié)果到輸出單 元 待濾波的樣本點數(shù)處理完成 結(jié)束 否 是 圖 3.1

6、FIR 濾波器設(shè)計總框圖 3.2 FIR 濾波器設(shè)計的原理 設(shè)a i(i=0,1,2,N-1)為濾波器的沖激響應(yīng),輸入信號為x(n),則 FIR濾波器的輸入輸出關(guān)系為: FIR濾波器的結(jié)構(gòu)如圖3.2所示: 1 z 1 z 1 z 1 z a0 a1 2N a 1N a X(n)X(n-1)X(n-2) X(n-N+1) y(n) 圖 3.2 FIR 濾波器的結(jié)構(gòu) 3.3 FIR 濾波器的設(shè)計方法 循環(huán)緩沖算法:對于N級的FIR濾波器,在數(shù)據(jù)存儲器中開辟一個稱之為 滑窗的N個單元的緩沖區(qū),滑窗中存放最新的N個輸入樣本。每次輸入新的 樣本時,一新樣本改寫滑窗中的最老的數(shù)據(jù),而滑窗中的其他數(shù)據(jù)不需要

7、移動。 利用片內(nèi)BK(循環(huán)緩沖區(qū)長度)寄存器對滑窗進行間接尋址,環(huán)緩沖區(qū)地址 首位相鄰。下面,以N=5的FIR濾波器循環(huán)緩沖區(qū)為例,說明循環(huán)緩沖區(qū)中 數(shù)據(jù)是如何尋址的。5級循環(huán)緩沖區(qū)的結(jié)構(gòu)如圖3.3所示,頂部為低地址。 x(n) x(n-1) x(n-2) x(n-3) x(n-4) x(n) x(n-1) x(n-2) x(n-3) x(n+1) x(n) x(n-1) x(n-2) x(n-2) x(n-1) 數(shù)據(jù)存儲器數(shù)據(jù)存儲器數(shù)據(jù)存儲器 頂部 底部 圖 3.3 循環(huán)緩沖區(qū)的結(jié)構(gòu) 當(dāng)?shù)谝淮螆?zhí)行完之后,間接尋址的輔助寄存器指向 4 0 )()( i i inxany x AR x(n-4)

8、。然后,從 I/O 口輸入數(shù)據(jù)x(n+1),將原來存放x(n-4)的數(shù)據(jù)存儲單元 改寫為x(n+1)。接著,進行第二次乘法累加運算, 4 0 )1() 1( i i inxany 最后指向x(n-3)。然后從 I/O 口輸入數(shù)據(jù)x(n+2) ,將原來存放 x(n-4)的 x AR 數(shù)據(jù)存儲器單元改寫為x(n+2)。 第 4 章 系統(tǒng)軟件設(shè)計 4.1 程序流程圖 程序流程圖如圖4.1所示 初始化系統(tǒng) 關(guān)中斷 初始化PIE中斷 初始化PIE中斷矢量表 初始化cputimer 設(shè)置中斷服務(wù)程序 入口地址 開中斷 設(shè)置CPU 開中斷 fir濾波處理 結(jié)束 圖 4.1 程序流程圖 4.2 程序源代碼 4

9、.2.1 FILTER.c 代碼: #include DSP28_Device.h #include filter.h #include ext_inf.h unsigned int DataLong=1024; unsigned int i,j; unsigned int k= 0; unsigned short Ad_data2048; short Ad_data_signed2048; short filter_result1024; unsigned int convcount = 0; volatile unsigned int adconvover =0; interrupt vo

10、id ISRTimer2(void); interrupt void ad(void); void main(void) /*初始化系統(tǒng)*/ InitSysCtrl(); /*關(guān)中斷*/ DINT; IER = 0 x0000; IFR = 0 x0000; /*初始化PIE中斷*/ InitPieCtrl(); /*初始化PIE中斷矢量表*/ InitPieVectTable(); /初始化cputimer InitCpuTimers(); /*設(shè)置中斷服務(wù)程序入口地址*/ EALLOW; PieVectTable.TINT2 = PieVectTable.ADCINT = EDIS; /*

11、開中斷*/ IER |= M_INT1; /ADC中斷 EINT; ERTM; /*設(shè)置CPU*/ DINT; ConfigCpuTimer( StartCpuTimer2(); /*開中斷*/ IER |= M_INT14; EINT; InitAdc(); for(;) if (adconvover=1) /*fir濾波處理*/ for(i=0;i=16); _nassert(n=16); for(j=0;jm;j+) acc=0; for(i=0;i=m) break; else y0=(long)xi+j*(long)hi; acc=acc+y0; *y+=(short)(accs);

12、 第 5 章 系統(tǒng)仿真 5.1 仿真設(shè)置 1.fir_filter(Ad_data_signed,hfir,filter_result,ORDER_FIR,DataLong,R OUND_FIR)和 adconvover=0處設(shè)置斷點 2.在Graph Property Dialog中設(shè)置Start Address和Display Type如 圖5.1、圖5.2、圖5.3、圖5.4 圖 5.1 圖 5.2 圖 5.3 圖 5.4 3.設(shè)置實驗板輸入信號的參數(shù),再運行程序得到仿真圖。 5.2 仿真圖 (1)標準矩形波,頻率為300Hz,振幅為800mV。濾波前的波形如圖5.5 和圖5.6,濾波后

13、的波形如圖5.7和圖5.8。 圖 5.5 圖 5.6 圖 5.7 圖 5.8 (2)噪聲三角波,頻率為400Hz,振幅為800mV。濾波前的波形如圖5.9 和圖5.10,濾波后的波形如圖5.11和圖5.12。 圖 5.9 圖 5.10 圖 5.11 圖 5.12 第 6 章 總結(jié) FIR濾波器的設(shè)計是數(shù)字信號處理技術(shù)的基礎(chǔ),也是DSP芯片的重要組 成部分。FIR濾波器性能的好壞直接影響著DSP的運行速度和精度,對現(xiàn)代 電子技術(shù)的發(fā)展起決定性作用,F(xiàn)IR濾波器的設(shè)計在以后的一段相當(dāng)長的時間 里將持續(xù)主導(dǎo)DSP,而DSP隨著電子技術(shù)的不斷發(fā)展,應(yīng)用領(lǐng)域愈來愈廣泛。 這次課程設(shè)計實現(xiàn)了一個簡單的FIR濾波器的設(shè)計,在羅老師的精心指導(dǎo) 和幫助以及自己上網(wǎng)查找資料,較好的完成了課程設(shè)計的任務(wù)并達到了理想的 目的。在這里我對羅老師表示感謝,感謝她的耐心和熱心。通過這次課程設(shè)計 使我對DSP芯片有了更深一步的了解,也不斷的強化了自己的基礎(chǔ)知識。 參考文獻 1程佩青.數(shù)字信號處理教程M.北京:清

溫馨提示

  • 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

提交評論