DSP課程設(shè)計(jì)FIR濾波器設(shè)計(jì)_第1頁(yè)
DSP課程設(shè)計(jì)FIR濾波器設(shè)計(jì)_第2頁(yè)
DSP課程設(shè)計(jì)FIR濾波器設(shè)計(jì)_第3頁(yè)
DSP課程設(shè)計(jì)FIR濾波器設(shè)計(jì)_第4頁(yè)
DSP課程設(shè)計(jì)FIR濾波器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(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課程設(shè)計(jì)報(bào)告題目:FIR濾波器設(shè)計(jì) 學(xué)院:電氣信息學(xué)院 專(zhuān)業(yè):通信工程 姓名: 學(xué)號(hào): 指導(dǎo)老師:曹玉英 一、設(shè)計(jì)目標(biāo)設(shè)計(jì)一個(gè)FIR高通濾波器,通帶邊界頻率為2khz,通帶紋波小于1dB,采樣頻率為8khz,實(shí)現(xiàn)當(dāng)多個(gè)頻率的輸入信號(hào)輸入時(shí)只保留大于2khz的信號(hào)功能,其中FIR濾波器的設(shè)計(jì)可以用MATLAB窗函數(shù)法進(jìn)行。二、算法研究1. FIR的原理和參數(shù)生成公式FIR數(shù)字濾波器是非遞歸性的線性時(shí)不變因果系統(tǒng),這樣的系統(tǒng)的差分方程可以表示為: yn=i=0N-1aixn-i (2.1)令輸入信號(hào)x(n)=(n),代入(2.1)式,有yn=i=0N-1ain-i=a0(n)+a1(n-1)

2、+···+an-1n-(N-1) (2.2) 這時(shí)的y(n)即為沖激響應(yīng)h(n)。由(2.2)式很容易得到 h(0)=a0,h(1)=a1, ···,h(N-1)=an-1;又由(2.2)式可知,當(dāng)n<0以及n>N-1時(shí),h(n)=0,即這個(gè)系統(tǒng)的沖激響應(yīng)是有限長(zhǎng)度的,這樣的濾波器就叫做有限沖激響應(yīng)(FIR)濾波器。(2.3)將ai=h(i)(i=0,1, ···,N-1)代入(2.2)式,得到y(tǒng)n=i=0N-1hixn-i(2.4)將(2.3)式的兩邊進(jìn)行z變換后,可以得到FIR濾波器的系統(tǒng)

3、函數(shù):HZ=Y(Z) XZ =i=0N-1hiz-i=n=0N-1h(n)z-n又由(2.4)式,有Hz=h0zN-1+h1zN-2···+hN-2z+h(N-1)ZN-1因此,F(xiàn)IR濾波器的系統(tǒng)函數(shù)H(z)的極點(diǎn)都位于z=0處,為N-1階極點(diǎn);而N-1個(gè)零點(diǎn)由沖激響應(yīng)h(n)決定,一般來(lái)說(shuō),可以位于有限z平面的任何位置。由于FIR數(shù)字濾波器的極點(diǎn)都集中在單位圓內(nèi)的原點(diǎn)z=0處,與系數(shù)h(n)無(wú)關(guān),因此FIR濾波器總是穩(wěn)定的,這是FIR數(shù)字系統(tǒng)的一大優(yōu)點(diǎn)。2. 利用MATLAB計(jì)算濾波系數(shù)用來(lái)設(shè)計(jì)標(biāo)準(zhǔn)頻率響應(yīng)的基于窗函數(shù)的FIR濾波器,可實(shí)現(xiàn)加窗線性相位FIR數(shù)字

4、濾波器的設(shè)計(jì)。語(yǔ)法:b=fir1(n,Wn) b=fir1(n,Wn,ftype) b=fir1(n,Wn,Window) b=fir1(n,Wn,ftype,window) n:濾波器的階數(shù);Wn:濾波器的截止頻率; ftype:用來(lái)決定濾波器的類(lèi)型, 當(dāng)ftype=high時(shí),可設(shè)計(jì)高通濾波器; 當(dāng)ftype=stop時(shí),可設(shè)計(jì)帶阻濾波器;Window:用來(lái)指定濾波器采用的窗函數(shù)類(lèi)型,其默認(rèn)值為漢明窗。3.編寫(xiě)產(chǎn)生濾波器輸入信號(hào)的程序輸入信號(hào)應(yīng)該至少包含兩種頻率成分的正弦信號(hào),一種信號(hào)頻率小于2000hz,一種信號(hào)頻率大于2000hz??梢栽費(fèi)ATLAB中產(chǎn)生,也可編寫(xiě)DSP程序產(chǎn)生。三、

5、開(kāi)發(fā)平臺(tái)1.MATLABMATLAB是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。MATLAB是matrix&laboratory兩個(gè)詞的組合,意為矩陣工廠(矩陣實(shí)驗(yàn)室)。是由美國(guó)mathworks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案

6、,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語(yǔ)言(如C、Fortran)的編輯模式,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。2.CCSCCS(Code Composer Studio)是TI公司推出的針對(duì)TMS320系列DSP的集成開(kāi)發(fā)環(huán)境。在CCS下,開(kāi)發(fā)者可對(duì)軟件進(jìn)行編輯,編譯,調(diào)試,代碼性能測(cè)試和項(xiàng)目管理等所有工作,并能將程序下載到目標(biāo)DSP上運(yùn)行調(diào)試。在一個(gè)開(kāi)放式的插件結(jié)構(gòu)下,CCS內(nèi)部集成了以下軟件工具:1)C5000代碼產(chǎn)生工具(包括C5000的編譯器,匯編優(yōu)化器,匯編器和連接器);2)軟件模擬器(Simulator);3)實(shí)時(shí)基礎(chǔ)軟件DSP/BIOSTM ;4)主機(jī)與目標(biāo)機(jī)之間的實(shí)時(shí)

