基于Matlab 16階FIR低通濾波器的設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
基于Matlab 16階FIR低通濾波器的設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第2頁(yè)
基于Matlab 16階FIR低通濾波器的設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第3頁(yè)
基于Matlab 16階FIR低通濾波器的設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第4頁(yè)
基于Matlab 16階FIR低通濾波器的設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩49頁(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、1 緒 論1.1 引言濾波技術(shù)是信號(hào)分析、信號(hào)處理技術(shù)中的重要分支。無(wú)論是信號(hào)的獲取、傳輸,還是信號(hào)的處理、轉(zhuǎn)換都離不開濾波技術(shù)。濾波技術(shù)對(duì)信號(hào)安全可靠和有效靈活的傳遞至關(guān)重要【1】。在電子系統(tǒng)中,由于濾波器的好壞直接影響系統(tǒng)的性能,所以濾波技術(shù)已成為備受關(guān)注而熱門的課題,濾波器的研制已受到各國(guó)研究者越來(lái)越多的重視。我國(guó)在上世紀(jì)50年代后期開始廣泛使用濾波器,主要應(yīng)用在報(bào)路和話路濾波。經(jīng)過半個(gè)多世紀(jì)的發(fā)展,我國(guó)濾波器在研制、生產(chǎn)、應(yīng)用等方面已進(jìn)入國(guó)際發(fā)展軌道,但由于缺少專門研制機(jī)構(gòu),加之集成工藝和材料工業(yè)發(fā)展步伐的緩慢,使得我國(guó)在許多新型濾波器的研制和應(yīng)用方面與國(guó)外仍有較大的差距【2】。數(shù)字濾

2、波器是對(duì)離散時(shí)間信號(hào)進(jìn)行濾波處理以得到期望的響應(yīng)特性的離散時(shí)間系統(tǒng)。數(shù)字濾波器一般由寄存器、延時(shí)器、加法器和乘法器等基本數(shù)字電路來(lái)實(shí)現(xiàn)。數(shù)字濾波器能滿足濾波器對(duì)幅度和相位特性的嚴(yán)格要求,避免模擬濾波器所無(wú)法克服的電壓漂移、溫度漂移和噪聲等問題。隨著集成電路技術(shù)的發(fā)展,數(shù)字濾波器性能不斷提高而成本卻不斷降低。數(shù)字濾波器在語(yǔ)音信號(hào)處理、圖像信號(hào)處理、醫(yī)學(xué)生物信號(hào)處理以及其他應(yīng)用領(lǐng)域都得到了廣泛應(yīng)用。隨著電子計(jì)算機(jī)和大規(guī)模集成電路技術(shù)的發(fā)展,數(shù)字濾波器可用計(jì)算機(jī)軟件實(shí)現(xiàn),也可用大規(guī)模集成數(shù)字硬件實(shí)時(shí)實(shí)現(xiàn),數(shù)字濾波器已具備了高精度、高可靠性、可程控改變性或復(fù)用、便于集成等眾多優(yōu)點(diǎn)【3】。按照數(shù)字濾波器

3、(df)的特性,可分為線性與非線性、因果與非因果、無(wú)限長(zhǎng)沖激響應(yīng)(iir)與有限長(zhǎng)沖激響應(yīng)(fir)等類型。在這些濾波器中,線性時(shí)不變的數(shù)字濾波器是最基本的類型。由于數(shù)字系統(tǒng)可以對(duì)延時(shí)器加以利用,因此若在數(shù)字濾波器中引入一定程序的非因果性,就可獲得比傳統(tǒng)的因果濾波器更靈活強(qiáng)大的特性。相對(duì)于iir濾波器,fir濾波器具有易于實(shí)現(xiàn)和系統(tǒng)絕對(duì)穩(wěn)定的優(yōu)勢(shì),因此得到廣泛的應(yīng)用【4】。1.2 國(guó)內(nèi)外研究現(xiàn)狀在國(guó)內(nèi)外的研究中,設(shè)計(jì)fir濾波器所涉及的乘法運(yùn)算方式有:并行乘法、位串行乘法和分布式算法的乘法。并行乘法雖然速度快,同時(shí)占用的硬件資源極大。如果濾波器的長(zhǎng)度增加,乘法器位數(shù)也將變大,硬件規(guī)模將變得十分

4、龐大。位串行乘法器的實(shí)現(xiàn)方法主要是通過對(duì)乘法運(yùn)算進(jìn)行分解,用加法器來(lái)完成乘法的功能,也即無(wú)乘法操作的乘法器。但由于一個(gè)8*8位的乘法器輸出為16位,為了得到正確的16位結(jié)果,串行輸入的二進(jìn)制補(bǔ)碼數(shù)要進(jìn)行符號(hào)位擴(kuò)展,即將串行輸入的8位二進(jìn)制補(bǔ)碼前補(bǔ)8個(gè)0(對(duì)正數(shù))或8個(gè)1(對(duì)負(fù)數(shù))后才輸入乘法器。如果每一位的運(yùn)算需要一個(gè)時(shí)鐘周期的話,這個(gè)乘法器需要16個(gè)時(shí)鐘周期才能計(jì)算出正確結(jié)果,這就意味著此類乘法器要完全計(jì)算出結(jié)果的延遲必將會(huì)很大【5】。所以位串行乘法器雖然使得乘法器的硬件規(guī)模達(dá)到了最省,但是由于是串行運(yùn)算,使得它的運(yùn)算周期過長(zhǎng),速度與規(guī)模折衷考慮時(shí)不是最優(yōu)的。分布式算法(distribute

5、d arithmetic,ad)的主要特點(diǎn)是巧妙的利用rom查找表將固定系數(shù)的乘累加(multiply-accumulator,mac)運(yùn)算轉(zhuǎn)化為查表操作,它與傳統(tǒng)算法實(shí)現(xiàn)乘累加運(yùn)算的不同在于執(zhí)行部分積運(yùn)算的先后順序不同。分布式算法在完成乘累加功能時(shí)是通過將各輸入數(shù)據(jù)每一對(duì)應(yīng)位產(chǎn)生的部分積預(yù)先進(jìn)行相加形成相應(yīng)的部分積,然后再對(duì)各個(gè)部分積累加產(chǎn)生最終結(jié)果【6】,而傳統(tǒng)算法是等到所有乘積已經(jīng)產(chǎn)生之后再來(lái)相加來(lái)完成乘累加運(yùn)算的。就小位寬來(lái)說(shuō),ad算法設(shè)計(jì)的fir濾波器的速度可以顯著的超過基于mac的設(shè)計(jì)。相對(duì)于前兩種方法,da算法既可以全并行實(shí)現(xiàn),又可以全串行實(shí)現(xiàn),還可以串并行結(jié)合實(shí)現(xiàn),可以在硬件規(guī)

6、模和濾波器速度之間作適當(dāng)?shù)恼壑?,是現(xiàn)在被研究的主要方法。fir數(shù)字濾波器的實(shí)現(xiàn),大體可以分為軟件實(shí)現(xiàn)和硬件實(shí)現(xiàn)方法兩種。軟件實(shí)現(xiàn)方法即是在通用的微型計(jì)算機(jī)上用軟件實(shí)現(xiàn)。利用計(jì)算機(jī)的存儲(chǔ)器、運(yùn)算器和控制器把濾波所要完成的運(yùn)算編成程序通過計(jì)算機(jī)來(lái)執(zhí)行,軟件可由使用者自已編寫,也可以使用現(xiàn)成的。國(guó)內(nèi)外的研究機(jī)構(gòu)、公司已經(jīng)推出了不同語(yǔ)一言的信號(hào)濾波處理軟件包。但是這種方法速度慢,難以對(duì)信號(hào)進(jìn)行實(shí)時(shí)處理,雖然可以用快速傅立葉變換算法來(lái)加快計(jì)算速度,但要達(dá)到實(shí)時(shí)處理要付出很高的代價(jià),因而多用于教學(xué)與科研【7】。硬件實(shí)現(xiàn)即是設(shè)計(jì)專門的數(shù)字濾波硬件,采用硬件實(shí)現(xiàn)的方法一般都比采用軟件實(shí)現(xiàn)方法要困難得多,目前主

