基于FPGA實(shí)現(xiàn)FIR濾波器的研究_第1頁(yè)
基于FPGA實(shí)現(xiàn)FIR濾波器的研究_第2頁(yè)
基于FPGA實(shí)現(xiàn)FIR濾波器的研究_第3頁(yè)
基于FPGA實(shí)現(xiàn)FIR濾波器的研究_第4頁(yè)
基于FPGA實(shí)現(xiàn)FIR濾波器的研究_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、基于FPGA實(shí)現(xiàn)FIR濾波器的研究郭曉宇 潘 登 楊同中 時(shí)間:2008年09月11日 字 體: 大 中 小關(guān)鍵詞:? 摘? 要:? 關(guān)鍵詞: FPGA? DA? FIR濾波器? CSD?1 分布式運(yùn)算原理? 一個(gè)線性時(shí)不變網(wǎng)絡(luò)的輸出可以用下式表示:? ? 假設(shè)系數(shù)cn是已知常數(shù),xn是變量,在有符號(hào)DA系統(tǒng)中假設(shè)變量xn的表達(dá)式如下:? 式中,xbn表示xn的第b位,而xn也就是x的第n次采樣。于是,內(nèi)積y可以表示為:? ? 重新分別求和(也就是分布式算法的由來),其結(jié)果如下:? ? 從(1)式可以發(fā)現(xiàn),分布式算法是一種以實(shí)現(xiàn)乘加運(yùn)算為目的的運(yùn)算方法。它與傳統(tǒng)算法實(shí)現(xiàn)乘加運(yùn)算的不同在于執(zhí)行部

2、分積運(yùn)算的先后順序不同。分布式算法在實(shí)現(xiàn)乘加功能時(shí),是通過將各輸入數(shù)據(jù)的每一對(duì)應(yīng)位產(chǎn)生的部分積預(yù)先進(jìn)行相加形成相應(yīng)的部分積,然后再對(duì)各個(gè)部分積累加形成最終結(jié)果的,而傳統(tǒng)算法是等到所有乘積已經(jīng)產(chǎn)生之后再來相加完成乘加運(yùn)算的。與傳統(tǒng)串行算法相比,分布式算法可極大地減少硬件電路的規(guī)模,提高電路的執(zhí)行速度。它的實(shí)現(xiàn)框圖如圖1(虛線為流水線寄存器)所示。?2 用分布式原理實(shí)現(xiàn)FIR濾波器?2.1 串行方式? 當(dāng)系統(tǒng)對(duì)速度的要求不高時(shí),可以采用串行的設(shè)計(jì)方法,即采用一個(gè)DA表?一個(gè)并行累加器和少量的寄存器就可以了。?在用LUT實(shí)現(xiàn)串行分布式算法的時(shí)候,假設(shè)系數(shù)為8位,則DA表的規(guī)模為2N8位。可以看到如果

3、抽頭系數(shù)N過多,則DA表的規(guī)模將十分龐大。這是因?yàn)長(zhǎng)UT的規(guī)模隨著地址空間的變化(也就是N的增加)而呈指數(shù)增加。例如EPF10K20包含1152個(gè)LC,而一個(gè)277位的表就需要394個(gè)LC2。當(dāng)N過大時(shí),一個(gè)FPGA器件就不夠用了。? 為了減小規(guī)模,可以利用部分表計(jì)算,然后將結(jié)果相加。假定長(zhǎng)度為L(zhǎng)N的內(nèi)積為:? ? 將和分配到L個(gè)獨(dú)立的N階并行DA的LUT之中,結(jié)果如下:? ? 如圖2所示,實(shí)現(xiàn)一個(gè)4N的DA設(shè)計(jì)需要3個(gè)次輔助加法器。表格的規(guī)模從一個(gè)24NB位的LUT降到4個(gè)2NB的位表。? 如果再加上流水線寄存器,由于EPF10K20每個(gè)LC后面都跟有一個(gè)寄存器,所以并沒有增加電路規(guī)模,而速

4、度卻得到了提高。?2.2 并行方式? 采用并行方式的好處是處理速度得到了提高。由于數(shù)據(jù)是并行輸入,所以計(jì)算速度要比串行方式快,但它的代價(jià)是硬件規(guī)模更大了。下面舉出全并行的例子。? 設(shè) ? sum0=c0x00+c1x01+.+cN-1x0N-1? sumB-1=cB-1xB-10+c1xB-11+.+cN-1xB-1N-1? 可將(1)式改寫成如下形式:? y=sum0+sum121+sum222+.+sumB-12B-1? (2)? 利用式(2)可得一種直觀的加法器樹,如圖3所示。? 雖然硬件規(guī)模加大了,但是如果把系數(shù)的個(gè)數(shù)限制在4個(gè)或8個(gè),再加上流水線寄存器,這個(gè)代價(jià)還是值得的。而且每張表

