基于MATLAB與CCS的IIR濾波器設(shè)計(jì)_第1頁(yè)
基于MATLAB與CCS的IIR濾波器設(shè)計(jì)_第2頁(yè)
基于MATLAB與CCS的IIR濾波器設(shè)計(jì)_第3頁(yè)
基于MATLAB與CCS的IIR濾波器設(shè)計(jì)_第4頁(yè)
基于MATLAB與CCS的IIR濾波器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于MATLAB與CCS的IIR濾波器設(shè)計(jì)袁獻(xiàn)華(吉首大學(xué)物理科學(xué)與信息工程學(xué)院,湖南 吉首 416000)摘 要當(dāng)前,數(shù)字信號(hào)處理技術(shù)受到了人們的廣泛關(guān)注,其理論及算法隨著計(jì)機(jī)技術(shù)和微電子技術(shù)的發(fā)展得到了飛速地發(fā)展,并被廣泛應(yīng)用于語音和圖象理、數(shù)字通信、譜分析、模式識(shí)別和自動(dòng)控制等領(lǐng)域。數(shù)字濾波器是數(shù)字信處理中最重要的組成部分之一,幾乎出現(xiàn)在所有的數(shù)字信號(hào)處理系統(tǒng)中。本課題研究的數(shù)字濾波器基本理論及其實(shí)現(xiàn)方法,為數(shù)字濾波器的實(shí)現(xiàn)奠定了理論基礎(chǔ)。為數(shù)字濾波的相關(guān)領(lǐng)域提供了理論及技術(shù)準(zhǔn)備,縮短了理論與實(shí)踐的距離,為今后從事數(shù)字濾波和DSP技術(shù)研究開發(fā)工作奠定了基礎(chǔ),積累了經(jīng)驗(yàn)。關(guān)鍵詞: DSP;

2、集成開發(fā)環(huán)境;CCS;數(shù)字濾波器;IIRBased on MATLAB and CCS, IIR filter design Yuan Xian-Hua (Jishou University, School of Physical Science and Information Engineering, Hunan Jishou 416000) Abstract At present, digital signal processing technology has been widespread concern, its theory and algorithm with the total

3、 machine technology and the development of microelectronics technology has been rapidly evolving, and is widely used in voice and image science, digital communications, spectral analysis , pattern recognition and automation fields. Digital filter is a digital channel processing, one of the most impo

4、rtant component of almost appear in all of the digital signal processing systems. Of this research project the basic theory of digital filters and its realization method for the realization of digital filters has laid a theoretical basis. Relevant fields for the digital filter provides a theoretical

5、 and technical preparation, shortening the distance between theory and practice for the future in digital filtering and DSP technology research and development basis for the work and accumulated experience. Keywords: DSP; integrated development environment; CCS; digital filter; IIR目錄第一章 緒論11.1課題背景11

6、.2研究意義11.3國(guó)內(nèi)外相關(guān)領(lǐng)域的研究進(jìn)展1第二章 IIR濾波器的MATLAB輔助設(shè)計(jì)32.1MA丁LAB簡(jiǎn)介32.2 IIR濾波器的結(jié)構(gòu)3直接型3直接II型4級(jí)聯(lián)型5并聯(lián)型7濾波器的幾種結(jié)構(gòu)形式的性能82.3典型的IIR數(shù)字濾波器的設(shè)計(jì)9典型低通Chebyshevl型數(shù)字濾波器的設(shè)計(jì)9完全濾波器設(shè)計(jì)11第三章 數(shù)字濾波器在DSP上的實(shí)現(xiàn)143.1 CCS簡(jiǎn)介143.2 MATLAB與DSP之間的連接143.3 技術(shù)難點(diǎn)15定點(diǎn)數(shù)的定標(biāo)15誤差問題153.4數(shù)字濾波DSP實(shí)現(xiàn)程序設(shè)計(jì)163.5 CCS仿真結(jié)果及分析183.6帶通濾波器的MATLAB仿真結(jié)果20第四章 結(jié)論22參考文獻(xiàn)23第一

7、章 緒論1.1課題背景隨著集成電路技術(shù)的發(fā)展,各種新型的大規(guī)模和超大規(guī)模集成電路不斷涌現(xiàn),集成電路技術(shù)與計(jì)算機(jī)技術(shù)結(jié)合在一起,使得數(shù)字信號(hào)處理系統(tǒng)的功能越來越強(qiáng)。DSP技術(shù)就是基于VLSI技術(shù)和計(jì)算機(jī)技術(shù)發(fā)展起來的一門重要技術(shù)。DSP技術(shù)已在通信、控制、信號(hào)處理、儀器儀表、醫(yī)療、家電等很多領(lǐng)域得到了越來越廣泛的應(yīng)用。1.2研究意義在數(shù)字信號(hào)處理中,濾波占有極其重要的地位。數(shù)字濾波是語音和圖象處理、模式識(shí)別、譜分析等應(yīng)用中的一個(gè)基本的處理技術(shù)。用可編程DSP芯片實(shí)現(xiàn)數(shù)字濾波可通過修改濾波器的參數(shù)十分方便地改變?yōu)V波器的特性。因此,我們有必要對(duì)濾波器的設(shè)計(jì)方法進(jìn)行研究,理解其工作原理,優(yōu)化設(shè)計(jì)方法,