7、要采用的方法有以下幾種【8】:(1)采用dsp(digital signal processing)處理器實(shí)現(xiàn)dsp處理器是專為數(shù)字信號(hào)處理而設(shè)計(jì)的,如ti公司的tms32ocx系列,ad公司的adspzxi,adsp210x系列等。它主要數(shù)字運(yùn)算單元是一個(gè)乘累加器(multiply-accumulator mac),能夠在一個(gè)機(jī)器周期內(nèi)完成一次乘累加運(yùn)算,配有適合于信號(hào)處理的指令,具備獨(dú)特的循環(huán)尋址和倒序?qū)ぶ纺芰?。這些特點(diǎn)都非常適合數(shù)字信號(hào)處理中的濾波器設(shè)計(jì)的有效實(shí)現(xiàn),并且它速度快,成本低,在過去的20多年的時(shí)間里,軟件可編程的dsp器件幾乎統(tǒng)治了商用數(shù)字信號(hào)處理硬件的市場(chǎng)。(2)采用固定功

8、能的專用信號(hào)處理器來(lái)實(shí)現(xiàn)適用于過程固定而又追求高速的信號(hào)處理任務(wù),是以指定的算法來(lái)確定它的結(jié)構(gòu),使用各種隨機(jī)邏輯器件組成的信號(hào)處理器。它們體積小、保密性好,具有極高的性能,然而靈活性差。二者相比,固定功能的dsp專用器件可以提供很好的實(shí)時(shí)性能,但其靈活性差,研發(fā)周期長(zhǎng),難度也比較大;dsp處理器的成本低且速度較快,靈活性好,但由于軟件算法在執(zhí)行時(shí)的順序性,限制了它在高速和實(shí)時(shí)系統(tǒng)中的應(yīng)用。在一些高速應(yīng)用中,系統(tǒng)性能的要求不斷增長(zhǎng),而dsp性能的提高卻落后于需求的增長(zhǎng)。現(xiàn)在,大規(guī)??删幊踢壿嬈骷閿?shù)字信號(hào)處理提供了一種新的實(shí)現(xiàn)方案。分布式算法可以很好地在fpga(field programmab

9、le gate array)中實(shí)現(xiàn),然而卻不能有效的在dsp處理器中實(shí)現(xiàn),所以采用fpga使用分布式算法實(shí)現(xiàn)fir數(shù)字濾波器有著很好的發(fā)展前景。采用現(xiàn)場(chǎng)可編程門陣列fpga來(lái)實(shí)現(xiàn)fir數(shù)字濾波器,既兼顧asic器件(固定功能dsp專用芯片)的實(shí)時(shí)性、又具有dsp處理器的靈活性。fpga和dsp技術(shù)的結(jié)合能夠更進(jìn)一步提高集成度、加快速度和擴(kuò)展系統(tǒng)功能。用fpga設(shè)計(jì)的產(chǎn)品還具有體積小、速度快、重量輕、功耗低、可靠性高、仿制困難、上批量成本低等優(yōu)點(diǎn)。但是,da算法中的查找表的規(guī)模隨著fir數(shù)字濾波器長(zhǎng)度的增加呈指數(shù)增長(zhǎng),而且隨著濾波器系數(shù)的位數(shù)的增加,查找表的規(guī)模也會(huì)增加,這將極大的增加設(shè)計(jì)的硬件

10、規(guī)模。所以如何減小查找表的規(guī)模成為尚待解決的問題。2 fir數(shù)字濾波器設(shè)計(jì)2.1 數(shù)字濾波器基礎(chǔ)【9】數(shù)字濾波器在數(shù)字信號(hào)處理中屬于預(yù)處理的部分,因而起著基礎(chǔ)性的作用,數(shù)字濾波器包括iir和fir數(shù)字濾波器。數(shù)字濾波器具有精度高、穩(wěn)定性好、靈活性強(qiáng)、不要求阻抗匹配,易于修改等特點(diǎn)。下面將首先介紹一下數(shù)字濾波器,然后重點(diǎn)討論fir數(shù)字濾波器的設(shè)計(jì)原理和結(jié)構(gòu)。2.1.1 數(shù)字濾波器簡(jiǎn)介一個(gè)簡(jiǎn)單的數(shù)字濾波系統(tǒng)如圖2-1所示。圖中,x(t)為模擬信號(hào),經(jīng)過a/d轉(zhuǎn)換器后變?yōu)橐粋€(gè)有著先后順序的數(shù)字序列x(n)。然后x(n)通過數(shù)字濾波系統(tǒng)h(z),即得到數(shù)字濾波器的輸出y(n)。h(z)為該數(shù)字濾波系統(tǒng)

11、的單位脈沖響應(yīng)h(n)的z變換,即: (2-1) 若h(n)為無(wú)限長(zhǎng)序列,則得到的數(shù)字濾波器為iir數(shù)字濾波器,又稱遞歸濾波器;反之,若h(n)為有限長(zhǎng)序列,則得到的數(shù)字濾波器為fir濾波器,也稱非遞歸濾波器。一個(gè)線形時(shí)不變因果濾波器可表示為: (2-2)其中n為h(n)的長(zhǎng)度,即濾波器的長(zhǎng)度。圖2-1 數(shù)字濾波系統(tǒng)iir濾波器主要是基于對(duì)模擬濾波器如巴特沃斯濾波器、橢圓濾波器等的幅頻響應(yīng)進(jìn)行逼近,而其相頻響應(yīng)是非線性的。與iir濾波器不同,fir濾波器可以把相位特性設(shè)計(jì)成線性。這使得fir數(shù)字濾波器在信號(hào)無(wú)失真?zhèn)鬏敗?shù)據(jù)通信、圖像傳輸與處理、語(yǔ)音信號(hào)處理等有線性相位要求的領(lǐng)域應(yīng)用廣泛。fir

12、濾波器的優(yōu)點(diǎn)是軟硬件實(shí)現(xiàn)結(jié)構(gòu)簡(jiǎn)單,不用考慮系統(tǒng)的穩(wěn)定性問題;缺點(diǎn)是實(shí)現(xiàn)較高性能的頻率響應(yīng)需要較高的濾波器階數(shù)。2.1.2 fir數(shù)字濾波器的結(jié)構(gòu)由于fir數(shù)字濾波器實(shí)現(xiàn)算法的不同,我們可以把fir濾波器的結(jié)構(gòu)劃分為直接型、級(jí)聯(lián)型、頻率采樣型和快速卷積型四種基本形式【10】。文章主要討論前兩種結(jié)構(gòu)。(1)直接型結(jié)構(gòu)由式2-2可直接畫出fir數(shù)字濾波器的直接型結(jié)構(gòu),如圖2-2所示。對(duì)于直接型結(jié)構(gòu)來(lái)說(shuō),一個(gè)長(zhǎng)度為n的fir濾波器,每產(chǎn)生一個(gè)輸出數(shù)據(jù),要經(jīng)過n次乘法,n-1次加法。對(duì)于使用fpga開發(fā)fir數(shù)字濾波器,這樣的結(jié)果顯然不令人滿意。圖2-2 直接型結(jié)構(gòu)于是做了一下改進(jìn),這種改進(jìn)是基于線性相

