專利名稱:高速數(shù)字fir濾波器及其實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字濾波器,尤其涉及一種在FPGA中利用其內(nèi)部集成的專用數(shù) 字信號處理模塊和專用存儲器模塊實現(xiàn)的高速數(shù)字FIR濾波器及其實現(xiàn)方法。
背景技術(shù):
在數(shù)字信號處理中,經(jīng)常使用數(shù)字FIR濾波器對輸入信號進行濾波以獲取高質(zhì)量 的信號。實現(xiàn)上述濾波功能的技術(shù)手段之一,是利用FPGA實現(xiàn)數(shù)字FIR濾波器。目前,針 對數(shù)字信號處理應(yīng)用的FPGA器件在其內(nèi)部集成了專用數(shù)字信號處理模塊,可以工作在非 常高的時鐘頻率上。例如,ALTERA公司的STRATIX II系列FPGA中提供了多個被稱為DSP block的專用數(shù)字信號處理模塊,一個DSP block可以配置成一個ISbit位寬輸入4抽頭的 FIR濾波器,其內(nèi)部功能結(jié)構(gòu)如圖1所示。DSP block的輸出端可通過專用的高速連接線路 連接至相鄰的DSP block。由于DSP block是使用專門電路設(shè)計實現(xiàn)的,工作頻率最高可 達(dá)400MHz以上,其工作頻率遠(yuǎn)高于使用FPGA內(nèi)部通用邏輯資源實現(xiàn)的同樣功能結(jié)構(gòu)所能 達(dá)到的工作頻率。若將所述DSP block作為FIR濾波器基本單元,通過將多個FIR濾波器基本單元 的數(shù)據(jù)移位輸出端和數(shù)據(jù)移位輸入端依次串連,并將各FIR濾波器基本單元的濾波數(shù)據(jù)輸 出相加,即可實現(xiàn)更多抽頭的數(shù)字FIR濾波器,其結(jié)構(gòu)如圖2所示。在圖2所示的結(jié)構(gòu)中,各FIR濾波器基本單元以及各基本單元之間的連接都是專 用電路實現(xiàn)的,記其最高工作頻率為fsub-filtCT,而連接于FIR濾波器基本單元之后的加法器 樹利用FPGA中通用邏輯資源實現(xiàn),記其最高工作頻率為fadd。因此,圖2所示結(jié)構(gòu)實現(xiàn)的 FIR濾波器的工作頻率由fsub_filtCT* fadd中數(shù)值較小者決定。由于在實際應(yīng)用中通用邏輯 資源實現(xiàn)的加法器樹的工作頻率fadd往往顯著低于fsub_filtCT,因此采用圖2所示結(jié)構(gòu)實現(xiàn)的 FIR濾波器的最高只能工作于通用邏輯資源實現(xiàn)的加法器樹的工作頻率fadd上。這樣,在一 些需要FIR濾波器盡可能高速運行的特殊場合,F(xiàn)PGA中的專用數(shù)字信號處理模塊無法充分 發(fā)揮出其工作效能。
發(fā)明內(nèi)容
為此,本發(fā)明提供了一種利用FPGA實現(xiàn)的高速數(shù)字FIR濾波器。該高速數(shù)字FIR 濾波器使用M個FIR濾波器基本單元,M為大于1的整數(shù),每個FIR濾波器基本單元包括濾 波器系數(shù)輸入端、數(shù)據(jù)移位輸入端、數(shù)據(jù)移位輸出端和濾波數(shù)據(jù)輸出端,并且由FPGA內(nèi)部 專用數(shù)字信號處理模塊實現(xiàn)。在M個FIR濾波器基本單元的每一個之后連接數(shù)據(jù)位寬速率 變換單元,該數(shù)據(jù)位寬速率變換單元由FPGA內(nèi)部集成的專用存儲器模塊實現(xiàn),所述數(shù)據(jù)位 寬速率變換單元將濾波數(shù)據(jù)輸出端的輸出數(shù)據(jù)轉(zhuǎn)換為N路輸出,N為大于1的整數(shù),再將M
個數(shù)據(jù)位寬速率變換單元的每一個中的第Ui = 1,2,......N)路的輸出數(shù)據(jù)使用一個加
法器樹相加,最終得到N路濾波輸出。以這種方式實現(xiàn)的FIR濾波器,可以減少FPGA中以通用邏輯資源實現(xiàn)的加法器樹
3的工作頻率對以專用數(shù)字信號處理模塊實現(xiàn)的FIR濾波器基本單元的工作頻率的影響,即 采用本發(fā)明的方案,在使用FPGA現(xiàn)有資源的情況下,使專用數(shù)字信號處理模塊實現(xiàn)的FIR 濾波器基本單元工作以盡可能高的工作頻率工作。
圖1為FPGA中專用數(shù)字信號處理模塊實現(xiàn)的FIR濾波器基本單元的結(jié)構(gòu)示意圖;圖2為使用FIR濾波器基本單元實現(xiàn)的多抽頭FIR濾波器結(jié)構(gòu)示意圖;圖3為插入數(shù)據(jù)位寬速率變換單元實現(xiàn)的多抽頭的高速FIR濾波器結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合附圖對本發(fā)明作進一步的詳細(xì)說明。圖1是FPGA中由專用數(shù)字信號處理模塊實現(xiàn)的FIR濾波器基本單元的結(jié)構(gòu)示意 圖。該FIR濾波器基本單元包括濾波器系數(shù)輸入端、數(shù)據(jù)移位輸入端、數(shù)據(jù)移位輸出端和濾 波數(shù)據(jù)輸出端。四個濾波器系數(shù)0-3分別作為四個乘法器的一個輸入數(shù)據(jù)端,待濾波信號 由數(shù)據(jù)移位輸入端接入,經(jīng)過移位寄存器鏈依次作為四個乘法的另一個輸入數(shù)據(jù)端,并通 過數(shù)據(jù)移位輸出端輸出。四個乘法器的輸出端經(jīng)過兩級加法器樹求和,最終得到濾波數(shù)據(jù) 輸出。FIR濾波器基本單元實現(xiàn)的是一個4抽頭的FIR濾波器。由于其采用專用數(shù)字信號 處理模塊實現(xiàn),因此可以以很高的頻率工作。圖2現(xiàn)有技術(shù)中是以圖1的FIR濾波器基本單元為基礎(chǔ)實現(xiàn)的多抽頭濾波器。依 次將一個FIR濾波器基本單元的數(shù)據(jù)移位輸出端與另一個FIR濾波器基本單元的數(shù)據(jù)移位 輸入端相連以實現(xiàn)更長的移位寄存器鏈,并使用加法器樹將各FIR濾波器基本單元的濾波 數(shù)據(jù)輸出相加,最終得到濾波數(shù)據(jù)輸出,以此方式可以實現(xiàn)多抽頭的FIR濾波器。在各FIR 濾波器基本單元之后直接接加法器樹,加法器樹利用FPGA內(nèi)部通用邏輯資源實現(xiàn),其最大 工作頻率顯著低于使用專用數(shù)字信號處理模塊實現(xiàn)的FIR濾波器基本單元的最大工作頻 率,并且濾波器抽頭越多,加法器樹消耗的邏輯資源越多,相應(yīng)的最大工作頻率隨之降低。 因此在此結(jié)構(gòu)中,濾波器可處理的數(shù)據(jù)輸入速率受限于加法器樹的最大工作頻率,專用乘 法器電路不能充分發(fā)揮其效能。針對數(shù)字信號處理應(yīng)用的FPGA中,除了提供專用數(shù)字信號處理模塊以及通用邏 輯資源外,同時還提供具有多種工作模式的專用存儲器單元,這些專用存儲器單元同樣可 工作在很高的頻率上,除了用于數(shù)據(jù)的存儲外,也經(jīng)常用于數(shù)據(jù)的位寬與速率的變換。因此,本發(fā)明提出了一種在FPGA中利用其內(nèi)部集成的專用數(shù)字信號處理模塊和 專用存儲器模塊實現(xiàn)的多抽頭FIR濾波器及其實現(xiàn)方法,如圖3所示。該高速數(shù)字FIR濾波器使用M個FIR濾波器基本單元,在每個FIR濾波器基本單 元的濾波數(shù)據(jù)輸出端后,插入一個利用FPGA的專用存儲器模塊實現(xiàn)的數(shù)據(jù)位寬速率變換 單元,所述數(shù)據(jù)位寬速率變換單元用于將輸入數(shù)據(jù)轉(zhuǎn)換為N路并行輸出,并行輸出的各路 輸出數(shù)據(jù)速率則變?yōu)檩斎霐?shù)據(jù)速率的1/N,其中N為大于1的整數(shù)。將M個數(shù)據(jù)位寬速率變
換單元的每一個中的第i路的輸出數(shù)據(jù),i = 1,2,......N,使用一個加法器樹相加,最終得
到該高速數(shù)字FIR濾波器的N路濾波輸出。數(shù)據(jù)位寬速率變換單元以專用存儲器模塊實現(xiàn),記其輸入端最高工作頻率為fconverter ;各FIR濾波器基本單元以及各基本單元之間的連接都是專用電路實現(xiàn)的,記其最 高工作頻率為fsub_filter ;連接于FIR濾波器基本單元之后的加法器樹使用FPGA中通用邏 輯資源實現(xiàn),記其最高工作頻率為fadd。此時,高速數(shù)字FIR濾波器的工作頻率為 f sub filter、f converter 以及N*fadd之中較小者。實際應(yīng)用中f。。nvCTtCT在數(shù)值上與fsub_filtCT相當(dāng)甚 至高于f sub-filter ‘而.fconverter 與fSUb-mter顯著高于fadd,因此fmtCT顯著高于fadd。當(dāng)FIR濾波 器基本單元和數(shù)據(jù)位寬速率變換單元輸入端均工作于ffiltCT時,對加法器樹的最高工作頻 率要求降低為ffiltCT/N。根據(jù)需要選擇合適的N,就可以在僅利用FPGA提供的資源,使FIR 濾波器最高工作頻率接近fsub_mtCT,實現(xiàn)工作頻率的提高。 在具體實現(xiàn)時,例如可以采用Altera公司的STRATIX II系列FPGA芯片,例如 EP2S130F1020I4。
權(quán)利要求
一種FPGA實現(xiàn)的高速數(shù)字FIR濾波器,其包括M個FIR濾波器基本單元,其中M為大于1的整數(shù),每個FIR濾波器基本單元包括濾波器系數(shù)輸入端、數(shù)據(jù)移位輸入端、數(shù)據(jù)移位輸出端和濾波數(shù)據(jù)輸出端,并且由FPGA內(nèi)部專用數(shù)字信號處理模塊實現(xiàn);數(shù)據(jù)位寬速率變換單元,其連接于M個FIR濾波器基本單元的每一個之后,該數(shù)據(jù)位寬速率變換單元由FPGA中的專用存儲器模塊實現(xiàn),所述數(shù)據(jù)位寬速率變換單元將濾波數(shù)據(jù)輸出端的輸出數(shù)據(jù)轉(zhuǎn)換為N路同時輸出,N為大于1的整數(shù);N個加法器樹,將M個數(shù)據(jù)位寬速率變換單元的每一個中的第i路的輸出數(shù)據(jù),i=1,2,......N,使用一個加法器樹相加,最終得到該高速數(shù)字FIR濾波器的N路濾波輸出。
2.如權(quán)利要求1所述的高速數(shù)字FIR濾波器,其特征在于FPGA采用Altera公司的 STRATIX II系列芯片。
3.一種利用FPGA實現(xiàn)高速數(shù)字FIR濾波器的方法,包括如下步驟將M個FIR濾波器基本單元相連,其中M為大于1的整數(shù),每個FIR濾波器基本單元包 括濾波器系數(shù)輸入端、數(shù)據(jù)移位輸入端、數(shù)據(jù)移位輸出端和濾波數(shù)據(jù)輸出端,并由FPGA內(nèi) 部專用數(shù)字信號處理模塊實現(xiàn),相連指的是將M個FIR濾波器基本單元的數(shù)據(jù)移位輸出端 和數(shù)據(jù)移位輸入端依次串連;在M個FIR濾波器基本單元的每一個之后連接數(shù)據(jù)位寬速率變換單元,其中該數(shù)據(jù)位 寬速率變換單元由FPGA中的專用存儲器模塊實現(xiàn),所述數(shù)據(jù)位寬速率變換單元將濾波數(shù) 據(jù)輸出端的輸出數(shù)據(jù)轉(zhuǎn)換為N路同時輸出,N為大于1的整數(shù);將M個數(shù)據(jù)位寬速率變換單元的每一個中的第i路的輸出數(shù)據(jù),i = 1,2,......N,使用一個加法器樹相加,最終得到該高速數(shù)字FIR濾波器的N路濾波輸出。
4.如權(quán)利要求3所述的方法,其特征在于FPGA采用Altera公司的STRATIXII系列芯片。
全文摘要
本發(fā)明公開了一種高速數(shù)字FIR濾波器,其使用M個FIR濾波器基本單元,M為大于1的整數(shù),在M個FIR濾波器基本單元的每一個之后連接數(shù)據(jù)位寬速率變換單元,該數(shù)據(jù)位寬速率變換單元由FPGA內(nèi)部集成的專用存儲器模塊實現(xiàn),所述數(shù)據(jù)位寬速率變換單元將FIR濾波器基本單元的輸出數(shù)據(jù)轉(zhuǎn)換為N路同時輸出,N為大于1的整數(shù),再將M個數(shù)據(jù)位寬速率變換單元的每一個中的第i(i=1,2,......N)路的輸出數(shù)據(jù)使用加法器樹相加得到N路濾波輸出。以這種方式實現(xiàn)的FIR濾波器,可以減少FPGA中以通用邏輯資源實現(xiàn)的加法器樹的工作頻率對專用數(shù)字信號處理模塊實現(xiàn)的FIR濾波器基本單元的工作頻率的影響,即在使用FPGA現(xiàn)有資源的情況下,仍能使專用數(shù)字信號處理模塊實現(xiàn)的FIR濾波器基本單元以盡可能高的工作頻率工作。
文檔編號H03H17/02GK101964644SQ20101029718
公開日2011年2月2日 申請日期2010年9月30日 優(yōu)先權(quán)日2010年9月30日
發(fā)明者洪韜, 王振榮, 田進軍, 薛明華, 趙京城 申請人:北京航空航天大學(xué)