8、設(shè)計(jì)開發(fā)穩(wěn)定性好的濾波器系統(tǒng)。我們將通過DSP設(shè)計(jì)平臺(tái),實(shí)現(xiàn)較為重要的FIR和自適應(yīng)濾波器系統(tǒng),并實(shí)現(xiàn)了它們的應(yīng)用系統(tǒng)以TMS320C5402芯片為核心的硬件電路,實(shí)現(xiàn)能獨(dú)立完成濾波功能的系統(tǒng)。從而通過本課題的研究,掌握濾波器的設(shè)計(jì)技術(shù),為通信、信號(hào)處理等領(lǐng)域?qū)嵱没瘮?shù)字濾波器設(shè)計(jì)提供技術(shù)準(zhǔn)備。本科題的研究,將為今后設(shè)計(jì)以DSP為核心部件的嵌入式系統(tǒng)集成提供技術(shù)準(zhǔn)備,這不僅具有重要的理論意義,同時(shí)還具有重要的實(shí)際意義。1.3國(guó)內(nèi)外相關(guān)領(lǐng)域的研究進(jìn)展自20世紀(jì)70年代末80年代初DSP芯片誕生以來,DSP芯片得到了飛速的發(fā)展。在20多年時(shí)間里,DSP芯片已經(jīng)在信號(hào)處理,通信,雷達(dá)等許多領(lǐng)域得到廣泛

9、的應(yīng)用。世界上第一個(gè)單片DSP芯片是1978年AMI公司發(fā)布的S2811,1979年美國(guó)Intel公司發(fā)布的商用可編程器2920是DSP芯片的一個(gè)主要里程碑。1980年,日本NEC公司推出的PD7720是第一個(gè)具有乘法器的商用DSP芯片。在這之后,最成功的DSP芯片當(dāng)數(shù)美國(guó)德州儀器公司(Texas Instruments,簡(jiǎn)稱TI的一系列產(chǎn)品,其DSP市場(chǎng)份額占全世界份額近50%。目前DSP芯片的價(jià)格越來越低,性能價(jià)格比日益提高,具有巨大的應(yīng)用潛力。經(jīng)過十幾年的發(fā)展,DSP器件在高速度、可編程、小型化、低功耗等方面都有了長(zhǎng)足的發(fā)展,單片DSP芯片最快每秒可完成16億次(1600MIPS,每秒1

10、600M次指令)的運(yùn)算,生產(chǎn)DSP器件的公司也不斷壯大,目前,市場(chǎng)占有率前四名依次為:Texas Instruments、Lucent、AnalogDevice、Motorola。DSP器件應(yīng)用面從起初的局限于軍工,航空航天等軍事領(lǐng)域,擴(kuò)展到今天的諸多電子行業(yè)及消費(fèi)類電子產(chǎn)品中。第二章 IIR濾波器的MATLAB輔助設(shè)計(jì)2.1MA丁LAB簡(jiǎn)介MATLAB是矩陣實(shí)驗(yàn)室(MatrixLaboratory)之意。除具備卓越的數(shù)值計(jì)算能力外,它還提供了專業(yè)水平的符號(hào)計(jì)算,文字處理,可視化建模仿真和實(shí)時(shí)控制等功能。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué),工程中常用的形式十分相似,故用MA

11、TLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完相同的事情簡(jiǎn)捷得多,當(dāng)前流行的MATLAB5.3/Simulink3.0包括擁有數(shù)百個(gè)內(nèi)部函數(shù)的主包和三十幾種工具包(Toolbox)。工具包又可以分為功能性工具包和學(xué)科工具包。功能工具包用來擴(kuò)充MATLAB的符號(hào)計(jì)算,可視化建模仿真,文字處理及實(shí)時(shí)控制等功能。學(xué)科工具包是專業(yè)性比較強(qiáng)的工具包,控制工具包,信號(hào)處理工具包,通信工具包等都屬于此類。MATLAB具有許多的優(yōu)點(diǎn)比如:語言簡(jiǎn)潔緊湊,使用方便靈活,庫(kù)函數(shù)極其豐富;MATLAB既具有結(jié)構(gòu)化的控制語句(如for循環(huán),while循環(huán),break語句和if語句),又有面向?qū)ο缶幊痰奶匦?程序的可

12、移植性很好,基本上不做修改就可以在各種型號(hào)的計(jì)算機(jī)和操作系統(tǒng)上運(yùn)行,等等優(yōu)點(diǎn)。因此在各個(gè)學(xué)科和領(lǐng)域得到了廣泛的應(yīng)用。2.2 IIR濾波器的結(jié)構(gòu)IIR濾波器的傳遞函數(shù)在有限z平面上有極點(diǎn)存在。它的單位脈沖響應(yīng) 延續(xù)到無限長(zhǎng),而它的結(jié)構(gòu)上的特性是存在反饋環(huán)路,也即結(jié)構(gòu)上是遞歸型的。具體實(shí)現(xiàn)起來,結(jié)構(gòu)并不是唯一的。同一個(gè)傳遞函數(shù) ,可以有各種不同的結(jié)構(gòu)形式,其中主要的基本結(jié)構(gòu)形式有以下幾種:直接型 一個(gè)N階IIR濾波器的傳遞函數(shù)可以表達(dá)為 用差分方程可以表達(dá)為從這個(gè)差分方程表達(dá)式可以看出, 是由兩部分相加構(gòu)成: 第一部分是一個(gè)對(duì)輸入 的N節(jié)延時(shí)鏈結(jié)構(gòu),每節(jié)延時(shí)抽頭后加權(quán)相加,也即是一個(gè)橫向結(jié)構(gòu)網(wǎng)絡(luò)。