13、位的fir數(shù)字濾波器的。以嚴(yán)格線性相位,n為偶數(shù)的fir濾波器為例,如圖2-3所示。圖2-3 直接型的改進(jìn)由于關(guān)于對(duì)稱,我們可以將經(jīng)過延時(shí)環(huán)節(jié)的位置關(guān)于對(duì)稱的數(shù)據(jù)預(yù)先相加,然后可以再乘以相應(yīng)的濾波器系數(shù)進(jìn)行累加得到最終的輸出結(jié)果。這樣,每產(chǎn)生一個(gè)輸出,經(jīng)過次乘法,次加法,比原來(lái)減少次乘法。(2)級(jí)聯(lián)型結(jié)構(gòu)對(duì)式(2-2)進(jìn)行因式分解,并將零點(diǎn)共軛的因式放在一起,這樣產(chǎn)生了若干個(gè)一階子式和二階子式,將一階子式看作二階子式的一個(gè)特例,則系統(tǒng)函數(shù)可以表示為: (2-3)fir數(shù)字濾波器的級(jí)聯(lián)型結(jié)構(gòu)如圖2-4所示。圖2-4 級(jí)聯(lián)型結(jié)構(gòu)從圖中可以看出,級(jí)聯(lián)型結(jié)構(gòu)每產(chǎn)生一個(gè)輸出,需要次乘法,次加法。級(jí)聯(lián)型的

14、最大特點(diǎn)是可以分別獨(dú)立調(diào)整每個(gè)子系統(tǒng)的零點(diǎn)之值,當(dāng)需要精確控制濾波器的零點(diǎn)位置時(shí),往往采用這種結(jié)構(gòu)5。2.2 fir數(shù)字濾波器設(shè)計(jì)方法fir數(shù)字濾波器的設(shè)計(jì)方法主要有三種【11】:時(shí)窗函數(shù)法、頻率采樣法和等波紋設(shè)計(jì)法。下面將分別討論一下這三種方法的設(shè)計(jì)原理,然后給出設(shè)計(jì)步驟,最后在比較一下這三種方法的優(yōu)缺點(diǎn)。2.2.1 窗函數(shù)法一個(gè)理想低通濾波器的幅頻特性如圖2-5所示。的表達(dá)式為 (2-4)圖2-5 理想低通濾波器頻譜圖對(duì)進(jìn)行離散時(shí)間傅里葉逆變換,得 (2-5)是一個(gè)關(guān)于對(duì)稱的無(wú)限長(zhǎng)序列,是系統(tǒng)的單位脈沖響應(yīng),這說(shuō)明系統(tǒng)是非因果的,在物理上不可實(shí)現(xiàn)。為了能夠得到一個(gè)可實(shí)現(xiàn)的系統(tǒng),可以將截取一

15、部分,并順序右移,使之成為一個(gè)因果的有限長(zhǎng)序列。這種方法就好比在時(shí)域打開一個(gè)窗口一樣,因而稱為窗函數(shù)法??梢灶A(yù)見,使用這種方法截取的序列越長(zhǎng),對(duì)理想的幅頻特性逼近的越好。常見的時(shí)窗函數(shù)有矩形窗、漢寧窗、漢明窗、布萊克曼窗、凱澤窗等。矩形窗的表達(dá)式為:,為整數(shù)。當(dāng)用矩形窗設(shè)計(jì)fir濾波器時(shí),所產(chǎn)生的頻率響應(yīng),與理想濾波器的頻率特性相比,在理想特性不連續(xù)點(diǎn)處附近形成了過渡帶,并在過渡帶兩側(cè)形成持續(xù)時(shí)間很長(zhǎng),逐漸衰減的波紋,即通帶內(nèi)產(chǎn)生了波動(dòng),而阻帶內(nèi)產(chǎn)生了余振,這種現(xiàn)象稱之為吉布斯(gibbs)效應(yīng)。吉布斯效應(yīng)直接影響到濾波器的性能,因?yàn)橥◣?nèi)的波動(dòng)會(huì)影響到濾波器的平穩(wěn)性,阻帶內(nèi)的波動(dòng)則影響阻帶最

16、小衰減。為了克服吉布斯效應(yīng),可以從兩個(gè)方面著手:一是在頻域,避免理想濾波器頻譜中出現(xiàn)的躍變現(xiàn)象,把它改造成一條連續(xù)光滑的曲線,所用的方法是鑲邊法;二是在時(shí)間域,對(duì)截尾函數(shù)進(jìn)行改造,也即設(shè)計(jì)出好的時(shí)窗函數(shù)。一個(gè)好的時(shí)窗函數(shù)的要求:a.主瓣寬度盡可能地小。b.旁瓣水平(振幅或能量)相對(duì)于主瓣來(lái)說(shuō)也盡可能地小。但是這兩個(gè)標(biāo)準(zhǔn)之間彼此是有矛盾的,即主瓣寬度越大,旁瓣水平才可能越低。因此實(shí)際上,我們只能在這兩個(gè)標(biāo)準(zhǔn)之間作一權(quán)衡,針對(duì)具體問題,找出一個(gè)適當(dāng)?shù)臅r(shí)窗函數(shù)。五種窗函數(shù)的主要參數(shù)如表2-1所示。應(yīng)當(dāng)說(shuō)明的是,用時(shí)窗函數(shù)法設(shè)計(jì)的fir濾波器通帶波紋幅度近似等于阻帶波紋幅度。一般阻帶最小衰減達(dá)到40d

17、b以上,則通帶最大衰減就小于0.1db。最后,總結(jié)一下利用時(shí)窗函數(shù)設(shè)計(jì)fir數(shù)字濾波器的步驟:a. 根據(jù)所需設(shè)計(jì)的數(shù)字濾波器類型(低通、高通、帶通、帶阻),確定線性相位數(shù)字濾波器類型。b. 根據(jù)濾波器阻帶衰減,選擇窗函數(shù)的類型,根據(jù)過渡帶寬度確定時(shí)窗函數(shù)的長(zhǎng)度,并根據(jù)線性相位條件進(jìn)行修正。c. 確定理想數(shù)字濾波器的頻率響應(yīng)函數(shù),其中為幅度特性函數(shù),為相位特性函數(shù)。d. 計(jì)算理想濾波器的單位脈沖響應(yīng),即。e. 加窗得到設(shè)計(jì)結(jié)果,即。表2-1 五種窗函數(shù)參數(shù)表窗函數(shù)窗譜性能指標(biāo)加窗后濾波器性能指標(biāo)旁瓣峰值/db主瓣寬度/()過濾寬度/阻帶最小衰減/db矩形窗-1320.9-21巴特列特-2542.

18、1-25漢寧窗-3143.1-44海明窗-4143.3-53布拉克曼窗-5765.5-74凱澤窗-575-802.2.2 頻率采樣法頻率采樣法是一種基于頻率域抽樣來(lái)逼近所要設(shè)計(jì)的fir濾波器的頻率特性的一種方法。頻率設(shè)計(jì)法的基本設(shè)計(jì)流程如圖2-6所示。圖2-6 頻率設(shè)計(jì)法流程為了保證具有線性相位條件,其單位采樣響應(yīng)是實(shí)序列,且滿足條件。對(duì)于偶對(duì)稱的情況來(lái)說(shuō),線性相位條件如下: (2-6) (2-7)令代入式(2-6)、(2-7),得到 (2-8) 式中, ,n為奇數(shù) ,n為偶數(shù)頻率響應(yīng)函數(shù)在各采樣點(diǎn)上等于,而采樣點(diǎn)之間的值是由各采樣值之間的內(nèi)插函數(shù)疊加形成,因而有一定的逼近誤差,誤差的大小取決