7、數(shù)據(jù)交換軟件RTDXTM;5)實(shí)時(shí)分析和數(shù)據(jù)可視化軟件;CCS不僅具有一系列的調(diào)試、分析能力,還提供了實(shí)時(shí)分析和數(shù)據(jù)可視化功能,大大降低了DSP系統(tǒng)的開(kāi)發(fā)難度,使開(kāi)發(fā)者可以將精力集中在應(yīng)用開(kāi)發(fā)上。四、參數(shù)計(jì)算1.利用MATLAB計(jì)算濾波系數(shù)利用MATLAB中的FDATOOL設(shè)計(jì)濾波器參數(shù)設(shè)置如圖4-1,頻域波形如圖4-2。其中FDATool(Filter Design and Analysis Tool)是MATLAB信號(hào)處理工具箱的一種綜合、簡(jiǎn)便的圖形用戶工具。通過(guò)該工具提供的先進(jìn)可視化濾波器集成設(shè)計(jì)環(huán)境,用戶可以方便地設(shè)計(jì)幾乎所有的常規(guī)濾波器,包括FIR和IIR的各種設(shè)計(jì)方法。本次設(shè)計(jì)利用

8、高通濾波器,選擇最小濾波器階次,采樣頻率Fs為8Khz,阻帶邊界頻率為1800hz,通帶頻率設(shè)置為2000hz。參數(shù)設(shè)置完成后,點(diǎn)擊design filter,即可生成如下濾波器的時(shí)域與頻域圖像。圖4-1 FDATOOL生成濾波系數(shù)圖4-2 設(shè)計(jì)濾波器的頻域波形選擇Targets中的Code composer studio(r)IDE,如圖4-3示,在出現(xiàn)的對(duì)話框中選擇輸出文件類(lèi)型為C header file,輸出系數(shù)類(lèi)型為signed 16-bit integer。點(diǎn)擊OK, 選擇路徑,即可輸出前一步設(shè)計(jì)出的FIR濾波器的系數(shù)表。圖4-3 生成濾波器系數(shù)表文件2.利用MATLAB生成輸入信號(hào)

9、假設(shè)輸入信號(hào)包括兩種頻率成分,其中一個(gè)信號(hào)頻率設(shè)置為800hz,另一個(gè)設(shè)置為2500hz,用MATLAB產(chǎn)生,代碼如下:i=0:1:255;xto_ccs=round(sin(2*pi*i*800/8000)+sin(2*pi*i*2500/8000)*32768/2)fid=fopen('input.dat','w');%打開(kāi)文件 fprintf(fid,'1651 1 0 0 0n');%輸出文件頭 fprintf(fid,'%dn',xto_ccs);%輸出fclo

10、se(fid);單擊編譯后生成input.dat文件。五、源程序1.c語(yǔ)言主程序:#include"stdio.h"#include"fdacoefs.h" /濾波系數(shù)文件#define N 111 / FIR濾波器的級(jí)數(shù)+1,本例中濾波器級(jí)數(shù)為110#define LEN 200 /待濾波的數(shù)據(jù)長(zhǎng)度long yn;int inputLEN; /輸入緩沖,在仿真時(shí)將從內(nèi)存載入int outputLEN; /輸出緩沖,直接存放在內(nèi)存中void main() int i,j; int *x; for(j=0;j<LEN-1;j+) x=&inp

11、utj; yn=0; for(i=0;i<N-1;i+) yn+=Bi*(*x+); outputj=yn>>15; while(1);2.cmd連接器文件MEMORY PAGE 0:EPROG:o=0x1400,l=0x7c00 VECT:o=0xff90,l=0x80 PAGE 1:USERREGS:o=0x60,l=0x1c BIOSREGS:o=0x7c,l=0x4 IDATA:o=0x80,l=0x1380 EDATA:o=0x1400,l=0x8000 EDATA1:o=0x9400,l=0x4c00 SECTIONS .vectors:>VECT PAGE

