謝海霞 趙欣



摘 要: 為了解決以往設計的CIC抽取濾波器存在的數據速率高以及功耗高的問題,研究了改進型CIC抽取濾波器的FPGA實現過程,優化CIC抽取濾波器硬件實現結構,采用FPGA實現抽取濾波器的設計。分析CIC抽取濾波器的硬件實現結構和位寬,通過Hogenauer抽取濾波器結構,得到6級16抽取的CIC硬件實現結構,將該結構變換成4個CIC抽取濾波器的級聯式FPGA實現,逐級降低數據速率,提升數據位寬。以FPGA實現CIC抽取濾波器過程中,分析了其運算時寄存器所需的最高位寬,避免產生數據溢出問題。實驗結果表明,所設計的改進型CIC抽取濾波器是有效的,可降低數據速率和系統功耗。
關鍵詞: Hogenauer; CIC抽取濾波器; 數據速率; FPGA
中圖分類號: TN713?34; TP368.1 文獻標識碼: A 文章編號: 1004?373X(2017)16?0148?03
Abstract: In order to reduce the data rate and power consumption of the previously?designed CIC decimation filter, the FPGA?based realization process of the improved CIC decimation filter is studied, the hardware implementation structure of the CIC decimation filter is optimized, and FPGA is used to design the decimation filter. The hardware implementation structure and bit wide of CIC decimation filter are analyzed. The filter structure is decimated through Hogenauer to get the CIC hardware implementation structure whose decimation rate is 16 and decimation degree is 6. The structure is transformed into four cascaded CIC decimation filters implemented with FPGA, which can reduce the data rate and improve the data bit wide. In the implementation process of CIC decimation filter with FPGA, the highest bit wide required by the register while it is operating is analyzed to avoid the data overflow problem. The experimental result shows that the modified CIC decimation filter is effective, and can reduce the data rate and system power consumption.
Keywords: Hogenauer; CIC decimation filter; data rate; FPGA
0 引 言
地震檢波器是地震數據采集系統的核心部件,其可檢測到微弱信號,具有較高的探測性能。地震檢波器的關鍵部件是抽取濾波器芯片,芯片可對前端伺服電路調制形成的高速低位數據流實施數據濾波處理,將高速率的低位數據流變換成低速率的高位數據流,完成噪聲的限制以及數據的準確采集[1]。CIC(Cascaded Integrator Comb)抽取濾波器是無線通信中的常用模塊,其可運行在高采樣頻率環境中,實現去噪、降采樣以及避免混疊等功能。而以往設計的CIC抽取濾波器存在的數據速率高以及功耗高的問題[2],因此,研究改進型CIC抽取濾波器的FPGA實現具有重要意義。
1 改進型CIC抽取濾波器的FPGA實現
1.1 CIC抽取濾波器的硬件實現結構和位寬分析
設置CIC抽取濾波器的抽取率是M,級數是N,CIC抽取濾波器的系統函數為:
[H(z)=1-z-N1-z-1N] (1)
設置N=3,基于上述能夠獲取CIC抽取濾波器的實現結構,如圖1所示。按照易位定理再次排列圖1描述的結構,獲取圖2所示的結構。依據Nobel恒等式原理,可對CIC抽取器的先后位置進行排序,確保采用最簡單的方式完成系統。若線性系統[F(zN)]后面級聯著M倍抽取器,則有:
對CIC抽取濾波器進行優化時,應分析其運算時的位寬問題,避免形成數據溢出問題。從圖3能夠看出CIC的前級是級聯的積分器,按照數字濾波器原理可得,極點不再單位圓內的濾波器是不穩定的。CIC抽取濾波器結構中存在零/極點互相抵消現象[4],說明其是FIR濾波器,是一個因果系統。若獲取濾波器輸出數據的位寬[5],則濾波器運算時中間寄存器都使用該位寬,可彌補出現有價值數據溢出的問題。
CIC抽取濾波器僅能進行加法運算,兩個相同位寬的補碼數據融合,輸出結果位寬加1,則CIC抽取濾波器的輸出位寬運算公式是:
式中:[Wo]是CIC抽取濾波器的輸出位寬;[Win]是輸入位寬;M是CIC抽取濾波器的抽取率;N是其級數。
1.2 CIC抽取濾波器FPGA實現結構優化
設計的CIC抽取濾波器的抽取率M=16,級數N=6,其系統函數是:endprint
通過Hogenauer抽取濾波器結構,獲取6級16抽取的CIC硬件實現結構,如圖4所示。
CIC抽取濾波器和sigma?delta調制器級聯后,調制器的輸出數據位寬是1 b,此時CIC抽取濾波器的輸入數據位寬按照2 b運算[6],則有[Win=2],則依據式(3)可獲取CIC抽取濾波器的輸出位寬是26 b。因此,濾波運算時的中間級寄存器的位寬應為26 b,濾波器的輸入數據速率是128 kHz,濾波運算的操作頻率為8 kHz。采用該結構FPGA實現[7],使得長字節在高速率下運行,極大地提升了系統的功耗。
為了降低CIC抽取濾波器的功耗,需要對圖4結構實施改進,將6級16抽取CIC抽取濾波器系統描述成:
基于式(7)能夠得出,將6級16抽取CIC抽取濾波器變換成4個CIC抽取濾波器的級聯實現[8],該4個CIC抽取濾波器的級數都是6,抽取率是2。改進后的CIC抽取濾波器的FPGA實現結構如圖5所示。圖5描述了各濾波器的輸出速率以及位寬情況。
分析圖5可得,CIC抽取濾波器級聯式FPGA實現后,能夠逐級降低數據速率,逐級提升數據位以寬到26 b。首個級CIC1內,其濾波運算操作頻率是128 kHz,中間級寄存器位寬為8 b,末級CIC4內的中間級寄存器的位寬是26 b,但是其濾波運算處理頻率是16 kHz,使得長字節運行在低速率狀態下,極大降低了系統的能耗。
2 抽取濾波器的仿真與板級調試結果
2.1 Modelsim仿真結果
Modelsim是一種FPGA仿真軟件,其線編寫檢測文件為testbendi,可向總體濾波器系統提供一個時鐘。Sigma?deha調制模塊調制125 Hz抽取濾波器檢測信號和500 Hz合成的正弦波信號,獲取輸出功率是128 kHz的bit數據流,該數據流是抽取濾波器的輸入端[9]。CIC抽取濾波器通過Modelsim仿真后,得到的仿真結果如圖6所示。
圖6描述的是CIC抽取濾波器輸出數據的模擬格式顯示,從圖中能夠看出CIC抽取濾波器降低了數據速率,輸出中仍然包含兩個頻率成分的正弦波,說明本文設計的抽取濾波器在結構設計以及功能上的準確性。
2.2 板級調試結果
將設計的改進型CIC抽取濾波器的程序下載到開發板上運行后,通過FPGA片上調控工具SignalTap Ⅱ采集各級CIC抽取濾波器的輸出,對檢測電路實施編譯,下載到cy?clone系列EP1C12Q240C8器件后,對改進型CIC濾波器的FPGA實施板級調試,通過Matlab讀出數據并實時處理,獲取的實時波形如圖7所示。
分析圖7中的檢測結果可得,數字正弦信號X通過4個6級CIC抽取濾波器的2倍抽取后,采樣率降低,波形粗糙。說明本文設計的改進型CIC抽取濾波器能降低采樣率、抑制噪聲,完成數據濾波操作。
2.3 資源和功耗檢測結果
實驗為了對CIC抽取濾波器的電路實施對比,通過Design compiler對常規結構CIC抽取濾波器和本文濾波器的資源以及功耗進行檢測,結果如表1所示。從表1能夠看出,相對于常規結構的抽取濾波器,本文設計的抽取濾波器的功耗更低。
表1 不同抽取濾波器的資源和功耗檢測結果
3 結 論
本文研究了改進型CIC抽取濾波器的FPGA實現過程,對CIC抽取濾波器硬件實現結構進行了優化,采用FPGA實現了抽取濾波器的設計。
參考文獻
[1] 王大偉,賈榮叢,王劃一.基于Matlab的巴特沃斯濾波器設計[J].現代電子技術,2012,35(21):71?72.
[2] 徐遠澤,戴立新,高曉蓉,等.FIR濾波器的FPGA實現方法[J].現代電子技術,2010,33(22):64?67.
[3] 李飛,馮曉東,李華會.可變帶寬數字下變頻的設計與FPGA實現[J].電子技術應用,2016,42(4):35?38.
[4] 趙林軍.根升余弦脈沖成形濾波器FPGA實現[J].現代電子技術,2011,34(1):23?25.
[5] 黃猛,唐琳,甄玉,等.基于自適應遺傳算法FIR數字濾波器優化設計[J].現代電子技術,2010,33(2):143?146.
[6] 聶偉,王天明,邱蓉.改進的時鐘偏斜誤差校正方法的FPGA實現[J].微型機與應用,2016,35(7):83?86.
[7] 李峰.一種基于寬帶信號的抽取濾波器設計[J].艦船電子對抗,2015,38(2):93?96.
[8] 鄒興宇,程樹英.優化FIR數字濾波器的FPGA實現[J].現代電子技術,2011,34(6):151?153.
[9] 孫晨,趙毅強,劉強,等.寬帶通信芯片中級聯積分梳狀插值濾波器的優化設計[J].計算機工程,2015,41(8):252?255.
[10] 楊曉晗,李彬華,丁旭.基于FPGA的光柵信號FIR濾波器實現[J].化工自動化及儀表,2016,43(3):272?276.endprint