19、于理想頻率響應(yīng)的曲線形狀。采樣點(diǎn)之間的理想頻率特性變化越陡,則內(nèi)插值與理想值之間的誤差就越大,因而在理想頻率響應(yīng)特性的不連續(xù)點(diǎn)附近,就會(huì)產(chǎn)生肩峰和波紋;反之,理想頻率響應(yīng)特性變化越平緩,則內(nèi)插值越接近理想值,逼近誤差小。因此,可以在理想頻率下響應(yīng)特性的通帶與阻帶之間設(shè)置過渡帶,從而減小逼近誤差。過渡帶的采樣點(diǎn)個(gè)數(shù)m與所設(shè)計(jì)的濾波器的阻帶最小衰減有關(guān),具體如表2-2所示。此外過渡帶的帶寬與采樣點(diǎn)數(shù)m之間的關(guān)系為: (2-9)表2-2 過渡帶采樣點(diǎn)數(shù)與阻帶最小衰減的關(guān)系12342044-5465-7585-95綜上,頻率采樣法的設(shè)計(jì)步驟為:a.根據(jù)阻帶最小衰減,確定過渡帶的樣點(diǎn)數(shù)m。b.根據(jù)過渡帶

20、寬度的要求,估算濾波器的長(zhǎng)度。c.構(gòu)造希望逼近的頻率響應(yīng)函數(shù),一般為具有理想頻率特性,并滿足線性相位的要求。d.對(duì)進(jìn)行頻域等間隔n點(diǎn)采樣,得到。e.對(duì)進(jìn)行n點(diǎn)idft,得到。2.2.3 等波紋最佳逼近法等波紋最佳逼近法是基于最大誤差最小化的設(shè)計(jì)原則。最大誤差最小化能使幅度誤差在整個(gè)逼近頻段上均勻分布,即所設(shè)計(jì)的fir數(shù)字濾波器的幅度特性在通帶和阻帶范圍內(nèi)是等波紋的,且可以分別獨(dú)立控制通帶和阻帶的波紋幅度,并且在濾波器長(zhǎng)度給定的情況下,加權(quán)的幅度波紋誤差最小。定義加權(quán)幅度誤差函數(shù)為 (2-10)式中為幅度誤差加權(quán)函數(shù),用來(lái)控制不同頻帶的幅度逼近誤差。一般地,在要求逼近精度高的頻帶,取值大,而要求

21、逼近誤差精度低的頻帶,取值小。設(shè)計(jì)過程中是由設(shè)計(jì)者根據(jù)通帶最大衰減和阻帶最小衰減的指標(biāo)要求取定的已知函數(shù)。對(duì)于fir數(shù)字低通濾波器,常取: (2-11)式中,和分別為濾波器設(shè)計(jì)指標(biāo)中通帶和阻帶的振蕩波紋幅度,k為正的系數(shù)。濾波器的通帶最大衰減和阻帶最小衰減與通帶和阻帶的振蕩波紋幅度和的換算關(guān)系為: (2-12) (2-13)等波紋最佳逼近法的設(shè)計(jì),在于找到濾波器的系數(shù)向量,使得在通帶和阻帶頻帶內(nèi)的最大絕對(duì)值幅度誤差為最小。帕克斯-麥克萊倫采用基于交替定理的雷米茲交替算法,通過逐次迭代逼近的運(yùn)算求得濾波器的系數(shù)向量,從而實(shí)現(xiàn)等波紋最佳逼近法。一般情況下,估計(jì)濾波器長(zhǎng)度n的凱澤經(jīng)驗(yàn)公式為: (2-

22、14)綜上,用等波紋最佳逼近法設(shè)計(jì)fir數(shù)字濾波器的步驟為:(1)根據(jù)濾波器的設(shè)計(jì)指標(biāo)要求:邊界頻率、通帶最大衰減、阻帶最小衰減等,估計(jì)濾波器的長(zhǎng)度,并確定幅度誤差加權(quán)函數(shù)。(2)采用雷米茲交替算法,獲得所設(shè)計(jì)的濾波器的單位脈沖響應(yīng)。2.2.4 三種設(shè)計(jì)方法的比較【12】綜述可得,窗函數(shù)法設(shè)計(jì)的基本思想是把給定的頻率響應(yīng)通過離散時(shí)間傅里葉逆變換idtft(inversediscretetimefouriertransform),求得脈沖響應(yīng),然后利用加窗函數(shù)對(duì)它進(jìn)行截?cái)嗪推交?,以?shí)現(xiàn)一個(gè)物理可實(shí)現(xiàn)且具有線性相位的fir數(shù)字濾波器的設(shè)計(jì)目的。其核心是從給定的頻率特性,通過加窗確定有限長(zhǎng)單位取樣響

23、應(yīng)h(n);頻率采樣法設(shè)計(jì)的基本思想是把給出的理想頻率響應(yīng)進(jìn)行取樣,通過idft從頻譜樣點(diǎn)直接求得有限脈沖響應(yīng);等波紋切比雪夫逼近法則是利用matlab提供的remez函數(shù)實(shí)現(xiàn)remez算法,設(shè)計(jì)濾波器逼近理想頻率響應(yīng)。比較以上三種濾波器的設(shè)計(jì)方法,在同樣的階數(shù)下,等波紋切比雪夫逼近法可以獲得最佳的頻率特性和衰耗特性,具有通帶和阻帶平坦,過渡帶窄等優(yōu)點(diǎn)。頻率采樣設(shè)計(jì)法可以設(shè)計(jì)某些特殊濾波器,且其設(shè)計(jì)過程簡(jiǎn)單,但阻帶衰減明顯,若適當(dāng)選取過渡帶樣點(diǎn)值,會(huì)取得較窗函數(shù)設(shè)計(jì)法略好的衰耗特性。窗函數(shù)設(shè)計(jì)法在階數(shù)較低時(shí),阻帶特性基本滿足設(shè)計(jì)要求,當(dāng)濾波器階數(shù)較高時(shí),使用漢寧窗、海明窗、布萊克曼窗和凱澤窗即

24、可以達(dá)到阻帶衰耗要求。2.3 fpga設(shè)計(jì)優(yōu)點(diǎn)2.3.1使用fpga器件進(jìn)行開發(fā)的優(yōu)點(diǎn)使用fpga器件設(shè)計(jì)數(shù)字電路,不僅可以簡(jiǎn)化設(shè)計(jì)過程,而且可以降低整個(gè)系統(tǒng)的體積和成本,增加系統(tǒng)的可靠性。它們無(wú)需花費(fèi)傳統(tǒng)意義下制造集成電路所需大量時(shí)間和精力,避免了投資風(fēng)險(xiǎn),成為電子器件行業(yè)中發(fā)展最快的一個(gè)系列。使用fpga器件設(shè)計(jì)數(shù)字系統(tǒng)電路的主要優(yōu)點(diǎn)如下【13】:(1)設(shè)計(jì)靈活使用fpga器件,可以不受標(biāo)準(zhǔn)系列器件在邏輯功能上的限制。而且修改邏輯可在系統(tǒng)設(shè)計(jì)和使用過程的任一階段中進(jìn)行,并且只須通過對(duì)所用的fpga器件進(jìn)行重新編程即可完成,給系統(tǒng)設(shè)計(jì)提供了很大的靈活性。(2)增大功能密集度功能密集度是指在給

