DSP綜合性設(shè)計(jì)實(shí)驗(yàn)(考試用)(1)_第1頁(yè)
DSP綜合性設(shè)計(jì)實(shí)驗(yàn)(考試用)(1)_第2頁(yè)
DSP綜合性設(shè)計(jì)實(shí)驗(yàn)(考試用)(1)_第3頁(yè)
DSP綜合性設(shè)計(jì)實(shí)驗(yàn)(考試用)(1)_第4頁(yè)
DSP綜合性設(shè)計(jì)實(shí)驗(yàn)(考試用)(1)_第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、湖南科技學(xué)院電子工程系DSP實(shí)驗(yàn)考試湖南科技科學(xué)院DSP綜合性設(shè)計(jì)實(shí)驗(yàn)設(shè)計(jì)課題: IIR濾波器設(shè)計(jì) 電子工程系 電信1403 班設(shè)計(jì)者: 屈黎黎 張紀(jì)雙 學(xué)號(hào): 201406001127 201406002345 目錄一設(shè)計(jì)目的3二設(shè)計(jì)要求3三總體概要設(shè)計(jì)33.1 設(shè)計(jì)要求33.2 IIR濾波器原理3四差分方程及系數(shù)5五實(shí)驗(yàn)步驟6六源代碼流程圖86.1 程序流程圖:86.2 程序源代碼:8七實(shí)驗(yàn)結(jié)果及分析9八. 總結(jié)10九參考文獻(xiàn)和輔助軟件工具119.1 參考文獻(xiàn)119.2 輔助軟件工具:MATLAB119.2.1 軟件基本介紹119.2.2 IIR濾波器的MATLAB實(shí)現(xiàn)12DSP綜合性設(shè)計(jì)

2、實(shí)驗(yàn)成績(jī)?cè)u(píng)定13 IIR濾波器設(shè)計(jì)一 設(shè)計(jì)目的運(yùn)用之前所學(xué)的基礎(chǔ)知識(shí)和基本理論,掌握設(shè)計(jì) IIR 數(shù)字濾波器的原理和方法;熟悉 IIR 數(shù)字濾波器特性;了解 IIR 數(shù)字濾波器的設(shè)計(jì)方法。增強(qiáng)分析問(wèn)題和解決問(wèn)題的能力,加深對(duì)所學(xué)知識(shí)的理解,為今后的工作打下良好的基礎(chǔ)。二設(shè)計(jì)要求1設(shè)計(jì)指標(biāo)2設(shè)計(jì)要求3制作要求 自行裝配和調(diào)試,并能發(fā)現(xiàn)問(wèn)題和解決問(wèn)題。4編寫(xiě)設(shè)計(jì)報(bào)告 寫(xiě)出設(shè)計(jì)與制作的全過(guò)程,附上有關(guān)資料和圖紙,有心得體會(huì)。三總體概要設(shè)計(jì)3.1 設(shè)計(jì)要求本設(shè)計(jì)采用Butterworth型IIR低通濾波,其通帶邊緣 1kHz 處的增益為-3dB,10kHz 處的阻帶衰減為60dB,采樣頻率 25kHz

3、。3.2 IIR濾波器原理FIR濾波器的系統(tǒng)函數(shù)只有零點(diǎn)。而IIR濾波器除了具有極點(diǎn)以外,一般還存在零點(diǎn)。由于極點(diǎn)的存在,IIR濾波器用遞歸結(jié)構(gòu)來(lái)實(shí)現(xiàn)較為簡(jiǎn)單。實(shí)現(xiàn)IIR濾波器的基本結(jié)構(gòu)共有三中:直接型、級(jí)聯(lián)型和并聯(lián)型。下面簡(jiǎn)單介紹前兩種IIR濾波器的結(jié)構(gòu)。1、 直接型式(1-1)11-1利用公式 可以直接導(dǎo)出直接I型的IIR濾波器結(jié)構(gòu),可用下式來(lái)表示可以看出,和反饋環(huán)節(jié)中的延時(shí)單元不能共用,需要個(gè)延時(shí)單元。為了減少延時(shí)單元,對(duì)于線性系統(tǒng),上述公式也可以寫(xiě)成:由此可以導(dǎo)出直接型的濾波器結(jié)構(gòu)。圖1表示了一個(gè)直接型IIR濾波器的結(jié)構(gòu),該濾波器的階數(shù)是2階,共存在兩個(gè)反饋環(huán)節(jié)。圖1 直接型IIR濾波