13、 第二部分也是一個(gè)N節(jié)延時(shí)鏈的橫向結(jié)構(gòu)網(wǎng)絡(luò),不過它是對(duì)延時(shí),因此是個(gè)反饋網(wǎng)絡(luò)。從圖中我們可以看到,直接型結(jié)構(gòu)需要2N級(jí)延時(shí)單元。直接II型 上面直接型結(jié)構(gòu)中的兩部分也可分別看作是兩個(gè)獨(dú)立的網(wǎng)絡(luò),其第一部分的傳遞函數(shù)為差分方程是 其第二部分的傳遞函數(shù)為差分方程是這兩部分串接后即構(gòu)成總的傳遞函數(shù) 由于系統(tǒng)是線性的,顯然將級(jí)聯(lián)的次序調(diào)換不會(huì)影響總的結(jié)果。即其結(jié)構(gòu)如圖2-3所示。即信號(hào)先經(jīng)過反饋網(wǎng)絡(luò) ,其輸出為中間變量再將 通過直饋網(wǎng)絡(luò) ,就得到系統(tǒng)的最后輸出改變級(jí)聯(lián)次序后,將中間的兩條完全相同的延時(shí)鏈合并。這樣延時(shí)單元可以節(jié)省一倍,即N階濾波器只需要N級(jí)延時(shí)單元。這種結(jié)構(gòu)稱為正準(zhǔn)型結(jié)構(gòu)或直接II型結(jié)

14、構(gòu),而把直接型稱為直接I型。級(jí)聯(lián)型一個(gè)N階的傳遞函數(shù)也可以用它的零、極點(diǎn)來表示,也即它的分子、分母都表達(dá)為因子形式 由于的系數(shù) 都是實(shí)系數(shù),因此零極點(diǎn)只有兩種情況:或者是實(shí)根,或者是共軛復(fù)根。即式中表示實(shí)根; 表示復(fù)根,并且 。再將每一對(duì)共軛因子合并起來構(gòu)成一個(gè)實(shí)系數(shù)的二階因子,則如果把單實(shí)根因子也看作是二階因子的一個(gè)特例:即二次項(xiàng)系數(shù)等于零的二階因子,則整個(gè)函數(shù)可以完全分解成實(shí)系數(shù)二階因子的形式這樣濾波器就可以用若干二階網(wǎng)絡(luò)級(jí)聯(lián)起來構(gòu)成,這些二階網(wǎng)絡(luò)也成為濾波器的二階基本節(jié)。它的傳遞函數(shù)的一般形式為這樣一個(gè)二階基本節(jié)可以采用直接II型結(jié)構(gòu)來實(shí)現(xiàn),整個(gè)濾波器則是他們的級(jí)聯(lián)。整個(gè)結(jié)構(gòu)如圖2-8所

15、示。圖2-8 結(jié)構(gòu)圖 并聯(lián)型 將傳遞函數(shù)展開成部分分式就可以用并聯(lián)的方式構(gòu)成濾波器。對(duì)于其中的共軛復(fù)根部分,再將它們成對(duì)地合并為二階實(shí)系數(shù)的部分分式,則其中,。 這樣就可以用L個(gè)一階網(wǎng)絡(luò)、M個(gè)二階網(wǎng)絡(luò)、以及一個(gè)常數(shù)A0網(wǎng)絡(luò)并聯(lián)起來組成濾波器H(z),其結(jié)構(gòu)如圖6-9所示。 當(dāng)然也可以全部采用二階節(jié)的結(jié)構(gòu),這時(shí)可將式(6-5)中實(shí)根部分兩兩合并以形成二階分式。 IIR濾波器的幾種結(jié)構(gòu)形式的性能直接I型:需要2N級(jí)延時(shí)單元。直接II型:只需要N級(jí)延時(shí)單元,節(jié)省資源。直接(I,II)型在實(shí)現(xiàn)原理上是類似的,都是直接一次構(gòu)成。共同的缺點(diǎn)是,系數(shù)ai 、bi對(duì)濾波器性能的控制關(guān)系不直接,調(diào)整不方便。更嚴(yán)

16、重的是當(dāng)階數(shù)N較高時(shí),直接型結(jié)構(gòu)的極點(diǎn)位置靈敏度太大,對(duì)字長(zhǎng)效應(yīng)太明顯,因而容易出現(xiàn)不穩(wěn)定現(xiàn)象并產(chǎn)生較大誤差。因此一般來說,采用另兩種結(jié)構(gòu)將具有更大的優(yōu)越性。級(jí)聯(lián)型:每一個(gè)基本節(jié)只關(guān)系到濾波器的某一對(duì)極點(diǎn)和一對(duì)零點(diǎn),便于準(zhǔn)確實(shí)現(xiàn)濾波器的零、極點(diǎn),也便于性能調(diào)整。級(jí)聯(lián)結(jié)構(gòu)可以由許多不同的搭配方式,在實(shí)際工作中,由于運(yùn)算字長(zhǎng)效應(yīng)的影響,不同排列所得到的誤差和性能也不一樣。并聯(lián)型:可以單獨(dú)調(diào)整極點(diǎn)位置,但不能直接控制零點(diǎn)。在運(yùn)算誤差方面,并聯(lián)型各基本節(jié)的誤差互不影響,所以比級(jí)聯(lián)型總的說,誤差要稍小一些。因此當(dāng)要求有準(zhǔn)確的傳輸零點(diǎn)時(shí),采用級(jí)聯(lián)型最合適,其他情況下這兩種結(jié)構(gòu)性能差不多,或許采用并聯(lián)型稍好