25、定的空間能集成的邏輯功能數(shù)量??删幊踢壿嬓酒瑑?nèi)的組件門數(shù)高,一片fpga可代替幾片、幾十片乃至上百片中小規(guī)模的數(shù)字集成電路芯片。用fpga器件實(shí)現(xiàn)數(shù)字系統(tǒng)時(shí)用的芯片數(shù)量少,從而減少芯片的使用數(shù)目,減少印刷線路板面積和印刷線路板數(shù)目,最終導(dǎo)致系統(tǒng)規(guī)模的全面縮減。(3)提高可靠性減少芯片和印刷板數(shù)目,不僅能縮小系統(tǒng)規(guī)模,而且它還極大的提高了系統(tǒng)的可靠性。具有較高集成度的系統(tǒng)比用許多低集成度的標(biāo)準(zhǔn)組件設(shè)計(jì)的相同系統(tǒng)具有高得多的可靠性。使用fpga器件減少了實(shí)現(xiàn)系統(tǒng)所需要的芯片數(shù)目,在印刷線路板上的引線以及焊點(diǎn)數(shù)量也隨之減少,所以系統(tǒng)的可靠性得以提高。(4)縮短設(shè)計(jì)周期出于fpga器件的可編程性和靈活

26、性,用它來(lái)設(shè)計(jì)一個(gè)系統(tǒng)所需時(shí)間比傳統(tǒng)方法大為縮短。fpga器件集成度高,使用時(shí)印刷線路板電路布局布線簡(jiǎn)單。同時(shí),在樣機(jī)設(shè)計(jì)成功后,由于開發(fā)工具先進(jìn),自動(dòng)化程度高,對(duì)其進(jìn)行邏輯修改也十分簡(jiǎn)便迅速。因此,使用fpga器件可大大縮短系統(tǒng)的設(shè)計(jì)周期,加快產(chǎn)品投放市場(chǎng)的速度,提高產(chǎn)品的競(jìng)爭(zhēng)能力。(5)工作速度快fpga/cpld器件的工作速度快,一般可以達(dá)到幾百兆赫茲,遠(yuǎn)遠(yuǎn)大于dps器件。同時(shí),使用fpga器件后實(shí)現(xiàn)系統(tǒng)所需要的電路級(jí)數(shù)又少,因而整個(gè)系統(tǒng)的工作速度會(huì)得到提高。(6)增加系統(tǒng)的保密性能很多fpga器件都具有加密功能,在系統(tǒng)中廣泛的使用fpga器件可以有效防止產(chǎn)品被他人非法仿制。(7)降低成

27、本使用fpga器件實(shí)現(xiàn)數(shù)字系統(tǒng)設(shè)計(jì)時(shí),如果僅從器件本身的價(jià)格考慮,有時(shí)還看不出來(lái)它的優(yōu)勢(shì),但是影響系統(tǒng)成本的因素是多方面的,綜合考慮,使用fpga的成本優(yōu)越性是很明顯的。首先,使用fpga器件修改設(shè)計(jì)方便,設(shè)計(jì)周fpga器件進(jìn)行系統(tǒng)設(shè)計(jì)能節(jié)約成本。期縮短,使系統(tǒng)的研制開發(fā)費(fèi)用降低;其次,fpga器件可使印刷線路板面積和需要的插件減少,從而使系統(tǒng)的制造費(fèi)用降低;再次,使用fpga器件能使系統(tǒng)的可靠性提高,維修工作量減少,進(jìn)而使系統(tǒng)的維修服務(wù)費(fèi)用降低??傊?,使用fpga器件進(jìn)行系統(tǒng)設(shè)計(jì)能節(jié)約成本7。2.4分布式算法2.4.1分布式算法基礎(chǔ)分布式算法(distributed arithmetic,d

28、a)是一項(xiàng)重要的fpga技術(shù),它廣泛地應(yīng)用在計(jì)算積之和之中【14】。= (2-15)進(jìn)一步假設(shè)系數(shù)是已知常數(shù),是變量。無(wú)符號(hào)da系統(tǒng)假設(shè)變量的表示方式如下: , (2-16)其中表示的第位,而也就是的第次采樣,而內(nèi)積可以表示方式為: (2-17)重新分配求和的順序(也就是“分布式算法名稱的由來(lái)”)其結(jié)果如下: (2-18)或者可以寫成更為簡(jiǎn)潔的如下形式: (2-19)函數(shù)的實(shí)現(xiàn)需要特別注意。首選方法是利用一個(gè)lut實(shí)現(xiàn)映射。也就是說(shuō)預(yù)先編程個(gè)字的一個(gè)lut,以接受一個(gè)n位輸入向量,輸出為。各個(gè)映射都由相應(yīng)的二次冪加權(quán)并累加。利用如圖2-7所示的移位加法器就能夠有效地實(shí)現(xiàn)累加。在n次查詢循環(huán)后就

29、能完成了對(duì)內(nèi)積y的計(jì)算8。圖2-7 移位加法器da體系結(jié)構(gòu)2.5有符號(hào)的da系統(tǒng)下面我們要討論的是如何修復(fù)式(2-15)使之能夠處理有符號(hào)補(bǔ)碼。在補(bǔ)碼中,最高位有效位用來(lái)區(qū)別正數(shù)和負(fù)數(shù)。例如變-3的編碼是。所以我們將采用下面的(b+1)位表示方法: (2-20)與式(2-19)聯(lián)立得到輸出y的定義如下: (2-21)要實(shí)現(xiàn)有符號(hào)da系統(tǒng),可以通過兩種選擇來(lái)修改無(wú)符號(hào)da系統(tǒng)。這就是:(1)帶有加/減控制的累加器(2)采用具有一個(gè)額外輸入的rom使用最常見的可轉(zhuǎn)換累加器,因?yàn)閘ut表中額外的輸入位還需一個(gè)兩倍字長(zhǎng)的lut表。3 eda技術(shù)和可編程邏輯器件3.1 eda技術(shù)3.1.1 eda技術(shù)簡(jiǎn)

30、介【15】eda是electronic design automation 的縮寫,意思是電子設(shè)計(jì)自動(dòng)化,即利用計(jì)算機(jī)自動(dòng)完成電子系統(tǒng)的設(shè)計(jì)。eda技術(shù)是以計(jì)算機(jī)和微電子技術(shù)為先導(dǎo),匯集了計(jì)算機(jī)圖形學(xué)、拓?fù)?、邏輯學(xué)、微電子工藝與結(jié)構(gòu)學(xué)和計(jì)算數(shù)學(xué)等多種計(jì)算機(jī)應(yīng)用學(xué)科最新成果的先進(jìn)技術(shù)。eda技術(shù)作為現(xiàn)代電子設(shè)計(jì)技術(shù)的核心,通過功能強(qiáng)大的計(jì)算機(jī)和eda工具軟件平臺(tái),對(duì)以硬件描述語(yǔ)言hdl為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯編譯、邏輯化簡(jiǎn)、邏輯分割、邏輯綜合,以及邏輯優(yōu)化和仿真測(cè)試,以至實(shí)現(xiàn)既定的電子線路系統(tǒng)功能。3.2 quartus ii軟件介紹quartus ii是altera公司

31、在21世紀(jì)初推出的fpga/cpld開發(fā)環(huán)境,是altera前一代fpga/cpld集成開發(fā)環(huán)境max+plus ii的更新?lián)Q代產(chǎn)品,其功能強(qiáng)大,界面友好,使用簡(jiǎn)便。quartus ii軟件集成了altera的fpga/cpld開發(fā)流程中所涉及的所有工具和第三方軟件接口。圖3-1給出了quartus ii軟件的交互界面。圖3-1 quartus ii軟件的交互界面quartus ii具有一下特點(diǎn)【16】:a支持多時(shí)鐘定時(shí)分析、logic lock基于塊的設(shè)計(jì)、sopc(可編程的片上系統(tǒng))、內(nèi)嵌signal tapii邏輯分析儀和功率估計(jì)器等高級(jí)工具。b易于引腳分配和時(shí)鐘約束。c強(qiáng)大的hdl綜合

