fir數(shù)字濾波器的dsp課程設計_第1頁
已閱讀1頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  DSP原理課程設計報告</p><p>  題目: FIR數(shù)字濾波器 </p><p>  專 業(yè) 電子信息工程 </p><p>  姓 名 xxx </p><p>  班 級 2012級電工本1班 </p><p>  學

2、 號 xxxxxxxxx </p><p>  指導教師 xxx </p><p>  時 間 2015.09—2015.10 </p><p>  教師評分 </p><p><b>  目錄</b></p>&l

3、t;p>  一、課程設計的任務和目的1</p><p>  二、課程設計相關知識1</p><p>  2.1 SEED-DEC2812 嵌入式DSP開發(fā)板1</p><p><b>  三、設計思路1</b></p><p>  3.1 大致過程1</p><p>  3.2 F

4、IR濾波器的設計方法2</p><p>  四、設計總框圖和程序流程圖及程序源代碼3</p><p>  4.1 FIR濾波器設計總框圖3</p><p>  4.2 程序流程圖4</p><p>  4.3 程序源代碼5</p><p><b>  五、系統(tǒng)仿真9</b></p

5、><p>  5.1 仿真設置9</p><p>  5.2 仿真圖11</p><p><b>  六、參考文獻15</b></p><p><b>  七、總結(jié)15</b></p><p>  題目:FIR數(shù)字濾波器</p><p>  一、課

6、程設計的任務和目的</p><p>  課程設計的任務:本課程設計主要是利用C語言在CCS環(huán)境中編寫一個FIR濾波器程序,并能利用已設計好的濾波器對常用信號進行濾波處理。選用TMS320C54X作為DSP處理芯片,通過對其編程來實現(xiàn)FIR濾波器。通過課程設計環(huán)節(jié)來加強對所學知識的理解和應用。</p><p>  二、課程設計相關知識</p><p>  2.1 SE

7、ED-DEC2812 嵌入式DSP開發(fā)板</p><p>  SEED-DEC2812 嵌入式DSP開發(fā)板原理框圖如圖2.1所示:</p><p>  圖 2.1 SEED-DEC2812嵌入式DSP開發(fā)板原理框圖</p><p><b>  三、設計思路</b></p><p><b>  3.1 大致過程

8、</b></p><p>  在TMS320C54x系統(tǒng)開發(fā)環(huán)境CCS(Code Composer Studio)下對FIR濾波器的DSP實現(xiàn)原理進行討論。利用C語言設計相應的濾波器,通過實驗仿真,從輸入信號和輸出信號的時域和頻域曲線可看出在DSP上實現(xiàn)的FIR濾波器能完成預定的濾波任務。</p><p>  3.2 FIR濾波器的設計方法</p><p&g

9、t;  循環(huán)緩沖算法:對于N級的FIR濾波器,在數(shù)據(jù)存儲器中開辟一個稱之為滑窗的N個單元的緩沖區(qū),滑窗中存放最新的N個輸入樣本。每次輸入新的樣本時,一新樣本改寫滑窗中的最老的數(shù)據(jù),而滑窗中的其他數(shù)據(jù)不需要移動。利用片內(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.1所示,頂部為低地址。</p>&

10、lt;p>  圖3.1 循環(huán)緩沖區(qū)的結(jié)構(gòu)</p><p>  當?shù)谝淮螆?zhí)行完之后,間接尋址的輔助寄存器指向x(n-4)。然后,從I/O口輸入數(shù)據(jù)x(n+1),將原來存放x(n-4)的數(shù)據(jù)存儲單元改寫為x(n+1)。接著,進行第二次乘法累加運算,,最后指向x(n-3)。然后從I/O口輸入數(shù)據(jù)x(n+2) ,將原來存放 x(n-4)的數(shù)據(jù)存儲器單元改寫為x(n+2)。</p><p>

11、  四、設計總框圖和程序流程圖及程序源代碼</p><p>  4.1 FIR濾波器設計總框圖</p><p>  FIR濾波器設計總框圖如圖4.1所示</p><p>  圖4.1 FIR濾波器設計總框圖</p><p><b>  4.2 程序流程圖</b></p><p>  程序流程圖如

