<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > FIR數(shù)字濾波器的FPGA實(shí)現(xiàn)研究

          FIR數(shù)字濾波器的FPGA實(shí)現(xiàn)研究

          作者: 時間:2010-04-23 來源:網(wǎng)絡(luò) 收藏
          如今,已成為信號處理系統(tǒng)的核心器件,尤其在通信、網(wǎng)絡(luò)、視頻和圖像處理等領(lǐng)域?,F(xiàn)在的不僅包含查找表、寄存器、多路復(fù)用器、分布式塊存儲器,而且還嵌入專用的快速加法器、乘法器和輸入,輸出設(shè)備。具有高速并行運(yùn)算的能力,因而成為高性能信號處理的理想器件。此外,與專用集成電路(ASIC)相比,F(xiàn)PGA具有可重復(fù)編程的優(yōu)點(diǎn)。
          根據(jù)單位脈沖響應(yīng)的不同,數(shù)字主要分為有限脈沖響應(yīng)()和無限脈沖響應(yīng)(IIR)2大類。在同樣的設(shè)計要求下,IIR方式計算工作量較小。但難以得到線性相位響應(yīng),且系統(tǒng)不易穩(wěn)定;方式的計算工作量稍大,但在設(shè)計任意幅頻特性時,能保證嚴(yán)格的線性相位特性;由于其結(jié)構(gòu)主要是非遞歸的,F(xiàn)lR可以穩(wěn)定工作。數(shù)字是數(shù)字多普勒接收機(jī)的重要組成部分,因此,FIR數(shù)字濾波器的技術(shù)具有重要意義。隨著FPGA技術(shù)的不斷發(fā)展,F(xiàn)PGA逐漸成為信號處理的主流器件。而在FPGA中,數(shù)字濾波器不同的實(shí)現(xiàn)方法所消耗的FPGA資源是不同的,且對濾波器的性能影響也有較大差異。

          1 FIR濾波器的原理及結(jié)構(gòu)
          FIR濾波器存在N個抽頭的h(n),N稱為濾波器的階數(shù),其數(shù)學(xué)表達(dá)式為:

          式中,x(k)為第k時刻的采樣值,y(n)為濾波器輸出。h(k)為FIR濾波器的第k級抽頭系數(shù)。
          通過對h(k)進(jìn)行Z變換得到FIR的傳遞函數(shù)H(Z),其在Z域內(nèi)的形式如下:

          因此,根據(jù)傳遞函數(shù)H(Z)和FIR濾波器系數(shù)的對稱性,可得FIR濾波器的一般實(shí)現(xiàn)結(jié)構(gòu),如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/157476.htm


          從串行結(jié)構(gòu)中可以看出,F(xiàn)IR濾波過程就是一個信號逐級延遲的過程,將各級延遲輸出加權(quán)累加,得到濾波輸出,其中最主要的運(yùn)算是乘累加運(yùn)算。FIR每完成一次濾波過程需要進(jìn)行N次乘法和(N-1)次加法運(yùn)算,N為濾波器的階數(shù)。所以,濾波器的運(yùn)算量完全取決于N的大小,當(dāng)N很大時,延遲將非常長,無法實(shí)現(xiàn)高速信號處理。
          根據(jù)FIR數(shù)字濾波器的對稱特性,可以先進(jìn)行加法運(yùn)算,然后對加法運(yùn)算的結(jié)果進(jìn)行串行乘累加運(yùn)算,從而得到改進(jìn)的串行結(jié)構(gòu)。與串行結(jié)構(gòu)相比,改進(jìn)的濾波器完成一次濾波的時鐘周期減半,乘累加次數(shù)減半,提高了處理速度,但同時要消耗更多的硬件資源。圖1(b)為Ⅳ位偶數(shù)時改進(jìn)的串行結(jié)構(gòu)。與串行結(jié)構(gòu)相似,濾波器的運(yùn)算量完全取決于N的大小,當(dāng)N很大時,延遲將非常長,無法實(shí)現(xiàn)高速信號處理。
          將串行結(jié)構(gòu)展開,根據(jù)濾波器的信號流圖用多個乘法器和加法器并行實(shí)現(xiàn),得到FIR濾波器的并行實(shí)現(xiàn)結(jié)構(gòu),如圖1(c)所示。并行濾波器的濾波速度快,一個時鐘周期內(nèi)完成一次濾波,但消耗大量的FPGA資源,如乘累加器,且器件的延遲較大,工作頻率不宜太高。
          FPGA具有規(guī)整的內(nèi)部邏輯陣列和豐富的連線資源,特別適合用于處理。但以前FPGA一般用于系統(tǒng)邏輯或時序控制,很少應(yīng)用在信號處理方面。其原因主要是FPGA中缺乏實(shí)現(xiàn)乘法運(yùn)算的有效結(jié)構(gòu)。隨著FPGA技術(shù)的不斷發(fā)展,查找表(LUT)技術(shù)的應(yīng)用有效地解決了這個問題,使FPGA在處理方面得到了廣泛應(yīng)用。

          2 基于分布式算法的FIR濾波器的實(shí)現(xiàn)
          2.1 分布式算法原理

          上世紀(jì)70年代Croisie提出了分布式算法DA(Distributed Arithmetic),但由于其特別適合用FPGA實(shí)現(xiàn),所以直到Xilinx公司在FPGA中使用查找表(LUT)后,DA才被廣泛應(yīng)用在FPGA求乘積和中。
          FIR的濾波輸出y可以表示為輸入x和系數(shù)h的內(nèi)積:

          由上述推導(dǎo)可知,分布式算法是一種以實(shí)現(xiàn)乘加運(yùn)算為目的的運(yùn)算方法。它與傳統(tǒng)實(shí)現(xiàn)乘加運(yùn)算的先后順序不同。分布式算法在完成乘加功能時,是通過將各輸入數(shù)據(jù)每一對應(yīng)位產(chǎn)生的部分積預(yù)先進(jìn)行相加形成相應(yīng)部分積,然后在對各部分積預(yù)先進(jìn)行累加形成最終結(jié)果;而傳統(tǒng)算法是等到所有乘積產(chǎn)生之后再進(jìn)行相加來完成乘加運(yùn)算。
          2.2 分布式FIR的實(shí)現(xiàn)結(jié)構(gòu)
          圖2為分布式FIR濾波器的直接實(shí)現(xiàn)結(jié)構(gòu)。對于小位寬的數(shù)據(jù),DA算法不僅速度快,而且所占用的芯片資源少。


          2.3 性能優(yōu)化方法
          1)流水線結(jié)構(gòu)法 在濾波器中間增加適當(dāng)?shù)募拇嫫?,?gòu)成流水線結(jié)構(gòu)。在并行結(jié)構(gòu)實(shí)現(xiàn)中添加流水線結(jié)構(gòu),可以提高濾波器速度,使其工作在更高的工作頻率。對于速度固定的數(shù)據(jù),可以通過多次復(fù)用乘累加器來節(jié)省資源。
          2)查找表分隔法 在用LUT實(shí)現(xiàn)分布式算法時,由于LUT的規(guī)模隨著N的增加呈現(xiàn)指數(shù)增長,如果濾波器系數(shù)N過大,則查找表的規(guī)模十分龐大。為了減小規(guī)模,可以利用部分表計算。由于FIR濾波器是線性濾波器,因此低階濾波器輸出可以相加,由此定義一個高階濾波器的輸出。例如,把16輸入的查找表分割成4個并行的查找表。
          查找表的分隔技術(shù)和流水線技術(shù)可以大大減小設(shè)計規(guī)模,同時并不會降低濾波速度。使用DA算法實(shí)現(xiàn)的FlR濾波器與傳統(tǒng)的算法相比,DA算法可以極大地減少硬件電路規(guī)模,很容易實(shí)現(xiàn)流水線處理,提高電路的執(zhí)行速度。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();