32、能力。d支持的器件種類多。利用quartus ii軟件進(jìn)行fpga/cpld開發(fā)的流程如圖3-2所示。圖3-2 fpga/cpld開發(fā)流程圖3.3 fpga介紹可編程邏輯器件pld(programmable logic devices)是asic(application specific integrated circuits)的一個(gè)重要分支。fpga屬于復(fù)雜高密度的pld器件。fpga使用了可編程的查找表(look up table,lut)結(jié)構(gòu),其中l(wèi)ut是可編程的最小的邏輯構(gòu)成單元【17】。lut示意圖如圖3-3所示。圖3-3 查找表結(jié)構(gòu)圖由于設(shè)計(jì)人員可以將存儲(chǔ)在片外的epprom或者計(jì)

33、算機(jī)的配置數(shù)據(jù)控制加載到fpga器件中進(jìn)而實(shí)現(xiàn)在現(xiàn)場(chǎng)修改器件的邏輯功能,fpga得到了普遍的應(yīng)用。下面以cyloneii系列fpga器件為例來(lái)介紹一下fpga器件的結(jié)構(gòu)。cyloneii系列fpga器件是由美國(guó)altera公司生產(chǎn)的中端產(chǎn)品。cyloneii系列fpga器件采用了90nm工藝,片內(nèi)邏輯單元數(shù)量最多可達(dá)68416個(gè)邏輯單元,片內(nèi)存儲(chǔ)器容量最多可達(dá)1.1mbts,用戶可用引腳最多有622個(gè)。cyloneii系列fpga器件嵌有乘法器,這些乘法器可用于完成高速乘法操作,使得cyloneii系列fpga器件的數(shù)字信號(hào)處理能力得到增強(qiáng)。cyloneii系列fpga器件的速度等級(jí)有三個(gè):-

34、6,-7和-8,其中-6的速度最快。cyloneii系列fpga器件的內(nèi)部資源是按行、列的方式呈二維分布,如圖3-4所示。這些資源主要包括邏輯陣列、m4k存儲(chǔ)器塊、乘法器等。這些資源模塊通過fpga內(nèi)部的各種連接通路連接起來(lái)。圖3-4 ep2c20資源分布圖邏輯單元(logic element,le)是fpga內(nèi)部用于完成用戶資源的最小單元。一個(gè)邏輯陣列包含16個(gè)邏輯單元以及一些其他資源。一個(gè)邏輯單元主要有以下部件組成:一個(gè)4輸入的查找表,一個(gè)可編程的寄存器,一條進(jìn)位鏈和一條寄存器級(jí)聯(lián)鏈。邏輯單元結(jié)構(gòu)圖如圖3-5所示。 圖3-5 邏輯單元結(jié)構(gòu)圖cyloneii系列fpga器件內(nèi)部的存儲(chǔ)器是以m

35、4k存儲(chǔ)器塊的形式按列排列的,每個(gè)m4k存儲(chǔ)器塊的大小為4608bit。m4k存儲(chǔ)器塊包括輸入/輸出寄存器,輸入寄存器用于同步輸入信號(hào),輸出寄存器在設(shè)計(jì)中增加一級(jí)流水線,使用輸入/輸出寄存器可以改善電路的性能。m4k存儲(chǔ)器除了可以用作標(biāo)準(zhǔn)的存儲(chǔ)器使用外,還可以被配置為移位寄存器、先入先出寄存器、只讀存儲(chǔ)器等。cyloneii系列fpga器件內(nèi)部嵌有硬件乘法器,可以完成高速乘法運(yùn)算操作。實(shí)現(xiàn)許多數(shù)字信號(hào)處理運(yùn)算如濾波、快速傅里葉變換、卷積、解相關(guān)等。cyloneii系列fpga器件關(guān)于時(shí)鐘控制的部分主要是全局時(shí)鐘網(wǎng)絡(luò)和鎖相環(huán)(pll)。全局時(shí)鐘網(wǎng)絡(luò)負(fù)責(zé)把時(shí)鐘分配到器件內(nèi)部的各個(gè)單元,控制器件內(nèi)部

36、的所有資源。鎖相環(huán)可以完成分頻、倍頻、移相等關(guān)于時(shí)鐘的基本操作。3.4 硬件描述語(yǔ)言vhdl硬件描述語(yǔ)言(hdl,hardware description language)是eda技術(shù)的重要組成部分,常用的硬件描述語(yǔ)言有vhdl,verilog,abel等,vhdl是eda技術(shù)的主流硬件描述語(yǔ)言之一,也是設(shè)計(jì)所采用的硬件描述語(yǔ)言【18】。vhdl的英文全名是very high speed integrated circuit hardware description language,誕生于1982年。1987年vhdl被ieee和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言。自ieee公布了vhdl(

37、ieee-1076)的標(biāo)準(zhǔn)版本之后,各eda公司相繼推出了自己的vhdl設(shè)計(jì)環(huán)境,或宜布自己的設(shè)計(jì)工具可以和vhdl接口。此后vhdl在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)化硬件描述語(yǔ)言。1993年,ieee對(duì)vhdl進(jìn)行了修訂,從更高抽象層次和系統(tǒng)描述能力上擴(kuò)展了vhdl的內(nèi)容,公布了新版本的vhdl即ieee標(biāo)準(zhǔn)的1076-1993,又得到了眾多eda公司的支持,在電子工程領(lǐng)域,己成為事實(shí)上的通用硬件描述語(yǔ)言。有專家預(yù)言,在新的世紀(jì)中,vhdl和verilog將承擔(dān)起幾乎全部的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。vhdl主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。除了含有許多硬件特征的語(yǔ)

38、句外,vhdl的風(fēng)格和語(yǔ)法十分類似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。vhdl的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)設(shè)計(jì)實(shí)體分成外部和內(nèi)部,外部是可視的,是端口,內(nèi)部是不可視的,是內(nèi)部功能和算法的完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成之后,其它的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是vhdl系統(tǒng)設(shè)計(jì)的基本點(diǎn)。應(yīng)用vhdl進(jìn)行工程設(shè)計(jì)的優(yōu)點(diǎn)是多方面的,具體如下:(1)支持從系統(tǒng)級(jí)到門級(jí)電路的描述,同時(shí)也支持多層次的混合描述:描述形式可以是結(jié)構(gòu)描述,也可以是行為描述,或二者兼而有之。vhdl支持從上到下的設(shè)計(jì),也支持從下到上的設(shè)計(jì);支持模塊化設(shè)計(jì),也支持層次化設(shè)計(jì)。(2)vhd

39、l具有豐富的仿真語(yǔ)句和庫(kù)函數(shù),在設(shè)計(jì)早期,即尚未完成設(shè)計(jì)時(shí),就可以就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)項(xiàng)目進(jìn)行仿真模擬。也就是在遠(yuǎn)離門級(jí)的較高層次上進(jìn)行模擬,使設(shè)計(jì)一者在設(shè)計(jì)早期就能對(duì)整個(gè)設(shè)計(jì)項(xiàng)目的結(jié)構(gòu)和功能的可行性做出決策。(3)vhdl具有行為描述能力和程序結(jié)構(gòu),能支持大規(guī)模設(shè)計(jì)的模塊分解和已有設(shè)計(jì)模塊的再利用功能。vhdl中設(shè)計(jì)實(shí)體的概念、程序包的概念、設(shè)計(jì)庫(kù)的概念都為大型設(shè)計(jì)項(xiàng)目的分解和并行工作提供了有利的支持。這一點(diǎn)符合大規(guī)模電子系統(tǒng)的高效、高速設(shè)計(jì)完成必須由多人甚至由多個(gè)開發(fā)組共同并行工作才能實(shí)現(xiàn)的市場(chǎng)需求。(4)用vhdl完成的一個(gè)確定的設(shè)計(jì)項(xiàng)目,在eda工具軟件的支持下,