12、圖4.2所示</p><p>  圖4.2 程序流程圖</p><p><b>  4.3 程序源代碼</b></p><p>  FILTER.c代碼:</p><p>  #include "DSP28_Device.h"</p><p>  #include "

13、;filter.h"</p><p>  #include "ext_inf.h"</p><p>  unsigned int DataLong=1024;</p><p>  unsigned int i,j;</p><p>  unsigned int k= 0;</p><p>

14、  unsigned short Ad_data[2048];</p><p>  short Ad_data_signed[2048];</p><p>  short filter_result[1024];</p><p>  unsigned int convcount = 0;</p><p>  volatile unsigned

15、 int adconvover =0;</p><p>  interrupt void ISRTimer2(void);</p><p>  interrupt void ad(void);</p><p>  void main(void)</p><p><b>  {</b></p><p&g

16、t;<b>  /*初始化系統(tǒng)*/</b></p><p>  InitSysCtrl();</p><p><b>  /*關中斷*/</b></p><p><b>  DINT;</b></p><p>  IER = 0x0000;</p><p&g

17、t;  IFR = 0x0000;</p><p>  /*初始化PIE中斷*/</p><p>  InitPieCtrl();</p><p>  /*初始化PIE中斷矢量表*/</p><p>  InitPieVectTable();</p><p>  //初始化cputimer</p>&l

18、t;p>  InitCpuTimers();</p><p>  /*設置中斷服務程序入口地址*/</p><p><b>  EALLOW;</b></p><p>  PieVectTable.TINT2 = &ISRTimer2;</p><p>  PieVectTable.ADCINT = &a

19、mp;ad;</p><p><b>  EDIS; </b></p><p><b>  /*開中斷*/</b></p><p>  IER |= M_INT1; //ADC中斷</p><p><b>  EINT; </b></p><p&g

20、t;<b>  ERTM;</b></p><p><b>  /*設置CPU*/</b></p><p><b>  DINT;</b></p><p>  ConfigCpuTimer(&CpuTimer2, 150, 22);</p><p>  StartC

21、puTimer2();</p><p><b>  /*開中斷*/</b></p><p>  IER |= M_INT14;</p><p><b>  EINT;</b></p><p>  InitAdc();</p><p>  for(;;){</

22、p><p>  if (adconvover==1){</p><p>  /*fir濾波處理*/</p><p>  for(i=0;i<DataLong;i++)</p><p>  Ad_data_signed[i]=(short)(Ad_data[i]-0x5300); fir_filter(Ad_data_signed,hf

23、ir,filter_result,ORDER_FIR,DataLong,ROUND_FIR);</p><p>  adconvover=0;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  } </b></p

24、><p>  interrupt void ad(void)</p><p><b>  {</b></p><p>  IFR=0x0000;</p><p>  PieCtrl.PIEACK.all=0xffff;</p><p>  if(adconvover==0){</p>&

25、lt;p>  Ad_data[convcount] = AdcRegs.RESULT0;</p><p>  convcount++;</p><p><b>  }</b></p><p>  if (convcount==DataLong){</p><p>  convcount=0;</p>

26、<p>  adconvover=1;//接滿標志</p><p><b>  }</b></p><p><b>  }</b></p><p>  interrupt void ISRTimer2(void)</p><p><b>  {</b></p

27、><p>  AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1;</p><p>  AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;</p><p><b>  }</b></p><p>  FIR_filter.c代碼:</p><p>  //con

28、st short x[]:輸入信號的緩沖數(shù)組,short類型</p><p>  //const short h[]:濾波器的系數(shù)數(shù)組,short類型</p><p>  //short y[]:輸出信號的緩沖數(shù)組,short類型</p><p><b>  //n:濾波器長度</b></p><p>  //m:輸入信

29、號的長度,即x[]的長度</p><p>  //s:生成整型的濾波器系數(shù)時使用的移位數(shù)目</p><p>  void fir_filter(const short x[],const short h[],short y[],int n,int m,int s)</p><p><b>  {</b></p><p>

30、<b>  int i,j;</b></p><p><b>  long y0;</b></p><p><b>  long acc;</b></p><p>  _nassert(m>=16);</p><p>  _nassert(n>=16);</p

31、><p>  for(j=0;j<m;j++)</p><p><b>  {</b></p><p><b>  acc=0;</b></p><p>  for(i=0;i<n;i++)</p><p><b>  {</b></p&g

32、t;<p>  if(i+j>=m) </p><p><b>  break;</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  y0=(long)x[i+j]*(long)h[i];<

33、/p><p>  acc=acc+y0;</p><p><b>  }</b></p><p><b>  }</b></p><p>  *y++=(short)(acc>>s);</p><p><b>  }</b></p>

34、<p><b>  }</b></p><p><b>  五、系統(tǒng)仿真</b></p><p><b>  5.1 仿真設置</b></p><p>  1.fir_filter(Ad_data_signed,hfir,filter_result,ORDER_FIR,DataLong,R

35、OUND_FIR)和adconvover=0處設置斷點</p><p>  2.在Graph Property Dialog中設置Start Address和Display Type如圖5.1、圖5.2、圖5.3、圖5.4</p><p>  圖 5.1 Graph Property Dialog</p><p>  圖 5.2 Graph Property D

36、ialog</p><p>  圖 5.3 Graph Property Dialog</p><p>  圖 5.4 Graph Property Dialog</p><p>  3.設置實驗板輸入信號的參數(shù),再運行程序得到仿真圖。</p><p><b>  5.2 仿真圖</b></p><

37、;p>  (1)標準矩形波,頻率為300Hz,振幅為800mV。濾波前的波形如圖5.5和圖5.6,濾波后的波形如圖5.7和圖5.8。</p><p>  圖 5.5 標準矩形波濾波前波形</p><p>  圖 5.6 標準矩形波濾波前波形</p><p>  圖 5.7 標準矩形波濾波后波形</p><p>  圖 5.8 標

38、準矩形波濾波后波形</p><p> ?。?)噪聲三角波,頻率為400Hz,振幅為800mV。濾波前的波形如圖5.9和圖5.10,濾波后的波形如圖5.11和圖5.12。</p><p>  圖 5.9 噪聲三角波濾波前波形</p><p>  圖 5.10 噪聲三角波濾波前波形</p><p>  圖 5.11 噪聲三角波濾波后波形&l