17、一點(diǎn)。2.3典型的IIR數(shù)字濾波器的設(shè)計(jì)模擬濾波器的理論和設(shè)計(jì)方法已發(fā)展得相當(dāng)成熟,且有一些典型的模擬濾波器供我們選擇,如巴特沃斯(Butterworth)濾波器、切比雪夫(Chebyshev)濾波器、橢圓(Cauer)濾波器、貝塞爾(Bessel)濾波器等,這些典型的濾波器各有特點(diǎn)。用MATLAB進(jìn)行典型的數(shù)字濾波器的設(shè)計(jì),一般步驟如下:(1)按一定規(guī)則將給出的數(shù)字濾波器的技術(shù)指標(biāo)轉(zhuǎn)換成模擬低通濾波器的技術(shù)指標(biāo);(2)根據(jù)轉(zhuǎn)換后的技術(shù)指標(biāo)使用濾波器階數(shù)選擇函數(shù),確定最小階數(shù)N和固有頻率Wn,根據(jù)選用的模擬低通濾波器的類型可分別用函數(shù):buttord、eheb1ord、chebZord、ell

18、ipord等;(3)運(yùn)用最小階數(shù)N產(chǎn)生模擬濾波器原型,模擬低通濾波器的創(chuàng)建函數(shù)有:buttap、eheb1ap、ehebZap、ellipap、besselap等;(4)運(yùn)用固有頻率Wn把模擬低通濾波器原型轉(zhuǎn)換成模擬低通、高通、帶通、帶阻濾波器,可分別用函數(shù)lpZlp、lpZhp、lpZbp、lpZbs;(5)運(yùn)用沖激響應(yīng)不變法或雙線性變換法把模擬濾波器轉(zhuǎn)換成數(shù)字濾波器,分別用函數(shù)impinvar和bilillear來實(shí)現(xiàn)。典型低通Chebyshevl型數(shù)字濾波器的設(shè)計(jì)設(shè)計(jì)中需要限定其通帶上限臨界頻率wp,阻帶臨界濾波頻率ws,在通帶內(nèi)的最大衰減rP,阻帶內(nèi)的最小衰減rs。設(shè)計(jì)過程如下:把數(shù)字

19、濾波器的頻率特征轉(zhuǎn)換成模擬濾波器的頻率特征;(例如設(shè)定各參數(shù)wp=30*2*pi;ws=40*2*pi:Fs=100;rp=0.3;rs=80:)選擇濾波器的階數(shù):N,Wn=cheblord(wP,ws,rP,rs,s);創(chuàng)建Chebyshevl型濾波器原型:z,P,k=eheblaP(N,rP):表達(dá)形式從零極點(diǎn)增益形式轉(zhuǎn)換成狀態(tài)方程形式:A,B,C,D=zpZss(z,p,k):把模擬低通濾波器原型轉(zhuǎn)換成模擬低通濾波器:At,Bt,Ct,Dt=IPZIP(A,B,C,D,Wn):表達(dá)形式從狀態(tài)方程形式轉(zhuǎn)換成傳遞函數(shù)形式:numl,denl=ssZtf(At,Bt,Ct,Dt);采用沖激響應(yīng)

20、不變法將模擬濾波器轉(zhuǎn)換成數(shù)字濾波器:numZ,denZ=imPinvar(numl,denl,100);N,Wn=cheb1ord(wp,ws,rp,rs,s)該函數(shù)返回模擬濾波器的最小階數(shù)N和Chebyshevl型固有頻率Wn。其中的wp、ws是以弧度為單位。如果rp=3dB,則固有頻率wn等于通帶截止頻率wp。z,P,k=eheb1aP(N,rP) 該函數(shù)返回一個(gè)N階Chebyshevl型濾波器的零點(diǎn)、極點(diǎn)和增益。這個(gè)濾波器有通帶內(nèi)的最大衰減為rP。chebyshevl型濾波器的主要特點(diǎn)是在阻帶內(nèi)達(dá)到最大平滑。At,Bt,et;Dt=lp2lp(A,B,C,D,Wn)該函數(shù)把模擬低通濾波器

21、原型轉(zhuǎn)換成截止頻率為Wn的低通濾波器。numZ,denZ卜impinvar(numl,denl,F(xiàn)s)該函數(shù)模擬濾波器傳遞函數(shù)形式numl,denl轉(zhuǎn)換為采樣頻率為Fs的數(shù)字濾波器的傳遞函數(shù)形式numZ,denZ。Fs缺省時(shí)默認(rèn)為1Hz。H,W=freqz(numZ,denZ,N)該函數(shù)返回?cái)?shù)字濾波器的頻率響應(yīng)。當(dāng)N是一個(gè)整數(shù)時(shí),函數(shù)返回N點(diǎn)的頻率向量H和N個(gè)點(diǎn)的復(fù)頻響應(yīng)向量W。N最好選用2的整數(shù)次冪,這樣使用FFT進(jìn)行快速運(yùn)算。N個(gè)頻率點(diǎn)均勻地分布在單位圓的上半圓上。系統(tǒng)的N默認(rèn)值為512。完全濾波器設(shè)計(jì)除了典型設(shè)計(jì)以外,MATLAB信號(hào)處理工具箱提供了幾個(gè)直接設(shè)計(jì)IIR數(shù)字濾波器的函數(shù),直

