摘 要: CIC梳狀濾波器具有結構簡單、規整,占用存儲量小,不需要乘法器,實現簡單且速度高等特點,在高速抽取或插值系統應用廣泛。采用DSP Builder軟件工具,在Simulink平臺上構建了一級4階CIC梳狀濾波器仿真模型,通過多種EDA工具仿真與分析,最終在EP2C35F484C8型FPGA得到了最高響應速度為138.89 MHz的高速CIC梳狀濾波器,其性能遠優于DSP通用處理器的實現方式。
關鍵詞: DSP Builder; FPGA; CIC梳狀濾波器; 仿真模型
中圖分類號: TN911?34 文獻標識碼: A 文章編號: 1004?373X(2013)24?0012?03
Design of CIC comb?shaped filter based on DSP Builder
CHEN Zhong?ping1, GAO jin?ding2, QIU Liang?bin2
(1. Hunan Vocational and Technical College, Changsha 410151, China; 2. Hunan International Economics University, Changsha 410205, China)
Abstract: CIC comb?shaped filter is widely used in high?speed extraction or interpolation system due to its characteristics of simple structure, small memory, no multiplier, high speed, etc. A simulation model of four?order CIC comb?shaped filter was established in Simulink platform by means of DSP Builder software. Through a variety of EDA tools’ simulation and analysis, a high?speed CIC comb?shaped filter with highest response velocity of 138.89 MHz was achieved on EP2C35F484C8 FPGAs. Its performance is far better than that of the DSP general?purpose processor. This new design concept has important reference value.
Keywords: DSP Builder; FPGA; CIC comb?shaped filter; simulation model
0 引 言
CIC(Cascade Integrator Comb)濾波器最早由Hogenauer提出,后來出現了很多改進的結構形式[1]。隨著芯片技術的快速發展、多相濾波技術的廣泛應用以及無線通信市場的迅速成長,CIC低通濾波器得到了廣泛的應用。長期以來,CIC梳狀濾波器一般是在通用DSP處理器上實現的,由于DSP處理器的順序執行特性的限制,其速度很難滿足一些高速抽取與插值系統的需要。FPGA具有優良的全硬件并行執行的特性,研究CIC梳狀濾波器的設計及其FPGA實現具有重要的現實意義[2?4]。
本文采用DSP Builder建模的方法,研究一級4階CIC梳狀濾波器及其FPGA實現方法,為CIC梳狀濾波器設計及其FPGA實現的研究提供了一種新的思路。
1 CIC梳狀濾波器原理
CIC濾波器沖激響應如式(1)所示[1]:
[h(n)=1, 0nR-10, else] (1)
式中R為CIC抽取濾波器的階數。其z變換為:
[H(z)=0R-1h(n)z-n=1-z-R1-z-n] (2)
式中:[H1(z)=(1-z-1)-1];[H2(z)=1-z-R]。
單級CIC數字濾波器的結構如圖1所示。
圖1 單級CIC數字濾波器的結構
CIC梳狀濾波器[H1(z)]的頻率響應為:
[H1(z)=11-e-jω=sin(ωN2)sin(ω2) =N?Sa(ωN2)?Sa-1(ω2)] (3)
梳狀濾波器[H2(z)]的頻率響應為:
[H2(ejω)=1-e-jωR] (4)
則CIC濾波器的頻率總響應為:
[H(ejω)=H1(ejω)H2(ejω) =sin(ωR2)sin(ω2)=R?Sa(ωR2)?Sa-1(ω2)] (5)
式中[Sa(x)=sinxx]為抽樣函數,且[Sa(0)=1]。所以,CIC抽取濾波器在[ω]=0處的幅度值為N,即:[H(ej0)=N]。
頻率區間[(0~2πR)]為CIC數字濾波器的主瓣,其他區間稱為其旁瓣。不難看出,隨著信號頻率的增大,CIC數字濾波器的旁瓣電平不斷減小。其中,第一旁瓣電平表達式如式(6)所示:
[H(ejω)ω=1.5?2π=sin(3π2)sin(3π2R)=sin(3π2R)-1] (6)
當[R?1]時,[sin(3π2R)≈3π2R],則第一旁瓣電平可以進一步表示成式(7):
[A1=2R3π] (7)
其與CIC梳狀濾波器的主瓣電平[R]的差值[as]可以表示為:
[as=20lg(RA1)=20lg(3π2)=13.46] (8)
圖2是CIC抽取濾波器的幅頻特性,可見,單級CIC濾波器的旁瓣電平比較大[5?6]。
圖2 CIC抽取濾波器的幅頻特性
2 基于DSP Builder的FPGA開發方法
圖3是利用DSP Builder軟件工具來開發FPGA的基本流程[7]。設計第一步是建模,主要是調用DSP Builder軟件中的元件構建數字系統模型。之后對建立的模型進行仿真測試。
仿真通過之后再運行Signal Compiler信號編譯器將模型轉化成寄存器傳輸級硬件描述語言[8]。然后利用QuartusⅡ軟件進行編譯、邏輯綜合、適配(結構綜合)及時序網表提取等操作,最后生成編程文件和時序網表文件[9]。最終再下載到FPGA/CPLD芯片上進行硬件測試[10]。
圖3 基于DSP Builder的設計方法
3 CIC梳狀濾波器建模
調用DSP Builder工具包中的模塊,構建了CIC濾波器單元結構模型,如圖4所示。CIC梳狀濾波器主要由加減法器和延遲單元組成。
圖4 CIC濾波器的基本單元結構模型
將基本單元模型封裝成一個子系統,構建一級CIC樹狀濾波器仿真模型如圖5所示。濾波器輸入信號由典型的正弦信號疊加白噪聲組成,經一級CIC梳狀濾波器后送示波器輸出結果。
圖5 一級CIC濾波器模型
4 仿真與結果分析
圖6是CIC梳狀濾波器模型仿真結果,其中圖6(上)為梳狀濾波器輸入信號波形,圖6(下)為輸出信號波形。可以看出,經過一級CIC梳狀濾波器后,輸入信號中的高頻噪聲得到了較好的抑制。
圖6 CIC濾波器模型仿真波形
模型仿真通過以后,運行Signal Compiler信號編譯器,將模型轉換成VHDL語言程序,產生測試向量文件,然后用ModelSim進行寄存器傳輸級仿真,仿真結果如圖7所示,可以看出,RTL寄存器傳輸級仿真結果與Matlab中模型仿真結果基本一致,進一步驗證了模型的正確性。
圖7 CIC濾波器RTL仿真結果波形
再調用Quartus Ⅱ進行邏輯綜合與適配,最終在Altera公司Cyclone Ⅱ系列EP2C35F484C8型FPGA上得到了最高響應頻率為138.89 MHz的CIC梳狀濾波器,其性能遠高于采用DSP通用處理器實現的濾波器。
5 結 語
CIC梳狀濾波器的設計及其FPGA實現具有重要的意義。本文采用DSP Builder系統建模的方法研究CIC梳狀濾波器的設計具有重要的參考價值。當然,本文只研究了一級四階CIC梳狀濾波器的性能,在實際應用中,可以根據需要進行二級或者多級級聯,以提高CIC梳狀濾波器的整體性能。
參考文獻
[1] 侯建軍,郭勇.SoPC技術基礎教程[M].北京:清華大學出版社,2008.
[2] GAO Jin?ding. An improved delayed structure of least mean square adaptive filter and its field programmable gate array implementation [J]. ICIC Express Letters, Part B, 2013, 4(1): 69?73.
[3] 高金定.平穩環境下LMS算法優化分析及其FPGA實現[J].壓電與聲光,2013,35(3):445?447.
[4] 高金定.一種改進的延遲型LMS自適應濾波器及其FPGA實現[J].核電子學與探測技術,2012,32(12):1450?1453.
[5] 劉雄飛,高金定,齊海兵.LMS自適應濾波器FPGA實現的新方法[J].壓電與聲光,2007,29(1):87?89.
[6] 高金定,劉音,劉雄飛.基于異步FIFO的高速采樣自適應濾波系統的設計[J].電測與儀表,2007,44(7):60?62.
[7] 陳建忠.基于IP核的FIR低通濾波器的設計與FPGA實現[J].科技信息,2012(4):224?225.
[8] 劉紅梅.自適應噪聲對消濾波器的仿真及其FPGA實現[D].長沙:湖南大學,2012.
[9] 唐佳.自適應濾波算法的分析與FPGA高速實現[D].長沙:中南大學,2010.
[10] 陳忠平,高金定.基于ATmega16與DS18B20的智能溫控系統的設計[J].現代電子技術,2011,34(4):175?177.