新聞中心

        EEPW首頁 > 汽車電子 > 設計應用 > 基于FPGA實現FIR濾波器的研究

        基于FPGA實現FIR濾波器的研究

        ——
        作者: 時間:2007-02-06 來源:電子技術應用 收藏

        基于實現的研究
        武漢大學電氣工程學院(430072) 郭曉宇 潘 登 楊同中
         
          摘 要:針對在中實現的關鍵——乘法運算的高效實現進行了研究,給出了將乘法化為查表的算法,并采用這一算法設計了。通過仿真驗證,證明了這一方法是可行和高效的,其實現的濾波器的性能優于用DSP和傳統方法實現的FIR濾波器。最后介紹了整數的表示和還處于研究階段的根據FPGA實現的要求改進的最優表示。
          關鍵詞:FPGA FIR濾波器

          數字濾波器是語音與圖像處理、模式識別、雷達信號處理、頻譜分析等應用中的一種基本的處理部件,它能滿足濾波器對幅度和相位特性的嚴格要求,避免模擬濾波器所無法克服的電壓漂移、溫度漂移和噪聲等問題。有限沖激響應(FIR)濾波器能在設計任意幅頻特性的同時保證嚴格的線性相位特性。
          目前FIR濾波器的實現方法有三種:利用單片通用數字濾波器集成電路、DSP器件和可編程邏輯器件實現。單片通用數字濾波器使用方便,但由于字長和階數的規格較少,不能完全滿足實際需要。使用DSP器件實現雖然簡單,但由于程序順序執行,執行速度必然不快。FPGA有著規整的內部邏輯陣列和豐富的連線資源,特別適合于數字信號處理任務,相對于串行運算為主導的通用DSP 芯片來說,其并行性和可擴展性更好。但長期以來,FPGA一直被用于系統邏輯或時序控制上,很少有信號處理方面的應用,其原因主要是因為在FPGA中缺乏實現乘法運算的有效結構?,F在這個問題得到了解決,使FPGA在數字信號處理方面有了長足的發展。
        1 分布式運算原理
          分布式算法()早在1973年就已經被Croisier提出來了,但是直到FPGA出現以后,才被廣泛地應用在FPGA中計算乘積和。
          一個線性時不變網絡的輸出可以用下式表示:


          
          假設系數c[n]是已知常數,x[n]是變量,在有符號DA系統中假設變量x[n]的表達式如下:


          
          重新分別求和(也就是分布式算法的由來),其結果如下:


          
          從(1)式可以發現,分布式算法是一種以實現乘加運算為目的的運算方法。它與傳統算法實現乘加運算的不同在于執行部分積運算的先后順序不同。分布式算法在實現乘加功能時,是通過將各輸入數據的每一對應位產生的部分積預先進行相加形成相應的部分積,然后再對各個部分積累加形成最終結果的,而傳統算法是等到所有乘積已經產生之后再來相加完成乘加運算的。與傳統串行算法相比,分布式算法可極大地減少硬件電路的規模,提高電路的執行速度。它的實現框圖如圖1(虛線為流水線寄存器)所示。


        2 用分布式原理實現FIR濾波器
        2.1 串行方式
          當系統對速度的要求不高時,可以采用串行的設計方法,即采用一個DA表、一個并行累加器和少量的寄存器就可以了。
          在用LUT實現串行分布式算法的時候,假設系數為8位,則DA表的規模為2N



        關鍵詞: CSD DA FIR濾波器 FPGA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临夏县| 健康| 通渭县| 北海市| 博野县| 孝昌县| 什邡市| 天台县| 湖北省| 德令哈市| 万全县| 昌黎县| 怀来县| 阿克苏市| 阿坝| 北碚区| 安义县| 霍州市| 营口市| 卓尼县| 烟台市| 潍坊市| 新疆| 伽师县| 茶陵县| 卓尼县| 丹江口市| 景东| 滨州市| 碌曲县| 高安市| 湟中县| 九台市| 常宁市| 延安市| 疏勒县| 武威市| 澎湖县| 山西省| 新和县| 六盘水市|