12、 0 .sysregs:>BIOSREGS PAGE1 .trcinit:>EPROG PAGE 0 .gblinit:>EPROG PAGE 0 .frt:>EPROG PAGE 0 .text:>EPROG PAGE 0 .cinit:>EPROG PAGE 0 .print:>EPROG PAGE 0 .sysinit:>EPROG PAGE 0 .bss:>IDATA PAGE 1 .far:>IDATA PAGE 1 .const:>IDATA PAGE 1 .switch:>IDATA PAGE 1 .sysm

13、em:>IDATA PAGE 1 .cio:>IDATA PAGE 1 .MEM$obj:>IDATA PAGE 1 .sysheap:>IDATA PAGE 1 .stack:>IDATA PAGE 1 六、調(diào)試過(guò)程1.編譯程序新建工程文件“l(fā)iuying0202”,按照五中要求輸入c語(yǔ)言源程序及cmd文件,將.c,.cmd,.lib加入工程中,rebuild all。調(diào)試結(jié)果如圖6-1示。圖6-1 rebuild all結(jié)果2.導(dǎo)入程序點(diǎn)擊file按鈕,選擇load program,添加剛剛生成的liuying0202.out文件。如圖6-2示。圖6-2 加入

14、.out文件3.導(dǎo)入數(shù)據(jù)點(diǎn)擊file按鈕,選擇data中的load.選項(xiàng),將利用MATLAB生成的inpu t.dat文件導(dǎo)入輸入的信號(hào)波形文件,如圖6-3示,點(diǎn)擊確定后,彈出設(shè)置對(duì)話框,將導(dǎo)入的數(shù)據(jù)文件的起始地址設(shè)置為input,數(shù)據(jù)長(zhǎng)度為200,page選擇data,具體如圖6-4示。圖6-3 導(dǎo)入數(shù)據(jù)文件圖6-4 設(shè)置導(dǎo)入數(shù)據(jù)格式4.設(shè)置觀察窗口點(diǎn)擊view按鈕,選擇graph中的time/frequency.進(jìn)行設(shè)置,起始地址分別設(shè)置為:input 和output,數(shù)據(jù)大小設(shè)置為:200,采樣頻率設(shè)置為8Khz。如圖6-5示。圖6-5 設(shè)置觀察窗口七、實(shí)驗(yàn)結(jié)果及分析1.輸入信號(hào)如圖7-

15、1是輸入信號(hào)時(shí)域波形,圖7-2是輸入信號(hào)頻域波形。2.輸出信號(hào)如圖7-3是輸出信號(hào)時(shí)域波形,圖7-4是輸出信號(hào)頻域波形。圖7-1 輸入信號(hào)時(shí)域波形圖7-2 輸入信號(hào)頻域波形圖7-3 輸出信號(hào)時(shí)域波形圖7-4 輸出信號(hào)頻域波形3.結(jié)果分析通過(guò)四個(gè)觀察窗口可以明顯的觀察到,本次設(shè)計(jì)的濾波器將頻率為800hz的信號(hào)濾除,只留下了頻率為2500hz的信號(hào),實(shí)現(xiàn)了高通濾波器的濾波功能。但濾波的效果未達(dá)到最好,有一定干擾存在。八、總結(jié)采用MATLAB軟件來(lái)輔助DSP平臺(tái)實(shí)現(xiàn)FIR高通數(shù)字濾波器,大大簡(jiǎn)化了數(shù)字濾波器的設(shè)計(jì),通過(guò)MATLAB的FDATOOL將濾波器的設(shè)計(jì)可視化,使設(shè)計(jì)濾波器變得簡(jiǎn)單易行,最后

16、通過(guò)CCS軟件的仿真圖形說(shuō)明了該設(shè)計(jì)驗(yàn)證的方法都是可行的,該設(shè)計(jì)成功的實(shí)現(xiàn)了高通濾波器的功能。通過(guò)本次課程設(shè)計(jì),加深了對(duì)DSP課程概念的理解,鞏固了課堂上所學(xué)的理論知識(shí),并能很好的理解和掌握數(shù)字信號(hào)處理中的基本概念、基本原理、基本方法。同時(shí)掌握編程方法和解決實(shí)際問(wèn)題的技巧。參考資料:1周利清等 數(shù)字信號(hào)處理 北京郵電大學(xué)出版社 2014年2鄒彥等 DSP原理及應(yīng)用 電子工業(yè)出版社 2014年3曹玉英 <dsp>實(shí)驗(yàn)指導(dǎo)書(shū) 西南石油大學(xué) 2014年4王秀芳等 基于MatLab與DSP的濾波器的快速設(shè)計(jì)方法現(xiàn)代計(jì)算機(jī),2008,總第二七七期:97995 craftor FIR濾波器的設(shè)計(jì)使用Matlab和CCS 2009年補(bǔ)充部分一、修改程序?qū)崿F(xiàn)低通濾波器:1.濾波系數(shù)文件修改如圖補(bǔ)1-1

溫馨提示

  • 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)論