張 娜,李春祎
(1.中國電子科技集團公司第五十四研究所,河北 石家莊 050081;2.河北工業(yè)職業(yè)技術學院,河北 石家莊 050091)
多相并行FIR濾波器的FPGA高速實現(xiàn)方法
張 娜1,李春祎2
(1.中國電子科技集團公司第五十四研究所,河北 石家莊 050081;2.河北工業(yè)職業(yè)技術學院,河北 石家莊 050091)
L路多相并行FIR濾波器的工作速率是單路串行FIR濾波器的L倍,基于多項式分解的多相并行FIR濾波器實現(xiàn)結構簡單、計算復雜度小、濾波運算延遲少;針對多相并行FIR濾波器,給出了基于多項式分解的多相并行FIR濾波器優(yōu)化實現(xiàn)結構的FPGA高速實現(xiàn)方法。歸納、整理和推導了2路至8路基于多項式分解的多相并行濾波器優(yōu)化實現(xiàn)結構,并針對FPGA實現(xiàn)的具體特點給出了多相并行濾波器優(yōu)化實現(xiàn)結構的FPGA高速實現(xiàn)方法。通過測試分析可知,給出的基于多項式分解的多相并行FIR濾波器優(yōu)化實現(xiàn)結構的FPGA高速實現(xiàn)方法能夠在FPGA上高速實現(xiàn)多相并行FIR濾波器。
FIR濾波器;多相分解;FPGA;高速
數字信號處理具有靈活性、高精度和高穩(wěn)定性、便于大規(guī)模集成、對數字信號可以存儲和運算且系統(tǒng)可以獲得高性能指標等優(yōu)點,已被廣泛應用于語音、圖像、控制、航空和航天等眾多領域[1]。在數字信號處理系統(tǒng)中,有限脈沖響應(Finite Impulse Response,FIR)濾波器具有先天穩(wěn)定性和可以有嚴格的線性相位等突出特性,在數字信號處理領域得到了廣泛應用[2]。文獻[3]指出,隨著數字信號處理需求的提高,對FIR濾波器運算速率的需求已超過1 GHz?,F(xiàn)場可編程邏輯陣列(FPGA)在靈活性和性能等方面具有優(yōu)勢,已作為通用硬件平臺廣泛應用;盡管Altera和Xilinx推出器件的最高工作頻率超過500 MHz,但是仍然不能直接實現(xiàn)運算速率超過1 GHz的FIR濾波器[4]。由于FPGA器件的限制,要在FPGA中實現(xiàn)運算速率較高的FIR濾波器,只能采用并行結構,耗費更多的資源以降低FPGA的工作頻率[5]。
近年來,運算速率較高的FIR濾波器的多路并行實現(xiàn)結構和相應的工程實現(xiàn)得到了廣泛關注[6]。文獻[7]給出了一種超高速并行濾波結構FIR的FPGA實現(xiàn)及應用。文獻[8-9]給出了基于多相濾波的高效數字下變頻設計,并通過FPGA實現(xiàn)了在低頻率下完成高速數據流下變頻。通過直接應用多相分解理論可知,一個N階串行FIR濾波器可由L2個N/L階子濾波器等效并行實現(xiàn),其中并行處理路數為L;可以看出,由多相分解理論得到的并行FIR濾波器實現(xiàn)結構的工作頻率降為串行FIR濾波器的1/L,其計算復雜度或耗費的資源升為串行FIR濾波器的L倍[10]。在對FIR濾波器多相分解時,文獻[10]提出的Fast FIR Algorithms (FFAs)方法對多相分解的同類項進行規(guī)整合并從而減少并行FIR濾波器實現(xiàn)結構的計算復雜度。在FFAs方法的基礎上,文獻[11-12]利用濾波器抽頭系數的對稱性關系進一步降低并行FIR濾波器實現(xiàn)結構的計算復雜度;為了進一步節(jié)約硬件資源,文獻[13]論述了一種基于迭代短卷積算法的低復雜度并行FIR濾波器結構。為了降低FIR并行濾波器的計算復雜度,文獻[14-15]提出的迭代短卷積方法通過增加加法和延遲單元為代價減少FIR并行濾波器的乘法器數目。相比于FFAs方法,文獻[11-15]提出的并行FIR濾波器實現(xiàn)結構計算復雜度改善不明顯。
FFAs方法給出的FIR濾波器并行實現(xiàn)結構延遲少,計算復雜度小,結構簡單[4];鮮有文章涉及基于多相分解的FFAs多相并行FIR濾波器優(yōu)化實現(xiàn)結構的FPGA高速實現(xiàn);本文聚焦于多相并行濾波器FFAs優(yōu)化實現(xiàn)結構及其FPGA高速實現(xiàn)。
1.1 傳統(tǒng)并行實現(xiàn)結構
FIR濾波器的頻域表達式可以表示為[4]:
(1)
(2)
式中,x(·)、h(·)和y(·)分別表示濾波器的輸入信號、有限脈沖響應和輸出信號,N表示濾波器階數。
并行路數為5的FIR濾波器的頻域表達式為:
,(3)
式中,為了簡化表示,Xk表示Xk(z5),Hj表示Hj(z5),Yi表示Yi(z5);濾波器經5路多相化處理后每路速率降為單路全速處理的1/5。
式(3)給出了FIR濾波器的5路多相直接分解實現(xiàn)結構,5路多相輸出共需要25個子濾波器(每路多相輸出均需要5個子濾波器),其計算復雜度是串行濾波器的5倍。
1.2 基于FFA的并行優(yōu)化實現(xiàn)結構
基于FFAs的FIR濾波器的并行優(yōu)化實現(xiàn)結構需要針對具體并行路數,通過多項式分解得到FIR濾波器多相輸出與多相輸入之間的關系[10]。下面歸納、整理和推導得到2路至8路基于多項式分解的多相并行濾波器實現(xiàn)結構。
當L=2時,有優(yōu)化實現(xiàn)結構[10]:
(4)
當L=3時,經多項式分解可得:
(5)
當L=4時,對文獻[10]結果進行整理可得優(yōu)化實現(xiàn)結構:
(6)
當L=5時,經多項式分解可得:
(7)
當L=6時,經多項式分解可得:
(8)
當L=7時,經多項式分解可得優(yōu)化實現(xiàn)結構:
(9)
當L=8時,文獻[4]給出了一種實用的優(yōu)化實現(xiàn)結構。在式(4)~(9)中,符號X和H下的多個數字下標表示對應輸入相加,如X15表示X1+X5。
從式(4)~(9)中可以看出多相并行FIR濾波器的實現(xiàn)結構;為了盡可能提高FPGA運行速度,減少濾波器需要并行的路數,對于多相并行FIR濾波器FPGA高速實現(xiàn),需要結合多相并行FIR濾波器實現(xiàn)結構和FPGA特點進行綜合考慮。
對于多相并行FIR濾波器的FPGA高速實現(xiàn),主要設計思路如下:
① 為了提高效率,采用模塊化實現(xiàn)結構,多相并行FIR濾波器FPGA高速實現(xiàn)主要功能模塊包括:子濾波器模塊、多輸入加法模塊、延遲模塊;
② 為了盡可能提高FPGA運行速度,對于多相并行FIR濾波器的FPGA實現(xiàn),不管在功能模塊內部還是外部都應采用運算加鎖存的實現(xiàn)方式;建議對二輸入加法器結果鎖存(多輸入加法器分解為多個二輸入加法器實現(xiàn)),對二輸入乘法器結果鎖存;
③ 為了保證多路輸出信號的一致性,應嚴格控制各路信號的延遲,保證各路信號之間的嚴格同步,包括功能模塊內部和功能模塊外部;不管功能模塊內還是功能模塊外的同步,都以最長延遲為基準利用延遲模塊對信號進行同步對齊。
對于子濾波器功能模塊,為了盡可能提高FPGA運行速度,借鑒并采用全并行FIR濾波器結構[16]。不失一般性,設定子濾波器系數個數為5,子濾波器設計圖如圖1所示。
圖1 子濾波器功能模塊設計圖
如圖1所示,為了盡可能提高FPGA運行速度,在子濾波器功能模塊中,對所有二輸入加法器結果鎖存(多輸入加法器分解為多個二輸入加法器實現(xiàn)),對所有二輸入乘法器結果鎖存;另外,將子濾波器系數作為輸入進行配置,保證了子濾波器功能模塊的通用性。由于所有子濾波器階數相同,所有子濾波器輸出相對于數據輸入之間的延遲相同。
由于加法器輸入的多樣性,可按照多個模塊進行設計。為了盡可能提高FPGA運行速度,借鑒并采用全并行樹型加法器結構[5],多輸入加法器分解為多級二輸入加法器,并對每一級加法器結果進行鎖存;另外,為了便于統(tǒng)計延遲及信號同步,將輸入數據的取負運算包含在多輸入加法器中,并將多輸入加法器采用統(tǒng)一設計架構。不失一般性,設定輸入數目為9,其中4個輸入需要乘以-1,多輸入加法器設計圖如圖2所示。
圖2 多輸入加法器功能模塊設計圖
采用圖2所示的統(tǒng)一設計架構,不同輸入數目對應的加法器延遲時鐘數目可以表示為:
(10)
式中,Dclk表示多輸入加法器結果相對于輸入延遲的時鐘數目,Ninput表示輸入數目,?·」表示向上取整運算。
延遲功能模塊可以采用多級D觸發(fā)器級聯(lián)的形式實現(xiàn),也可以采用雙口RAM實現(xiàn)。
設計好子濾波器功能模塊、多輸入加法器功能模塊和延遲功能模塊后,需要按照式(4)~(9)所示的基于多項式分解的多相并行濾波器優(yōu)化實現(xiàn)結構完成FPGA高速實現(xiàn),為了保證多路輸出信號的一致性,應嚴格控制各路信號的延遲,保證各路信號之間的嚴格同步。
不失一般性,下面以5路多相并行FIR濾波器為例具體說明FPGA的高速實現(xiàn)。
利用式(7)并結合多相并行FIR濾波器的FPGA高速實現(xiàn)主要設計思路,5路多相并行FIR濾波器的FPGA的高速實現(xiàn)圖如圖3所示。
從圖3中可以看出,多相并行FIR濾波器的FPGA的高速實現(xiàn)主要包括3種功能模塊:分別是子濾波器模塊、多輸入加法器模塊和延遲模塊;為了保證多路輸出信號的一致性,除了各功能模塊內部的嚴格同步外,對于各功能模塊間采用延遲模塊進行延遲以保證各信號之間的嚴格同步;不管功能模塊內還是功能模塊外的同步,都以最長延遲為基準利用延遲模塊進行同步對齊;在圖3中,第4路多相輸出對應的7輸入加法器功能模塊延遲最長,則以它為基準將第0路~第3路多相輸出與之同步對齊。另外,圖3所示的多相并行濾波器FPGA高速實現(xiàn)中,所有運算都采用運算寄存和全并行的方式進行,由此能夠在較高的頻率工作。
圖3 5路多相并行濾波器FPGA高速實現(xiàn)圖
不失一般性,以5路多相并行FIR濾波器為例進行FPGA高速實現(xiàn)并進行測試驗證。
設計1個具有30個抽頭系數的低通濾波器,對濾波器的抽頭系數按照12位進行量化,其歸一化頻率響應曲線如圖4所示。
在Altera公司Arria V系列芯片5AGXFB3H4F35I5上按照圖3所示實現(xiàn)框圖對5路多相并行FIR濾波器進行FPGA高速實現(xiàn),輸入信號位寬為9位,系統(tǒng)測試圖如圖5所示。圖6給出了FPGA輸入信號和輸出信號的頻譜。
圖4 濾波器歸一化頻率響應曲線
圖5 測試圖
圖6 FPGA輸入信號和輸出信號頻譜
如圖5和圖6所示,測試時的輸入信號源由2個5路多相NCO累加得到(每個NCO的輸出信號頻率可單獨控制),從而產生共有2個頻點的信號。從圖4和圖6中可以看出,5路多相FIR濾波器FPGA高速實現(xiàn)的輸入和輸出信號的頻譜符合濾波器頻率響應特性,且其輸出結果和matlab軟件的輸出結果一致,沒有誤差。經過測試,F(xiàn)PGA工作速度可達250 MHz。
由此可以看出,本文給出的多相并行FIR濾波器的FPGA高速實現(xiàn)思路能夠在FPGA上高速實現(xiàn)多相并行FIR濾波器。
基于多項式分解的多相并行FIR濾波器實現(xiàn)結構簡單、計算復雜度小、濾波運算延遲少。本文歸納、整理和推導了2路~8路基于多項式分解的多相并行濾波器優(yōu)化實現(xiàn)結構,給出了多相并行濾波器優(yōu)化實現(xiàn)結構的FPGA高速實現(xiàn)方法。通過測試可知,給出的多相并行FIR濾波器的FPGA高速實現(xiàn)方法能夠在FPGA上高速實現(xiàn)多相并行FIR濾波器,對系統(tǒng)的工程實現(xiàn)有指導意義。
[1] 張建偉,展雪梅.FIR數字濾波器的設計與實現(xiàn)[J].無線電工程,2010,40(6):54-56.
[2] 許瑞生,崔琦.FIR濾波器在擴頻發(fā)射機中的應用[J].無線電通信技術,2011,37(4):62-64.
[3] 張維良,張彧,楊再初,等.高速并行FIR濾波器的FPGA實現(xiàn)[J].系統(tǒng)工程與電子技術,2009,31(8):1819-1822.
[4] 宋廣怡.FIR濾波器的8路多相27子濾波器實現(xiàn)結構[J].無線電工程,2015,45(2):22-25.
[5] 孫大元,王憲平.基于PMF-FFT的高動態(tài)長偽碼捕獲實現(xiàn)[J].無線電工程,2016,46(8):65-69.
[6] 王璐,李明.基于并行FIR濾波器結構的數字下變頻[J].火控雷達技術,2010,39(3):36-40.
[7] 張峻濤,王平,傅石雨.超高速并行濾波結構FIR的FPGA實現(xiàn)及應用[J].通信對抗,2013,32(1):36-39.
[8] 劉二平,劉曉杰.基于多相濾波的高效數字下變頻設計[J].無線電工程,2016,46(8):23-26.
[9] 顧明超,李倩.寬帶數字下變頻器的FPGA實現(xiàn)[J].無線電通信技術,2014,40(5):69-72.
[10]Parker D A,Parhi K K.Area-Efficient Parallel FIR Digital Filter Implementations[C]∥IEEE Proceedings of International Conference on Application Specific Systems,Architectures and Processors,1996:93-111.
[11]Tsao Y,Choi K.Area-Efficient Parallel FIR Digital Filter Structures for Symmetric Convolutions Based on Fast FIR Algorithm[J].IEEE Transactions on Very Large Scale Integration Systems,2012,20(2):366-371.
[12]Tsao Y,Choi K.Area-Efficient VLSI Implementation for Parallel Linear-Phase FIR Digital Filters of Odd Length Based on Fast FIR Algorithm[J].IEEE Transactions on Circuits and Systems-II:Express Briefs,2012,59(6):371-375.
[13]田晶晶,李廣軍,李強.一種基于迭代短卷積算法的低復雜度并行FIR 濾波器結構[J].電子與信息學報,2014,36(5):1151-1157.
[14]王成,侯衛(wèi)華,劉明峰,等.采用多級子并行濾波器級聯(lián)結構的并行FIR濾波器[J].中國電子科學研究院學報,2008,3(1):92-96.
[15]Cheng C,Keshab K P.Hardware Efficient Fast Parallel FIR Filter Structures Based on Iterated Short Convolution [J].IEEE Transactions on Circuits and Systems-I:Regular Papers,2004,51(8):1492-1500.
[16]王英喆,王振宇,嚴偉,等.全并行FIR濾波器的FPGA 實現(xiàn)與優(yōu)化[J].電子設計工程,2015,23(22):94-97.
FPGA Implementation of Polyphase Parallel FIR Filter
ZHANG Na1,LI Chun-yi2
(1.The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China;2.Hebei College of Industry and Technology,Shijiazhuang Hebei 050091,China)
Compared with the serial FIR filter,the sample frequency ofL-channel polyphase parallel FIR filter is increased by a factor ofL.The implementation structure of polyphase parallel filter based on polynomial decomposition is simple,with low computation complexity and short delay.The paper summarizes and deduces the optimal structure of polyphase parallel filter from 2 channels to 8 channels.Further,the paper proposes the implementation method of the optimal structure of polyphase parallel filter fit for processing in FPGA.The computer simulation shows the proposed implementation method of polyphase parallel filter is fit for processing in FPGA with high-speed.
FIR filter;polyphase decomposition;FPGA;high-speed
10.3969/j.issn.1003-3114.2017.04.21
張娜,李春祎.多相并行FIR濾波器的FPGA高速實現(xiàn)方法[J].無線電通信技術,2017,43(4):86-90.[ZHANG Na,LI Chunyi.FPGA Implementation of Polyphase Parallel FIR Filter [J].Radio Communications Technology,2017,43(4):86-90.]
2017-03-11
中國電子科技集團公司航天信息應用技術重點實驗室開放基金(EX166290012)
張 娜(1984—),女,碩士,工程師,主要研究方向:衛(wèi)星通信。李春祎(1980—),女,講師,主要研究方向:信號與信息處理。
TN919
A
1003-3114(2017)04-86-5