40、編譯器將vhdl所表達(dá)的電路功能自動(dòng)地轉(zhuǎn)換為文本方式表達(dá)的基本邏輯元件連接圖-一網(wǎng)表文件。應(yīng)用eda工具的邏輯優(yōu)化功能,可以自動(dòng)的把一個(gè)綜合后的設(shè)計(jì)項(xiàng)目變成一個(gè)更小、更高速的電路系統(tǒng)。反過來(lái),設(shè)計(jì)者還可以從綜合和優(yōu)化后的電路獲得設(shè)計(jì)信息,反饋去更新修改vhdl設(shè)計(jì)描述,使之更加完善。(5)vhdl對(duì)設(shè)計(jì)項(xiàng)目的描述具有獨(dú)立性,實(shí)際設(shè)計(jì)者可以在不懂硬件的結(jié)構(gòu),不知最終實(shí)現(xiàn)的目標(biāo)器件為何的情況下,而進(jìn)行獨(dú)立的設(shè)計(jì)。正是因?yàn)関hdl的硬件描述與具體的工藝技術(shù)和硬件結(jié)構(gòu)無(wú)關(guān),vhdl的設(shè)計(jì)項(xiàng)目的目標(biāo)硬件器件具有廣闊的選擇范圍,其中包括各系列的gpld,fpga及各種門陣列器件。(6)vhdl具有類屬描述

41、語(yǔ)句和子程序調(diào)用等功能,對(duì)于已完成的設(shè)計(jì)項(xiàng)目,在不改變?cè)闯绦虻臈l件下,只需改變類屬參數(shù)或函數(shù),就能輕易改變?cè)O(shè)計(jì)項(xiàng)目的規(guī)模和結(jié)構(gòu)。4 基于fpga的fir濾波器設(shè)計(jì)首先確定基于matlab的fir數(shù)字低通濾波器的指標(biāo)系數(shù),再利用分布式算法結(jié)構(gòu), vhdl硬件語(yǔ)言完成設(shè)計(jì)與仿真,最后實(shí)現(xiàn)硬件系統(tǒng)以及硬件測(cè)試。4.1 基于matlab的fir數(shù)字低通濾波器抽頭系數(shù)的提取4.1.1 濾波器的設(shè)計(jì)指標(biāo)采樣頻率:10mhz截止頻率:100khz類型:低通階數(shù):凱澤窗函數(shù)16階系數(shù)4.1.2 濾波器的具體設(shè)計(jì)方法啟動(dòng)matlab設(shè)計(jì)軟件后,依次打開starttoolboxesfilter designfil

42、ter design & analysis tool(fdatool)就可以看到如圖4-1的fdatool界面。選擇所需要的參數(shù)指標(biāo),就會(huì)生成fir低通數(shù)字濾波器的特性曲線以及重要的幅度相位波形圖,如圖4-2、圖4-3、圖4-4所示,驗(yàn)證了其技術(shù)指標(biāo)。圖4-1 fdatool界面圖4-2 頻率特性曲線圖4-3 相位特性曲線圖4-4 量化曲線4.1.3 參數(shù)提取與量化利用matlab軟件的fdatool圖形用戶界面工具,輸入設(shè)計(jì)指標(biāo)后便會(huì)自動(dòng)生成所設(shè)計(jì)的fir低通數(shù)字濾波器的系數(shù),一般線性相位的fir低通數(shù)字濾波器的單位沖激響應(yīng)都為實(shí)數(shù),滿足奇或偶對(duì)稱的條件。所得單位沖激響應(yīng)系數(shù)如表4-1所示:

43、表4-1 fir低通數(shù)字濾波器系數(shù)序數(shù)序列fir濾波器的參數(shù)序數(shù)序列h(0)-0.039907834316445h(15)h(1)-0.037834962847191h(14)h(2)-0.017305968856170h(13)h(3)0.021384069718987h(12)h(4)0.072608454823592h(11)h(5)0.126467760141519h(10)h(6)0.171262675451901h(9)h(7)0.196673325528212h(8)計(jì)算的結(jié)果可通過file下的菜單中的export命令取出,點(diǎn)擊export打開對(duì)話框,如圖所示,點(diǎn)擊ok可將濾波器

44、系數(shù)數(shù)據(jù)存放到當(dāng)前工作空間,并且以num命名。圖4-2 沖激系數(shù)輸出對(duì)話框保存并關(guān)閉當(dāng)前窗口回到工作空間,在命令區(qū)輸入num回車,出現(xiàn)以下圖圖4-3 輸出在matlab中的沖激系數(shù)對(duì)fir濾波器系數(shù)進(jìn)行量化,也就是整數(shù)化,在剛才的命令區(qū)繼續(xù)輸入round (num*2048),可得到濾波器整數(shù)為,然后換為二進(jìn)制補(bǔ)碼:h(0)=h(15)=-82=faehh(1)=h(14)=-77=fb6hh(2)=h(13)=-35=fddhh(3)=h(12)=44=fd4hh(4)=h(11)=149=f6fhh(5)=h(10)=259=efdhh(6)=h(9)=351=ea1hh(7)=h(8)=

45、403=e6dh4.2 fir濾波器的fpga實(shí)現(xiàn)4.2.1 模塊劃分自頂向下的實(shí)現(xiàn)方法,fir濾波器的模塊劃分:輸入模塊(包括移位寄存器模塊,加法與地址碼形成模塊)、查找表模塊樹狀移位加法器模塊、控制模塊和包含參數(shù)的程序包。整個(gè)設(shè)計(jì)的層次結(jié)構(gòu)如圖4-4所示:圖4-4 fir濾波器的結(jié)構(gòu)框圖各模塊實(shí)現(xiàn)的功能:(1) 控制模塊控制模塊產(chǎn)生其他模塊的控制信號(hào),實(shí)現(xiàn)對(duì)輸入模塊、乘累加模塊、鎖存模塊的控制,使各模塊按照一定的時(shí)序依次執(zhí)行各自的功能,從而完成濾波。它主要由控制器單元和計(jì)數(shù)器單元組成。(2) 輸入模塊輸入模塊的主要功能是完成對(duì)輸入數(shù)據(jù)的處理,為后續(xù)電路作準(zhǔn)備。它主要由并/串轉(zhuǎn)換單元、移位寄

46、存器單元和數(shù)據(jù)的預(yù)相加單元組成。(3)樹樁移位加法器模塊, 將lut的輸出值做樹狀移位加法運(yùn)算。(4) 鎖存模塊鎖存模塊的主要功能是將乘累加模塊的輸出結(jié)果鎖存后輸出。為了完善設(shè)計(jì),還應(yīng)該再加一個(gè)查找表生成模塊,用來(lái)根據(jù)外界輸入的系數(shù)自動(dòng)修改查找表單元,而不是像設(shè)計(jì)中那樣,為了改變?yōu)V波器的功能,人為的修改查找表單元。 查找表模塊,查找表模塊的功能是對(duì)輸入模塊產(chǎn)生的地址碼對(duì)應(yīng)成輸出值。查找表模塊由4個(gè)lut和加法模塊組成。4.2.2 fir濾波器各模塊的實(shí)現(xiàn)(1)板載頻率分頻設(shè)計(jì)所用到的系統(tǒng)板上的晶振頻率是50mhz,而設(shè)計(jì)用到的是10mhz,這樣就要進(jìn)行分頻。cycloneii系列fpga提供兩