22、接調(diào)用就可以設(shè)計(jì)濾波器,這為設(shè)計(jì)通用濾波器提供了方便。設(shè)計(jì)Butterworth濾波器用函數(shù)butter(),可以設(shè)計(jì)低通、高通、帶通和帶阻的數(shù)字和模擬濾波器,其特性是通帶內(nèi)的幅度響應(yīng)最大限度的平滑,但損失了截止頻率處的下降斜度。設(shè)計(jì)ehebyshevI型濾波器用函數(shù)ehebyl()。可以設(shè)計(jì)低通、高通、帶通和帶阻的數(shù)字和模擬ChebyshevI型濾波器,其通帶內(nèi)為等波紋,阻帶內(nèi)為單調(diào)。ChebyshevI型濾波器的下降斜度比II型大,但其代價(jià)目是通帶內(nèi)波紋較大。設(shè)計(jì)ehebyshevII型濾波器用函數(shù)eheby2()??梢栽O(shè)計(jì)低通、高通、帶通和帶阻的數(shù)字和模擬ChebyshevII型濾波器,

23、其通帶內(nèi)為單調(diào),阻帶內(nèi)等波紋。ChebyshevII型濾波器的下降斜度比I型小,但其阻帶內(nèi)波紋較大。設(shè)計(jì)橢圓濾波器用函數(shù)ellip(),與ehebyl、eheby2類似,可以設(shè)計(jì)低通、高通、帶通和帶阻的數(shù)字和模擬濾波器。與Butterworth和chebyshev濾波器相比,ellip函數(shù)可以得到下降斜度更大的濾波器,得通帶和阻帶均為等波紋。一般情況下,橢圓濾波器能以最低的階實(shí)現(xiàn)指定的性能指標(biāo)。幾種類型的低通濾波器設(shè)計(jì):設(shè)Wp=30Hz,Ws=35Hz,F(xiàn)s=100,Rp=0.5dB,Rs=40dB分別用巴特沃斯(Butterworth)濾波器、切比雪夫(ehebyshev)濾波器、橢圓(Ca

24、uer)濾波器,程序設(shè)計(jì)如下:巴特沃斯低通濾波器:nl,Wnl=buttord(wP/(Fs/2),ws/(Fs/2),rP,rs,z);numl,denl=butter(nl,Wnl);圖2.2 Butterworth低通濾波器ehebyshevl低通濾波器:nZ,WnZ=eheblord(wP/(Fs/2),ws/(Fs/2),rP,rs,z):numZ,denZ=chebyl(nZ,rP,WnZ,high):圖2.3 ehebyshevl低通濾波器ehebyshevII低通濾波器:n3,Wn3=ehebZord(wP/(Fs/2),ws/(Fs/2),rP,rs,z):num3,den3

25、=ehebyZ(n3,rP,Wn3,high):圖2.4 ehebyshevII低通濾波器:橢圓低通濾波器:n4,Wn4=elliPord(wP/(Fs/2),ws/(Fs/2),rP,rs,z);num4,den4=elliP(n4,rP,rs,Wn4,high):圖2.6橢圓低通濾波器從頻率響應(yīng)圖中可以看出:巴特沃斯濾波器具有單調(diào)下降的幅頻特性,通帶內(nèi)平滑;切比雪夫I型濾波器的幅頻特性在通帶內(nèi)有波動(dòng),阻帶內(nèi)單調(diào);chebyshevH型濾波器的幅頻特性在阻帶內(nèi)有波動(dòng),通帶內(nèi)單調(diào);橢圓濾波器的選擇性相對(duì)前三種是最好的,下降斜度比較大,通帶和阻帶內(nèi)均為等波紋,同樣的性能指標(biāo),橢圓濾波器可以最低的