4、器結(jié)構(gòu)2、 級(jí)聯(lián)型對(duì)式(1-1)的分子、分母進(jìn)行因式分解,由于中的系數(shù)都為實(shí)數(shù),的極、零點(diǎn)只可能是實(shí)數(shù)或者復(fù)共軛對(duì),對(duì)于復(fù)共軛對(duì)因子,可以復(fù)合成二階因子:式中系數(shù)都為實(shí)數(shù)。如果把實(shí)數(shù)因子(一階因子)看成是二次項(xiàng)系數(shù)為0的二階因子,則上式可以寫(xiě)成:其中由此可見(jiàn),是一個(gè)2階的IIR濾波器,N階IIR濾波器可以看成是由多個(gè)2階IIR濾波器級(jí)聯(lián)而成的,即IIR濾波器可以采用下列結(jié)構(gòu)來(lái)表示,也就是級(jí)聯(lián)型結(jié)構(gòu)(見(jiàn)圖2):圖2 級(jí)聯(lián)型IIR濾波器結(jié)構(gòu)四差分方程及系數(shù) 由雙線性變換定義可得到IIR濾波器的系統(tǒng)傳輸函數(shù)表示為IIR濾波器一般采用遞歸方式來(lái)實(shí)現(xiàn)。也就是說(shuō),濾波器當(dāng)前輸出是輸入序列和以前各輸出值、的

5、函數(shù),這可以用下列差分方程來(lái)表示:運(yùn)用輔助軟件工具M(jìn)atlab中的function模塊將濾波器的系數(shù)a,b和階數(shù)n計(jì)算出來(lái)。分別輸入: n,Wn=buttord(1/25,10/25,3,60)a,b=butter(n,Wn)freqz(a,b,128,1000)可以得到階數(shù)n=4,系數(shù)a= 0.0003317,0.0009951,0.0009951,0.0003317 ,系數(shù)b= 1.0000,-2.7101,2.4608,-0.7480因此,差分方程為:yn=0.0003317yn+ 0.0009951yn-1+ 0.0009951yn-2+ 0.0003317yn-3+ xn-2.710

6、1xn-1 +2.4608xn-2 -0.7480xn-3五實(shí)驗(yàn)步驟1設(shè)置軟件仿真模式并啟動(dòng)CCS:打開(kāi)軟件,左擊出現(xiàn)界面的左邊第二行,選擇Remove,刪除此配置,重新選擇配置C55xx Rev3.0 CPU FU.,點(diǎn)擊<<Add添加,再點(diǎn)擊Save&Quit保存退出。 2打開(kāi)工程,瀏覽程序,工程目錄為C:ICETEKVC5509AeVC5509AeLab0502-IIRIIR.pjt。3打開(kāi)main.c文件,將前面算出來(lái)的階數(shù)n,系數(shù)a,b分別帶入“#define IIRNUMBER n”、“float fAnIIRNUMBER=a1,a2,a3,a4”、“float