5、都是相同的,不用為每個(gè)采樣都設(shè)計(jì)一張表,減小了設(shè)計(jì)量。?3 CSD碼及最優(yōu)化方法? 一個(gè)整數(shù)X與另一整數(shù)Y的乘積的二進(jìn)制表示可以寫成:? ? 對(duì)于標(biāo)準(zhǔn)二進(jìn)制,由于sn=0時(shí)的對(duì)應(yīng)項(xiàng)Y2n并不參與累加運(yùn)算,所以可以用另一種表示方法使非零元素的數(shù)量降低,從而使加法器的數(shù)目減少,降低硬件規(guī)模。有符號(hào)數(shù)字量(SD)有三重值?邀0,-1,+1?妖,如果任意兩個(gè)非零位均不相鄰,即為標(biāo)準(zhǔn)有符號(hào)數(shù)字量(CSD)。例如:? ? 可以證明CSD表示對(duì)給定數(shù)是唯一的并且是最少非零位的3。CSD表示相對(duì)于標(biāo)準(zhǔn)二進(jìn)制表示的改進(jìn)在于引入了負(fù)的符號(hào)位,從而降低了非零位個(gè)數(shù),大大降低了邏輯資源的占用(大約平均降低33%的邏輯

6、資源)2。? 當(dāng)用硬件實(shí)現(xiàn)時(shí),常常限制系數(shù)位數(shù),即每個(gè)系數(shù)與N個(gè)正(負(fù))2的冪次之和近似。標(biāo)準(zhǔn)二進(jìn)制數(shù)在整數(shù)軸上是緊密和均勻分布的,而CSD碼是非均勻分布的,其對(duì)實(shí)系數(shù)的量化誤差比標(biāo)準(zhǔn)二進(jìn)制大3,雖然增加N可以減小量化誤差,但是會(huì)增大邏輯資源的消耗;而且CSD表示無法應(yīng)用流水線結(jié)構(gòu),從而降低處理速度。? ? 還可采用優(yōu)化的方法將系數(shù)先拆分成幾個(gè)因子,再實(shí)現(xiàn)具體因子。這就是最優(yōu)化的代碼。例如對(duì)系數(shù)用最優(yōu)化法,系數(shù)93可以表示成93=331,每個(gè)因子需要一個(gè)加法器,如圖4所示。? 從圖中可以看出,CSD碼需要三個(gè)加法器,而最優(yōu)法只需要兩個(gè)加法器;CSD碼的重要缺陷在于每一級(jí)加法都需要初節(jié)點(diǎn)參與,而

7、最優(yōu)表示僅依賴上一級(jí)加法的結(jié)果,因此也就更適合流水線處理。Dempster等人提出了需要1到4個(gè)加法器的所有可能配置表。利用這張表,就可以合成成本在0與4個(gè)加法器之間的所有8位二進(jìn)制整數(shù)4。? ? 本文首先給出了一種巧妙利用FPGA的查找表,將乘法轉(zhuǎn)化為查找表運(yùn)算的DA算法,并用ALTERA的FLEX10K器件分別實(shí)現(xiàn)了一個(gè)8位16階的串行與并行FIR濾波器,系統(tǒng)頻率分別達(dá)到63MHz與101MHz,采樣速度分別達(dá)到7MSPS與101MSPS。而DSP實(shí)現(xiàn)的FIR濾波器只能達(dá)到5MSPS,明顯低于FPGA。用傳統(tǒng)的位串行方法實(shí)現(xiàn)的一個(gè)8階8位FIR濾波器,也只能達(dá)到5MSPS,明顯低于串行式D

8、A方法;接著,針對(duì)系數(shù)的二進(jìn)制表示非零位不是最少(即實(shí)現(xiàn)系數(shù)乘法的加法器不是最少)的問題,介紹了整數(shù)的CSD表示以及最優(yōu)表示,它們可以用較小的代價(jià)和與加法器級(jí)數(shù)無關(guān)的處理速度實(shí)現(xiàn)整數(shù)乘法運(yùn)算,能比DA方法用更少的邏輯資源實(shí)現(xiàn)FIR濾波器。這些算法都不同于傳統(tǒng)的設(shè)計(jì)觀念,為基于FPGA的DSP設(shè)計(jì)提出了新的思路,必將在高速FIR濾波器設(shè)計(jì)?高速FFT設(shè)計(jì)中得到廣泛的應(yīng)用。隨著FPGA集成規(guī)模的不斷提高,許多復(fù)雜的數(shù)學(xué)運(yùn)算已經(jīng)可以用FPGA來實(shí)現(xiàn),利用單片F(xiàn)PGA實(shí)現(xiàn)系統(tǒng)的設(shè)想即將變?yōu)楝F(xiàn)實(shí)。?參考文獻(xiàn)?1 ALTERA Data Book, 2001?3 Shousheng He,Mats Torkelson.FPGA Implementation

溫馨提示

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