47、個(gè)嵌入式鎖相環(huán)。在圖形編輯模式下輸入altpll就可以看到如圖4-5(a)所示的界面,設(shè)置設(shè)計(jì)所需的參數(shù)就可以實(shí)現(xiàn)分頻。設(shè)計(jì)產(chǎn)生的分頻模塊圖標(biāo)如圖4-5(b)所示。圖4-5(a)altpll界面 圖4-5(b)分頻模塊(2)數(shù)據(jù)預(yù)處理輸入信號(hào)轉(zhuǎn)換進(jìn)程,對(duì)輸入的二進(jìn)制原碼轉(zhuǎn)換為二進(jìn)制補(bǔ)碼輸出。加此進(jìn)程的目的是方便仿真,硬件實(shí)現(xiàn)時(shí)不用。 程序代碼見附錄。(3)輸入模塊輸入模塊由移位寄存器和加法器與地址碼形成單元組成。移位寄存器單元實(shí)現(xiàn)對(duì)并行輸入信號(hào)的延遲輸出,其寄存器的個(gè)數(shù)由fir濾波器的階數(shù)決定。加法與地址碼形成單元首先實(shí)現(xiàn)b(i)=x(i)+x(n-i)的運(yùn)算,即考慮了濾波器系數(shù)的對(duì)稱性,把與

48、相同兩個(gè)濾波系數(shù)相乘的兩個(gè)采樣值預(yù)先相加,以減少硬件規(guī)模。移位寄存器單元的vhdl代碼見附錄。(4)查找表模塊輸入模塊形成9組8位地址碼,如果直接建立lut,則lut的規(guī)模較大,為個(gè)字,為了節(jié)約fpga資源并且簡(jiǎn)化表格深度,使用了8位地址線lut分割技術(shù),分成2個(gè)4位地址線的lut 。加法模塊實(shí)現(xiàn)高4位lut與低4位lut輸出值相加后得出8位地址碼的輸出值。低四位和高四位lut如表4-2所示:表4-2(a) 地址低4位lut d3d2d1d0函數(shù)值000000001h(0)0010h(1)0011h(0)+h(1)0100h(2)0101h(2)+h(0)1111h(0) +h(1)+h(2)

49、+h(3)表4-2(b) 地址高4位lut d7d6d5d4函數(shù)值000000001h(4)0010h(5)0011h(4)+h(5)0100h(6)0101h(6)+h(4)1111h(4) +h(5)+h(6)+h(7)(5)樹狀移位加法器模塊樹狀移位加法模塊,通過一個(gè)樹狀的移位加法,最后實(shí)現(xiàn)卷積運(yùn)算。設(shè)計(jì)采用并行移位加法,提高了執(zhí)行速度,但付出了硬件資源的大量消耗代價(jià)。樹狀移位加法器模塊的vhdl設(shè)計(jì)中,雖然“+”的運(yùn)算是在signed庫(kù)中完成的,但仍要關(guān)注每個(gè)加數(shù)的符號(hào)位的擴(kuò)展問題,否則會(huì)出錯(cuò)。(6)鎖存輸出模塊da算法的輸出值是多位二進(jìn)制的結(jié)果,設(shè)計(jì)運(yùn)算結(jié)果是24位,根據(jù)要求輸出是8

50、位,鎖存模塊將輸出結(jié)果進(jìn)行去舍,以滿足設(shè)計(jì)要求。具體做法是根據(jù)邏輯仿真的邏輯圖截取最高的8位有效位即可。如果一種仿真時(shí)輸出如圖4-6所示的波形,可知y223 downto 16的位置上都不存在數(shù)據(jù)。那么所存輸出應(yīng)該是y215 downto 8。4.2.3 fir濾波器的頂層設(shè)計(jì)圖4-6為fir濾波器的頂層設(shè)計(jì)圖。圖4-6 fir濾波器的頂層設(shè)計(jì)文件fir濾波器的工作過程說(shuō)明如下:完成一次卷積運(yùn)算需要7個(gè)工作狀態(tài),系統(tǒng)狀態(tài)圖如下:s0:輸入信號(hào)并行進(jìn)入移位寄存器,實(shí)現(xiàn)信號(hào)的延遲;s1:根據(jù)系數(shù)的對(duì)稱性,實(shí)現(xiàn)b(i)=x(i)+x(n-i),并形成8位地址碼;其中s0、s1狀態(tài)是在輸入模塊完成的。

51、s2:根據(jù)地址碼對(duì)應(yīng)lut函數(shù)值;s2狀態(tài)在查找表模塊完成的。s3-s6:lut的輸出數(shù)值樹狀移位相加,得出卷積結(jié)果;這是個(gè)4層次的樹狀的移位加過程,是在樹狀移位加法模塊中完成??紤]到硬件條件的限制,我們的d/a轉(zhuǎn)換器只有8位,所以還要添加鎖存模塊,取舍卷積結(jié)果,達(dá)到設(shè)計(jì)要求的精度位數(shù)輸出。完成一次卷積需7個(gè)脈沖周期,即從數(shù)據(jù)輸入到數(shù)據(jù)輸出需7個(gè)脈沖周期,但采用流水線工作方式,可以認(rèn)為,每個(gè)脈沖上升沿并行8位數(shù)據(jù)輸入,同時(shí)并行8位數(shù)據(jù)輸出。所謂流水線技術(shù)是針對(duì)連續(xù)輸入數(shù)據(jù)流的系統(tǒng)而言的。它的主要含義是把整個(gè)運(yùn)算過程分解成若干段,系統(tǒng)在同一個(gè)時(shí)間可對(duì)先后輸入的數(shù)據(jù)流元素進(jìn)行不同階段的運(yùn)算。如設(shè)計(jì)

52、的fir濾波器的卷積運(yùn)算是分成7個(gè)時(shí)鐘脈沖的,系統(tǒng)在進(jìn)行卷積運(yùn)算的第3個(gè)時(shí)鐘脈沖的運(yùn)算同時(shí),也在進(jìn)行下一個(gè)卷積運(yùn)算的第2個(gè)時(shí)鐘脈沖的運(yùn)算。這樣雖然完成一次卷積是7個(gè)時(shí)鐘脈沖,但2個(gè)相臨的卷積運(yùn)算的完成僅相隔1個(gè)時(shí)鐘脈沖,從而大大地提高運(yùn)算速率,電路的規(guī)模也會(huì)迅速增大,這是流水線技術(shù)為了得到較高地運(yùn)算速率而付出的代價(jià)19。5 fir濾波器的系統(tǒng)仿真驗(yàn)證5.1各模塊的仿真圖圖5-1 移位寄存器仿真圖圖5-2 加法與地址碼形成單元仿真圖圖5-3 查找表模塊仿真圖圖5-4 樹狀累加器模塊仿真圖圖5-5 輸出模塊仿真圖5.2 fir濾波器的系統(tǒng)仿真驗(yàn)證程序編譯通過之后的時(shí)序仿真對(duì)fpga設(shè)計(jì)是十分重要的

53、,仿真可以通過quartusii軟件集成的simulator tool完成。系統(tǒng)仿真的主要目的是檢驗(yàn)設(shè)計(jì)是否被真正實(shí)現(xiàn),如果仿真存在問題,就需要返回下層修改設(shè)計(jì)或修改參數(shù),重新進(jìn)行編譯并再次進(jìn)行系統(tǒng)仿真,直到得到正確結(jié)果。仿真及結(jié)果分析:仿真1:設(shè)計(jì)一個(gè)輸入信號(hào),其幅值為5的50khz正弦波,以1mhz的采樣頻率對(duì)其采樣,每個(gè)周期得到20個(gè)以上的采樣點(diǎn),經(jīng)過a/d采樣量化之后的序列為:128 166 200 228 247 255 251 237 213 181 144 106 70 39 16 3 2 12 32 61 96。quartusii仿真波形如圖5-4所示,可以看出,在7個(gè)clkin脈沖后,得到濾波結(jié)果,且是流水線的輸出方式。用matlab卷積計(jì)算并和quartusii的仿真結(jié)果比較,如表5-1所示。表5-1結(jié)果的比較,有一定的誤

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論