7、 fBnIIRNUMBER=b1,b2,b3,b4 ”。4編譯并下載程序。5打開(kāi)觀察窗口:* 選擇菜單 View->Graph->Time/Frequency進(jìn)行如下圖所示設(shè)置。* 選擇菜單 View->Graph->Time/Frequency進(jìn)行如下圖所示設(shè)置。6清除顯示:在以上打開(kāi)的窗口中單擊鼠標(biāo)右鍵,選擇彈出式菜單中“Clear Display”功能。7設(shè)置斷點(diǎn):在程序 iir.c 中有注釋“break point”的語(yǔ)句上設(shè)置軟件斷點(diǎn)。8運(yùn)行并觀察結(jié)果: 選擇“Debug”菜單的“Animate”項(xiàng),或按 Alt+F5 鍵運(yùn)行程序。 觀察“IIR”窗口中時(shí)域圖

8、形;觀察濾波效果。9實(shí)驗(yàn)完成后退出 CCS。六源代碼流程圖6.1 程序流程圖:6.2 程序源代碼:#include"math.h"#define IIRNUMBER 4 /定義濾波器階數(shù)#define SIGNAL1F 1000 /定義有效抽樣頻率#define SIGNAL2F 4500 /高頻噪聲#define SAMPLEF 10000 /采樣頻率(0.5fs)#define PI 3.1415926/定義頭文件float InputWave(); /函數(shù)聲明float IIR(); /IIR函數(shù)聲明float fAnIIRNUMBER= 0.0003317,0.00

9、09951,0.0009951,0.0003317 ;float fBnIIRNUMBER= 1.0000,-2.7101,2.4608,-0.7480 ;float fXnIIRNUMBER= 0.0 ;float fYnIIRNUMBER= 0.0 ;float fInput,fOutput; float fSignal1,fSignal2;float fStepSignal1,fStepSignal2;float f2PI;int i;float fIn256,fOut256; /輸入輸出緩存int nIn,nOut;main()nIn=0; nOut=0;fInput=fOutput=

10、0;f2PI=2*PI;fSignal1=0.0;fSignal2=PI*0.1;/fStepSignal1=2*PI/30;/fStepSignal2=2*PI*1.4;fStepSignal1=2*PI/50;fStepSignal2=2*PI/2.5;while ( 1 )fInput=InputWave(); /從數(shù)據(jù)中導(dǎo)入數(shù)據(jù)到輸入緩存fInnIn=fInput;nIn+; nIn%=256; /保證數(shù)據(jù)緩存不溢出fOutput=IIR(); /調(diào)用濾波器函數(shù)fOutnOut=fOutput; /放入輸出緩存nOut+;/ break pointif ( nOut>=256 )

11、nOut=0;float InputWave()for ( i=IIRNUMBER-1;i>0;i- )fXni=fXni-1;fYni=fYni-1;fXn0=sin(double)fSignal1)+cos(double)fSignal2)/6.0;/高頻加低頻fYn0=0.0;fSignal1+=fStepSi 1; if ( fSignal1>=f2PI )fSignal1-=f2PI;fSignal2+=fStepSignal2;if ( fSignal2>=f2PI )fSignal2-=f2PI;return(fXn0);float IIR()float fSu

12、m;fSum=0.0;for ( i=0;i<IIRNUMBER;i+ )fSum+=(fXni*fAni); /輸入乘累加fSum+=(fYni*fBni); /輸出乘累加return(fSum);七實(shí)驗(yàn)結(jié)果及分析輸入波形為一個(gè)低頻率的正弦波與一個(gè)高頻的余弦波疊加而成。如圖:通過(guò)觀察頻域圖,得知:輸入波形中的低頻波形通過(guò)了濾波器,而高頻部分則被衰減。八總結(jié)在本次設(shè)計(jì)中由于剛開(kāi)始對(duì)DSP不太熟悉,因此在接觸到這個(gè)課題時(shí)感覺(jué)毫無(wú)頭緒,根本不知道從何處入手,導(dǎo)致在設(shè)計(jì)過(guò)程中遇到了一些問(wèn)題。雖然老師說(shuō)只要改變階數(shù)和系數(shù)就行了,但我們卻不知道要根據(jù)什么去改,好在老師給我們提供了一個(gè)輔助工具M(jìn)AT