26、階數(shù)來實(shí)現(xiàn)。這樣根據(jù)不同的要求可以選用不同類型的濾波器。第三章 數(shù)字濾波器在DSP上的實(shí)現(xiàn)3.1 CCS簡(jiǎn)介DSP芯片的開發(fā)需要一套完整的軟、硬件開發(fā)工具。璐P芯片的開發(fā)工具可以分為代碼生成工具和代碼調(diào)試工具兩類。CCS(CodeComPoserStudi的是TI推出的用于開發(fā)其DSP芯片的集成開發(fā)環(huán)境,它采用Windows風(fēng)格界面,集編輯、編譯、鏈接軟件仿真、硬件調(diào)試及實(shí)時(shí)跟蹤等功能于一體,極大的方便了DSP程序的設(shè)計(jì)與開發(fā)。目前CCS軟件已經(jīng)歷了V1.O,V1.2,V2.O,和V2.1等版本,各個(gè)版本CCS軟件的功能大體一致。CCS集成開發(fā)環(huán)境中包含Simulator(軟件仿真器)和Emu

27、lat。r(硬件仿真器)兩部分。它們使用的是同一個(gè)集成開發(fā)環(huán)境。在本設(shè)計(jì)中,采用軟件仿真器進(jìn)行程序的調(diào)試,CCS集成開發(fā)環(huán)境(IDE)支持從編輯、編譯、匯編、鏈接到調(diào)試DSP應(yīng)用程序的整個(gè)開發(fā)過程。CCS具有強(qiáng)大的源代碼編輯器,允許編輯C語言源代碼和匯編源代碼,能在C代碼之后顯示與之對(duì)應(yīng)的匯編指令。CCS使用工程來管理整個(gè)應(yīng)用程序設(shè)計(jì)的所有文檔,工程中可包含C語言源代碼、匯編源代碼、庫(kù)文件、鏈接命令文件、頭文件和目標(biāo)文件。在使用CCS調(diào)試工具時(shí)能設(shè)置一個(gè)或多個(gè)斷點(diǎn);在斷點(diǎn)處自動(dòng)更新;使用Watch窗口查看變量;查看、編輯存儲(chǔ)器和寄存器的值;使用ProbePOint工具在主機(jī)與目標(biāo)系統(tǒng)間傳輸數(shù)據(jù)

28、:觀察目標(biāo)系統(tǒng)中執(zhí)行的反匯編代碼和C語言指令;對(duì)目標(biāo)系統(tǒng)中的信號(hào)繪圖顯示。圖5.1為CCS集成開發(fā)環(huán)境界面圖。圖5.1CCS集成開發(fā)環(huán)境界面圖3.2 MATLAB與DSP之間的連接MATLAB輔助DSP開發(fā)實(shí)現(xiàn)的關(guān)鍵是建立MATLAB與DSP間的連接。以往一般是由開發(fā)工具M(jìn)ATLAB把仿真結(jié)果先保存,再調(diào)入CCS中,在CCS中的仿真中間結(jié)果與MATLAB的仿真結(jié)果進(jìn)行比較,以此發(fā)現(xiàn)DSP程序的不足,這需要反復(fù)操作,比較麻煩。MathWorkS公司和TI公司共同開發(fā)的MATLABLinkforCCS開發(fā)工具(CCSLink),實(shí)現(xiàn)了在MATLAB,TICCS開發(fā)環(huán)境和DSP硬件間的雙向連接,開發(fā)

29、者可以利用MATLAB強(qiáng)大的數(shù)據(jù)處理、分析、可視化功能來處理CCS和目標(biāo)DSP中的數(shù)據(jù),可以大大簡(jiǎn)化DSP軟件開發(fā)的分析、調(diào)試和驗(yàn)證過程,縮短軟件開發(fā)周期。MATLAB可通過3種方式與CCS、目標(biāo)DSI,進(jìn)行連接、數(shù)據(jù)交換。CCSLink提供了3種連接對(duì)象:與CCS的連接對(duì)象可從MATLAB命令窗運(yùn)行CCS中的應(yīng)用程序,向目標(biāo)DSP的存貯器、寄存器讀出/寫人數(shù)據(jù),檢查DSP狀態(tài),開始/停止目標(biāo)DSP中運(yùn)行的程序。與RTDX(實(shí)時(shí)數(shù)據(jù)交換)的連接對(duì)象使MATLAB與目標(biāo)DSP直接通信,MATLAB可以實(shí)時(shí)地向目標(biāo)DSP取出/發(fā)送數(shù)據(jù),并不停止DSP中正在執(zhí)行的程序。嵌入式對(duì)象在MATLAB環(huán)境中

30、創(chuàng)建,該對(duì)象可代表嵌入在目標(biāo)C程序中的變量,由其可以直接對(duì)嵌入在目標(biāo)DSP存貯器/寄存器中的變量進(jìn)行操作。3.3 技術(shù)難點(diǎn) 定點(diǎn)數(shù)的定標(biāo)在定點(diǎn)DSP芯片中,采用定點(diǎn)數(shù)進(jìn)行數(shù)值運(yùn)算,其操作數(shù)一般采用整型數(shù)來表示。一個(gè)整型數(shù)的最大表示范圍取決于DSP芯片所給定的字長(zhǎng),一般為16位或24位,本文采用的DSP芯片為16位。顯然,字長(zhǎng)越長(zhǎng),所能表示的數(shù)的范圍越大,精度也越高。在濾波器的實(shí)現(xiàn)過程中,DSP所要處理的數(shù)可能是整數(shù),也可能是小數(shù)或混合小數(shù);然而,DSP在執(zhí)行算術(shù)運(yùn)算指令時(shí),并不知道當(dāng)前所處理的數(shù)據(jù)是整數(shù)還是小數(shù),更不能指出小數(shù)點(diǎn)的位置在哪里。因此,在編程時(shí)必須指定一個(gè)數(shù)的小數(shù)點(diǎn)處于哪一位,這就

31、是定標(biāo)。通過定標(biāo),可以在16位數(shù)的不同位置上確定小數(shù)點(diǎn),從而表示出一個(gè)范圍大小不同且精度也不同的小數(shù)。例如:在Q15中,1080H=0.12890625;在Q0時(shí),108OH=4224。同樣一個(gè)16位數(shù),若小數(shù)點(diǎn)設(shè)定的位置不同,它所表示的數(shù)也就不同。但對(duì)于DSP芯片來說,處理的方法是相同的。從上表中還可以看出,不同的Q表示的數(shù)不僅范圍不同,而且精度也不相同。Q越大,數(shù)值范圍越小,但精度越高;相反,Q越小,數(shù)值范圍越大,但精度越低。因此,對(duì)定點(diǎn)數(shù)而言,數(shù)值范圍與精度是一對(duì)矛盾,一個(gè)變量要想能夠表示較大的數(shù)值范圍,必須以犧牲精度為代價(jià),要想提高精度,則數(shù)的表示范圍就相應(yīng)的減小,在實(shí)際的定點(diǎn)算法中,

32、為達(dá)到最佳的性能,必須充分考慮這一點(diǎn)。在運(yùn)用定點(diǎn)DSP時(shí),如何選擇合適的Q值是一個(gè)關(guān)鍵性問題。就DSP運(yùn)算的處理過程來說,實(shí)際參與運(yùn)算的都是變量,有的是未知的,有的則在運(yùn)算過程中不斷改變數(shù)值,但它們?cè)趯?shí)際工程環(huán)境中作為一個(gè)物理參量而言都有一定的動(dòng)態(tài)范圍。只要?jiǎng)討B(tài)范圍確定了,Q值也就確定了。因此,在程序設(shè)計(jì)前,首先要通過細(xì)致和嚴(yán)謹(jǐn)?shù)姆治?,找出參與運(yùn)算的所有變量的變化范圍,充分估計(jì)運(yùn)算中可能出現(xiàn)的各種情況,然后確定采用何種定標(biāo)標(biāo)準(zhǔn)才能保證運(yùn)算結(jié)果正確可靠。這里,所討論的理論分析法和統(tǒng)計(jì)分析法確定變量絕對(duì)值最大值|max|.,然后根據(jù)|max|再確定Q值。但是,DSP操作過程中的意外情況是無法避免的

