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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于中檔FPGA多相濾波器的設(shè)計實現(xiàn)

          基于中檔FPGA多相濾波器的設(shè)計實現(xiàn)

          作者: 時間:2010-10-12 來源:網(wǎng)絡(luò) 收藏

            相比之下, FIR沒有反饋,這意味著它的脈沖響應(yīng)在一個有限的時間范圍之內(nèi)。 FIR擁有優(yōu)于IIR的幾個優(yōu)點,其中包括一個事實,即在整個頻譜范圍,他們有完全恒定的群時延,在所有頻率范圍內(nèi),不論濾波器的大小,他們是完全穩(wěn)定的。

            通用FIR濾波器的圖形表示如圖10所示。在這種情況下,輸入樣本xn通過一系列的緩沖寄存器(這些都標記為z-1,對應(yīng)延時單元的Z變換)。

            

            圖10 經(jīng)典FIR濾波器的通用表示

            濾波器的工作原理是用一系列的常數(shù)(稱為抽頭系數(shù))乘以一系列最新的n個數(shù)據(jù)采樣,并對所得到的數(shù)組的單元進行求和。通過改變系數(shù)和濾波器抽頭數(shù)目的加權(quán)(值),F(xiàn)IR濾波器實際上可幾乎任何所需的頻率響應(yīng)特性。

            問題是FIR濾波器可能需要大量的抽頭(有時數(shù)百個),以其預(yù)定的目標。每一個抽頭需要消耗邏輯資源的乘法器累加器( Mac )單元。另外在每個時鐘,每個抽頭執(zhí)行消耗功率2的乘法和加操作。

            用FIR濾波器進行抽取

            濾波器的基本概念是把FIR濾波器分割成若干較小的單元,然后組合這些單元的結(jié)果。首先,讓我們考慮一個常規(guī)8抽頭FIR濾波器的抽取子系統(tǒng)的符號表示,如圖11所示(為了使用這些例子,我們假設(shè)抽取因子為M = 4 )。

            

            圖11 傳統(tǒng)的8抽頭FIR濾波器的抽取器的符號表示

            現(xiàn)在讓我們假設(shè)主時鐘正在以某一頻率fHz運行。像往常一樣,在濾波操作之后任何不要的樣本將被丟棄,但這樣做是低效率的,因為這意味著是以完全的時鐘頻率在進行濾波。用另一種方式來看這種操作,即在每個時鐘時刻,每個抽頭級執(zhí)行乘法和加運算。

            相比的情況,我們可以將原來的8抽頭FIR濾波器分為四個2抽頭子濾波器,如圖12所示。

            

            圖12 4 × 2抽頭多相濾波器的抽取器的符號表示

            假設(shè)同樣的主時鐘以f Hz的頻率運行,我們可以想象輸入數(shù)據(jù)流被送入一個旋轉(zhuǎn)開關(guān)(當然,這可用標準的邏輯技術(shù)來實現(xiàn))。第一個數(shù)據(jù)值送入第一個子濾波器;第二個數(shù)據(jù)值送入第二個子濾波器;第三個數(shù)據(jù)值送入第三個子濾波器;第四個數(shù)據(jù)值送入第四個子濾波器。然后,我們進行“循環(huán)”操作,以便第五個數(shù)據(jù)值送入第一個子濾波器;第六個數(shù)據(jù)值送入第二個子濾波器;等等。

            使用子濾波器減少了可能的飽和/溢出(發(fā)生任何飽和/溢出通常只需要在最后的函數(shù)求和時進行處理)。另外,使用子濾波器具有一個直接有效的優(yōu)點,因為在執(zhí)行濾波操作之前,我們有效地“抽取”了數(shù)據(jù)。這也意味著,我們的四個子濾波器中的每個都能有效地以F ÷ 4Hz的頻率運行,如圖13所示。

            

            圖13 4 × 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); })();