13、LAB,通過(guò)它我們免去了大量計(jì)算,能夠很容易的得出所需要的解釋和系數(shù)。但一個(gè)問(wèn)題解決了另一個(gè)問(wèn)題又來(lái)了,因?yàn)槲覀儗?duì)源程序代碼不太理解,致使好不容易知道了階數(shù)和系數(shù)卻不知道要在程序中的哪個(gè)地方改,思考了很久都沒(méi)有解決,最后只好請(qǐng)教老師了。老師給我們粗略的講解了一下程序之后,我們?cè)偃プ屑?xì)的分析了下程序,最終終于基本把程序弄懂了,也知道改如何下手了。通過(guò)這次的設(shè)計(jì),不可否認(rèn)的是在一定程度上增強(qiáng)我們分析問(wèn)題和解決問(wèn)題的能力,同時(shí)也加深了對(duì)所學(xué)知識(shí)的理解,為今后的工作打下良好的基礎(chǔ),但也暴露出了我們自身的許多不足。程序分析能力和自主解決問(wèn)題的能力還有所欠缺,這在以后需要更好的加強(qiáng)??偟膩?lái)說(shuō)在本次的設(shè)計(jì)中

14、我們的收獲還是頗多的!九參考文獻(xiàn)和輔助軟件工具9.1 參考文獻(xiàn)1、DSP原理及應(yīng)用鄒彥主編,電子工業(yè)出版社 2、C語(yǔ)言程序設(shè)計(jì)譚浩強(qiáng)編,清華大學(xué)出版社3、基于MATLAB的數(shù)字濾波器設(shè)計(jì) 張亞妮,遼寧工程技術(shù)大學(xué)出版社 2005 4、ICETEK-VC5509A-(S60,D60,S80,D80)V3.10版9.2 輔助軟件工具:MATLAB9.2.1 軟件基本介紹MATLAB(矩陣實(shí)驗(yàn)室)是MATrix LABoratory的縮寫(xiě),是一款由美國(guó)The MathWorks公司出品的商業(yè)數(shù)學(xué)軟件。MATLAB是一種用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)

15、言和交互式環(huán)境。除了矩陣運(yùn)算、繪制函數(shù)/數(shù)據(jù)圖像等常用功能外,MATLAB還可以用來(lái)創(chuàng)建用戶界面及與調(diào)用其它語(yǔ)言(包括C,C+和FORTRAN)編寫(xiě)的程序。但利用為數(shù)眾多的附加工具箱(Toolbox)它也適合不同領(lǐng)域的應(yīng)用,例如控制系統(tǒng)設(shè)計(jì)與分析、圖像處理、信號(hào)處理與通訊、金融建模和分析等。另外還有一個(gè)配套軟件包Simulink,提供了一個(gè)可視化開(kāi)發(fā)環(huán)境,常用于系統(tǒng)模擬、動(dòng)態(tài)/嵌入式系統(tǒng)開(kāi)發(fā)等方面。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語(yǔ)言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域。MATLA

16、B的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來(lái)解算問(wèn)題要比用C,F(xiàn)ORTRAN等語(yǔ)言完成相同的事情簡(jiǎn)捷得多。本次設(shè)計(jì)就是運(yùn)用 Matlab中的function模塊將濾波器的系數(shù)a,b和階數(shù)n計(jì)算出來(lái),從而求出差分方程。 9.2.2 IIR濾波器的MATLAB實(shí)現(xiàn)(1)利用Buttord進(jìn)行巴特沃斯濾波器階數(shù)的選擇,Buttord函數(shù)可在給定的濾波器性能情況下,選擇Buttord濾波器最小的階。其格式為n,Wn=buttord(1/25,10/25,3,60) ,其中,1,10分別是通帶邊緣范圍,25是采樣頻率,3,60為通帶邊緣的阻帶衰減;n為滿足指定性能的Buttord濾波器的階數(shù);Wn為濾波器的截止頻率。         &

溫馨提示

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