33、,即使采用統(tǒng)計(jì)分析法也不可能涉及到所有情況。因此,在定點(diǎn)運(yùn)算過程中應(yīng)該采取一些判斷和保護(hù)辦法(特別是在定點(diǎn)加法中)。另外,在數(shù)字信號(hào)處理中的大量運(yùn)算是乘法和累加,應(yīng)盡量采用純整數(shù)或純小數(shù)運(yùn)算,即全部變量都用Q0或Q15格式表示。這樣做的好處是操作簡(jiǎn)單、編程方便。只有當(dāng)純整數(shù)或純小數(shù)運(yùn)算不能滿足變量的動(dòng)態(tài)范圍和精度要求時(shí),才采用混合小數(shù)表示法進(jìn)行定點(diǎn)運(yùn)算。本文專門設(shè)計(jì)了一個(gè)Q15轉(zhuǎn)化程序,可以方便的把在MATLAB中得到的濾波器的系數(shù),和輸入的原始隨機(jī)信號(hào)進(jìn)行處理輸入到CCS中。 誤差問題因?yàn)樵谟枚c(diǎn)DSP實(shí)現(xiàn)時(shí),所有的數(shù)據(jù)都是定長(zhǎng)的,運(yùn)算也都是定點(diǎn)運(yùn)算,因而會(huì)產(chǎn)生有限字長(zhǎng)效應(yīng)。所產(chǎn)生的誤差主要

34、包括:數(shù)模轉(zhuǎn)換引起的量化誤差、系數(shù)量化引起的誤差以及運(yùn)算過程中的舍入誤差。在用定點(diǎn)DSP時(shí),產(chǎn)生誤差是不能避免的,但是可以通過一些辦法減小誤差。如,可以用兩個(gè)存儲(chǔ)單元來表示一個(gè)數(shù),運(yùn)算時(shí)運(yùn)用雙字運(yùn)算;可以根據(jù)需要將濾波器系數(shù)都用雙字表示,也可以只將一半的系數(shù)用雙字表示,視需要而定。另外,F(xiàn)IR數(shù)字濾波器和工IR數(shù)字濾波器所引入的量化誤差是不一樣的。FIR數(shù)字濾波器主要采用非遞歸結(jié)構(gòu),因而在有限精度的運(yùn)算中都是穩(wěn)定的;而IIR數(shù)字濾波器是遞歸結(jié)構(gòu),極點(diǎn)必須在z平面單位圓內(nèi)才能穩(wěn)定,這種結(jié)構(gòu)運(yùn)算中的四舍五入處理有時(shí)會(huì)引起寄生振蕩。除了有限字長(zhǎng)效應(yīng)以外,不同結(jié)構(gòu)引入的誤差也有所不同。在實(shí)際設(shè)計(jì)中,要

35、注意實(shí)現(xiàn)中的誤差問題。在選擇不同的結(jié)構(gòu)時(shí),應(yīng)考慮它們所引入的誤差,并用高級(jí)語言進(jìn)行定點(diǎn)仿真,以比較不同結(jié)構(gòu)下誤差的大小,從而作出合理選擇。從理論上說,可以用高階工IR數(shù)字濾波器實(shí)現(xiàn)良好的濾波效果。但由于DSP本身有限字長(zhǎng)和精度的因素,加上IIR濾波器在結(jié)構(gòu)上存在反饋回路,是遞歸型的,再者高階濾波器參數(shù)的動(dòng)態(tài)范圍很大。這樣一來造成兩個(gè)后果:結(jié)果溢出和誤差增大,從而導(dǎo)致算法無法在DSP上實(shí)現(xiàn)。因此要合理選擇濾波器的階數(shù)。3.4數(shù)字濾波DSP實(shí)現(xiàn)程序設(shè)計(jì)DSP程序設(shè)計(jì)流程圖見圖3.2圖3.2 DSP程序設(shè)計(jì)流程圖在技術(shù)難點(diǎn)中討論過定點(diǎn)數(shù)的定標(biāo)問題,特意編寫了一個(gè)小程序?qū)崿F(xiàn)對(duì)輸入原始信號(hào)和濾波器系數(shù)的

