石立國++侯鴻杰++王竹剛++熊蔚明



摘 要: 實現高階FIR濾波器時,在降低FPGA硬件資源占用方面,分布式算法和多相分解技術應用廣泛。詳細介紹了分布式算法和多相分解技術的原理,并結合FPGA的特點提出了適用于高階FIR濾波器的新算法,解決了分布式算法實現高階FIR濾波器查找表過大的問題,提高了硬件資源的利用率。推導了基于分布式算法和多相分解技術的實現原理,通過ISE實現并驗證了該算法的高效性。最后,給出了濾波器性能隨濾波器系數量化位寬變化的關系。
關鍵詞: FIR濾波器; FPGA; 分布式算法; 多相分解
中圖分類號: TN713+.7?34 文獻標識碼: A 文章編號: 1004?373X(2016)23?0068?04
Design of polyphase decimation filter based on distributed algorithm
SHI Liguo1, 2, HOU Hongjie1, 2, WANG Zhugang1, XIONG Weiming1
(1. National Space Science Center, Chinese Academy of Sciences, Beijing 100190, China; 2. University of Chinese Academy of Sciences, Beijing 100190, China)
Abstract: The distributed algorithm and polyphase decomposition technology are widely used to implement the high?order FIR filter and reduce the occupancy of FPGA hardware resource. The principles of the distributed algorithm and polyphase decomposition technology are introduced in detail. In combination with the characteristics of FPGA, a new algorithm suitable for high?order FIR filter is proposed, which can solve the problem that the distributed algorithm is adopted to realize the oversize high?order FIR filter lookup table, and improve the utilization of hardware resource. The implementation principles based on the distributed algorithm and polyphase decomposition technology are deduced. The high efficiency of this algorithm was realized and verified by ISE. The relationship of variation of the filter performance with the width of the filter coefficient quantization bit is given.
0 引 言
從20世紀末期開始,小衛星以編隊飛行的方式完成復雜的空間探測任務成為了熱點。小衛星具有重量輕、體積小、功耗低、成本低、研制周期短等優點[1],但也有相應的不足之處,例如受重量、體積、功耗的限制,其性能也大大降低。星載的數字信號處理IC也只能應用低功耗的系列,例如Xilinx公司的Spartan 6,其片上資源尤其是DSP資源非常有限。因此,在片上數字信號處理的算法中,要盡量減少硬件電路規模,節省FPGA硬件資源,以達到低功耗的要求。
FIR數字匹配濾波器在信號解調、信號檢測和時延估計中有著優異的性能,并得到了廣泛的應用[2]。但隨著階數的提高,FIR數字濾波器占用的資源越來越多[3]。由于大量的乘法存在,在低功耗FPGA中實現高階FIR數字濾波器十分困難,為解決這一問題,通常的實現方式有兩種:一是采用多相分解的方式“降低”濾波器的階數[4?5];二是采用分布式算法實現乘法操作[6?7]。本文提出了數字濾波器的多相實現結構與分布式算法相結合的方法,在實現具有相同階數的FIR數字濾波器時,盡可能地減少硬件資源的占用。
1 分布式算法
分布式算法[7](Distributed Arithmetic,DA)于1973年由Croisier提出,是一種專門針對乘加運算的重要的FPGA技術,而FIR濾波器是一個標準的乘加運算。采用分布式算法實現FIR濾波器可以顯著地減小硬件電路規模,十分方便的實現流水線處理,提高電路的運算速度。分布式算法在完成乘加運算功能時,將所有輸入數據的每一對應位進行濾波器系數的預先累加形成的部分積利用LUT存儲起來,然后對每一個部分積進行移位累加,從而得到最終乘加結果。
假設某[N]階FIR濾波器的表達式為:
4 結 語
本文利用FIR濾波器的分布式算法和多相分解技術提出了一種高效的高階FIR濾波器FPGA實現結構。采用這一算法設計的濾波器可以節省大量FPGA硬件資源,并解決了高階FIR濾波器分布式算法實現時查找表過大的問題。給出了并行結構、多相結構和基于分布式算法的多相結構的資源占用對比,通過Xilinx SP605開發板驗證了這一算法的可行性和高效性?;诜植际剿惴ǖ亩嘞嘟Y構實現的FIR濾波器帶外抑制性能與濾波器系數量化位寬成正比,當濾波器系數量化位寬為10 b時,帶外抑制大于50 dB;量化位寬為12 b時,帶外抑制大于70 dB。
參考文獻
[1] 吳國強,孫兆偉,趙丹,等.編隊小衛星星間通信系統的發展和趨勢[J].哈爾濱工業大學學報,2008,39(11):1699?1703.
[2] 劉凌.數字信號處理的FPGA實現[M].北京:清華大學出版社,2006.
[3] 魏靈,楊日杰,崔旭濤.基于分布式算法的數字濾波器設計[J].儀器儀表學報,2008,29(10):2100?2104.
[4] 段國棟,蔣小平,馬速良,等.一種基于多相結構的高效數字下變頻設計[J].電子技術應用,2014,40(4):52?55.
[5] FIALA P, LINHART R. High performance polyphase FIR filter structures in VHDL language for software defined radio based on FPGA [C]// Proceedings of 2014 IEEE International Conference on Applied Electronics. Plzen: IEEE, 2014: 83?86.
[6] MOHANTY B K, MEHER P K. A high?performance energy?efficient architecture for FIR adaptive filter based on new distri?buted arithmetic formulation of block LMS algorithm [J]. IEEE transactions on signal processing, 2013, 61(4): 921?932.
[7] HWANG S, HAN G, KANG S, et al. New distributed arithmetic algorithm for low?power FIR filter implementation [J]. IEEE signal processing letters, 2004, 11(5): 463?466.
[8] 謝海霞,孫志雄.多相抽取濾波器的FPGA實現[J].電子器件,2012,35(3):331?333.
[9] JOHANSSON H, HARRIS F. Polyphase decomposition of digital fractional?delay filters [J]. IEEE signal processing letters, 2015, 22(8): 1021?1025.
Keywords: FIR filter; FPGA; distributed algorithm; polyphase decomposition