39、t;/p><p>  圖 5.12 噪聲三角波濾波后波形</p><p><b>  六、參考文獻</b></p><p>  [1]程佩青.數(shù)字信號處理教程[M].北京:清華大學出版社,1999年</p><p>  [2]孫宗瀛,謝鴻林.TMS320C5xDSP原理設計與應用[M].北京:清華大學出版社,2002年&l

40、t;/p><p>  [3]喬瑞萍,崔濤,張芳娟.TMS320C54xDSP原理及應用[M].西安:西安電子科技大學出版社,2005年</p><p>  [4]張雄偉. DSP芯片的原理與開發(fā)應用(第三版)[M].北京:電子工業(yè)出版社,2003年</p><p>  [5]鄭紅.TMS320C54XDSP應用系統(tǒng)設計[M]. 北京:北京航空航天大學出版社,2002年&

41、lt;/p><p><b>  七、總結(jié)</b></p><p>  FIR濾波器的設計是數(shù)字信號處理技術的基礎,也是DSP芯片的重要組成部分。FIR濾波器性能的好壞直接影響著DSP的運行速度和精度,對現(xiàn)代電子技術的發(fā)展起決定性作用,F(xiàn)IR濾波器的設計在以后的一段相當長的時間里將持續(xù)主導DSP,而DSP隨著電子技術的不斷發(fā)展,應用領域愈來愈廣泛。</p>&

溫馨提示

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

評論

0/150

提交評論