36、歸一化處理。一下為歸一化程序。X=;i=1;for n=1:1024 if x(1,i) 1 | x (1,i)-1 k(1, i)=x(1,i) *32768/max (x),else k(1,i)=x(1,i)*32768endi=i+1:end, n, i把原始信號(hào)數(shù)據(jù)和濾波器系數(shù)代人上面程序中x=,經(jīng)過運(yùn)算就可以得到歸一化數(shù)據(jù)。對(duì)實(shí)現(xiàn)濾波的核心程序?yàn)?filter_start:STM #K_CIR,BKSTM #l,AROSTM #inputdata,ORIGINSTM #bufferdatax,INPUTSTM #bufferdatay,F(xiàn)ILTERSTM #filterdata,O

37、UTPUTRPT #K_A-1MVDD *ORIGIN+,*INPUT+0%STM #bufferdatax,INPUTRPT #KA-lMVDD *INPUT+0%,*FILTER+0%STM #bufferdatay,F(xiàn)ILTERSTM #bufferdatax,INPUTSTM #K_DATA_5IZE-3-l,BRCRPTB filter_end-lMVDD *ORIGIN+,*INPUTRPT #KB-1-1MAR *INPUT-O%MPY *INPUT+O%,#b4,BLD B,AMPY *INPUT+O%,#b3,BLD B,AMPY *INPUT+O%,#b2,BLD B,AM

38、PY *INPUT+O%,#bl,BLD B,AMPY *FILTER+0%,#a3,BADD B,AMPY *FILTER+0%,#a2,BADD B,AMPY *FILTER+0%,#al,BADD B,ASTH A,*FILTER-0%STH A,*OUTPUT+MAR *FILTER-0%該程序是對(duì)初始化的數(shù)據(jù)進(jìn)行濾波,主要實(shí)現(xiàn)IIR差分方程初始化的數(shù)據(jù)就是濾波前的隨機(jī)信號(hào)。初始化數(shù)據(jù)和MATLAB中得到的濾波器系數(shù)做乘加運(yùn)算,就實(shí)現(xiàn)了對(duì)原始數(shù)據(jù)的濾波,濾波后的數(shù)據(jù)存放在特定的單元。只要將此程序做一些改動(dòng),然后在其他程序中調(diào)用就可以對(duì)實(shí)際的信號(hào)進(jìn)行濾波。在自來水檢漏系統(tǒng)中,對(duì)兩路采樣信

39、號(hào)進(jìn)行AD轉(zhuǎn)換后,送到DSP然后調(diào)用濾波程序,濾波后將數(shù)據(jù)輸出再進(jìn)行濾噪和相關(guān)算法的處理。3.5 CCS仿真結(jié)果及分析在CCS上調(diào)試仿真得到的結(jié)果:從圖仿真結(jié)果,可以看出輸入信號(hào)經(jīng)過截止頻率為500Hz的低通濾波器以后500Hz以上的頻率分量大大減弱。但是濾波效果不太理想尤其在家00Hz附近的頻率分量。經(jīng)過分析原因可能如下:首先數(shù)字濾波呂的性能主要取決于乘法器的各系數(shù),而這些系數(shù)在MATLAB上仿真的時(shí)候,是沒有經(jīng)過處理的真實(shí)數(shù)據(jù),因此在MATLAB上仿真是理想的仿真,因此效果較好。而在CCS上各個(gè)系數(shù)是經(jīng)過量化處理的,因此系數(shù)和原始系數(shù)相比較會(huì)有誤差。其次IIR數(shù)安濾波器是遞歸結(jié)構(gòu),極點(diǎn)必須

40、在z平面單位圓內(nèi)才能穩(wěn)定,這種結(jié)構(gòu)運(yùn)算中的四舍五入處理有時(shí)會(huì)引起寄生振蕩。從而影響濾波效果。再次,可能濾波器階數(shù)有點(diǎn)低??梢葬槍?duì)以上原因,對(duì)濾波器再進(jìn)行改進(jìn)。從理論上說,可以用高階IIR數(shù)字濾波器實(shí)現(xiàn)良好的濾波效果。但由于DSP本身有限字長(zhǎng)和精度的因素,加上IIR濾波器在結(jié)構(gòu)上存在反饋回路,是遞歸型的,再者高階濾波器參數(shù)的動(dòng)態(tài)范圍很大。這樣一來造成兩個(gè)后果:結(jié)果溢出和誤差增大,從而導(dǎo)致算法無法在DSP上實(shí)現(xiàn)。綜合考慮,將濾波器的階數(shù)提高到5階,得到新的仿真結(jié)果如圖3.4所示??梢钥闯?階的濾波效果要優(yōu)于3階濾波器。圖3.5 IIR帶通濾波器仿真結(jié)3.6帶通濾波器的MATLAB仿真結(jié)果IIR帶通濾波器的設(shè)計(jì)和低通濾波器的設(shè)計(jì)方法是一樣的。因此本文不再對(duì)IIR帶通濾波器的設(shè)計(jì)作過多的說明,只給

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論