陳 鏡,曹芳菊
(1.中國電子科技集團公司第五十四研究所,河北石家莊050081;2.邢臺職業(yè)技術(shù)學院,河北邢臺054035)
隨著IC技術(shù)與工藝技術(shù)水平的提高,集成電路規(guī)模越來越大,復雜程度越來越高,在一個芯片上已經(jīng)可以集成一個獨立的系統(tǒng),完成特定的功能。在片上系統(tǒng)設計(SOC)變得異常復雜的今天,基于IP核的設計已成為EDA發(fā)展的必然趨勢,嵌入式IP核的應用,由于重用設計思想、設計知識,極大地降低了設計成本,縮短了設計周期,成為當今片上系統(tǒng)的重要設計手段。數(shù)字處理系統(tǒng)的開發(fā)包括建立系統(tǒng)模型、設計仿真實現(xiàn)、驗證等,基于FPGA的FIR數(shù)字濾波器系統(tǒng)開發(fā)也不例外。
采用的FPGA是ALTERA公司推出采用90 nm工藝的大容量STRATIXⅡEP2S130。該芯片具有以下特點:
①內(nèi)部集成了多達63個基于乘加運算的數(shù)字信號處理(DSP)功能塊,可配置成252個18×18乘法器,這些功能塊針對高性能DSP應用進行了優(yōu)化,可以在高達450 MHz頻率上運行,結(jié)合ALM和內(nèi)部存儲塊,能夠高效地實現(xiàn)DSP算法;
②內(nèi)部集成了具有TriMatrix存儲結(jié)構(gòu)的嵌入式RAM塊,提供了多達6 MB的RAM,可以方便地配置成不同位寬和容量的RAM、雙口RAM、FIFO等應用,性能可高達370 MHz;
③具有多達12個鎖相環(huán)(PLL)和16個獨立系統(tǒng)時鐘,可以作為中央時鐘管理器滿足復雜系統(tǒng)時序需求,輸出頻率可高達1 GHz以支持高速串行接口應用;
④提供多達1 000個以上的用戶IO,并支持多種IO標準(如LVTTL,1.8VHSTL,LVDS等),可以方便地配置成多種IO標準的高位寬并行接口和高速串行接口,極大豐富了系統(tǒng)的設計應用方法。
除此之外,開發(fā)工具QuartusⅡ提供了豐富的宏庫LPM(參數(shù)化模塊庫)和IP Core,能夠方便地完成設計輸入、綜合、仿真,不但提高了系統(tǒng)集成度,減小了體積和成本,同時加強了設計的靈活性。
在數(shù)字系統(tǒng)中,濾波器常用于剔除噪聲信號或其他無用的交調(diào)信號。和IIR濾波器相比,FIR濾波器具有嚴格線性的相位特性和穩(wěn)定的濾波特性,因此常用于現(xiàn)代數(shù)字信號處理的預處理、頻帶選擇及低通濾波中。FIR IP核可以利用Altera公司提供的QuartusII工具軟件生成相應的VHDL文件及功能仿真模型,且有簡單明了的操作界面。可以利用FIR IP核的濾波器軟件進行濾波器的設計,通過選擇設置濾波器的階數(shù)、采樣速率、帶寬、窗函數(shù)類型等完成濾波器的設計,同時也可以進行變采樣設置。濾波器設計完成后,實現(xiàn)該濾波器所需要的FPGA各種資源數(shù)目就被準確地估算出來了,設計者可以根據(jù)資源情況和具體應用對濾波器實現(xiàn)結(jié)構(gòu)、輸入通道數(shù)、數(shù)據(jù)存儲方式、濾波器系數(shù)存儲方式等進行合理的配置,以達到資源、性能的最佳分配。
FIR數(shù)字濾波器可以滿足濾波器對幅度和相位特性的嚴格要求,避免模擬濾波器溫漂和噪聲等問題,具有精確的線性相位、容易用硬件實現(xiàn)和系統(tǒng)穩(wěn)定等優(yōu)點。因此,FIR數(shù)字濾波器在高保真的信號處理,如電力系統(tǒng)諧波分析、數(shù)字音頻、圖像處理、數(shù)據(jù)傳輸、生物醫(yī)學等領(lǐng)域得到廣泛應用。對于N階FIR濾波器來說,差分方程表達形式為:
這里FIR數(shù)字濾波器模型的建立指的是確定FIR濾波器的抽頭系數(shù)h(k)。
某項目中需要實現(xiàn)對128通道的數(shù)據(jù)進行數(shù)字濾波,每一路采樣率為6.2 MHz,信號帶寬為3~20 kHz,60 kHz~2 MHz內(nèi)存在交調(diào)信號和雜散信號,要求在濾除雜散和交調(diào)信號的同時完成采樣率的轉(zhuǎn)換,并將濾波后的采樣率變?yōu)?0 kHz。
由于采樣率需要從6.2 MHz變換到50 kHz,其抽取因子D=124,抽取因子較大,這時抽取器處理有一個重要的特性,即通過多級抽取,可以大大地節(jié)省計算量。在本設計中,采用2級濾波抽取,即D1和D2的乘積是所希望的抽取因子,也即D1×D2=D。給定總的抽取因子D以后,D1的合理取值為:
式中,D1,opt為D1的最佳值;F為最后的過渡區(qū)寬度除以截至頻率,依據(jù)所確定的D1,opt可以求出第3個抽取因子為:
經(jīng)過計算和仿真,本設計中將D1選為31,D2選為4。
由于共需處理128路的數(shù)據(jù),每路采樣率為6.2 MHz,設計當中采用濾波器復用方法,每32路數(shù)據(jù)復用第1級濾波器,處理128路數(shù)據(jù)共需要第1級濾波器4個,濾波器工作速率為6.2 MHz×32=198.4MHz。第 1級濾波完成后,數(shù)據(jù)率降為6.2 MHz/31=200 kHz,在第2級濾波器中可以利用一個濾波器復用方式處理所有的128路數(shù)據(jù),第2級濾波器的工作速率為200 kHz×128=25.6 MHz。整個的抽取濾波處理原理框圖如圖1所示。
圖1 抽取濾波處理原理
根據(jù)項目要求,濾波器1采用hann窗函數(shù)形式,設計參數(shù)為:采樣頻率fs=6.2 MHz;截止頻率fc=50 kHz。
利用FDATool得到的符合設計要求的濾波器是直接I型120階對稱系數(shù)的FIR數(shù)字濾波器。濾波器抽頭系數(shù)保存為fir.coe文件。
濾波器系數(shù)如下:
h[0]=h[119]=-0.000001594368138,
h[1]=h[118]=-0.000005646850581,
h[2]=h[117]=-0.000010953703359,
……
h[60]=0.019354838709677。
為了驗證濾波器的濾波特性,對濾波器進行了仿真。在Simulink環(huán)境下將濾波器文件導入Digital Filter Design模塊,輸入含有混合頻譜分量的激勵信號s(t),分別察看s(t)和濾波后信號s′(t)的時域波形和頻譜。s(t)的數(shù)學形式如式(4)。濾波前后的時域波形對比圖如圖2所示,濾波前后的頻譜對比圖如圖3所示。由圖3可以看出,s′(t)波形相比s(t),s′(t)波形含有較少的高頻成份。由圖3可以看出,高于20 kHz的頻率分量開始得到抑制,60 kHz以上的頻率分量被完全阻斷,此濾波器滿足設計要求。
圖2 濾波前、后波形
圖3 濾波前、后頻譜
類似地,濾波器2采用80階帶通濾波器,濾波器2的設計和仿真可以通過同樣的方法進行,在此不再贅述。
利用Altera公司提供的FIR IP核的濾波器軟件可以方便地進行多通道濾波器復用配置,通過選擇設置濾波器的階數(shù)、采樣速率、帶寬、窗函數(shù)類型、復用通道數(shù)等完成濾波器的設計,同時也可以進行變采樣設置。設計者可以根據(jù)資源情況和具體應用對濾波器實現(xiàn)結(jié)構(gòu)進行合理的配置,以達到資源、性能的最佳分配。
第1級濾波器的各主要參數(shù)設置如下:
濾波器類型:低通;
階數(shù):120階;
采樣頻率:6.2 MHz;
截止頻率:50 kHz;
窗函數(shù)類型:漢寧窗;
抽取因子:31;
輸入通道數(shù):32路。
第2級濾波器選用漢寧窗類型的帶通濾波器,其各主要參數(shù)設置如下:
濾波器類型:帶通;
階數(shù):80階;
窗函數(shù)類型:漢寧窗;
采樣頻率:200 kHz;
截止頻率1:1.6 kHz;
截止頻率2:22 kHz;
抽取因子:4;
輸入通道數(shù):128路;
根據(jù)FIRCompiler軟件的實時顯示,第1級濾波器所占的資源為:邏輯單元655個,M4K存儲單元32個。第 2級濾波器所占的資源為:邏輯單元2 507個,0M4K存儲單元88個。
因為第1級濾波器和第2級濾波器的實現(xiàn)方式類似,在此僅以第1個濾波器為例說明具體的實現(xiàn)方式。第1級濾波器的實現(xiàn)原理圖如圖4所示,圖中,濾波模塊為采用FIRCompiler IP核例化生成的抽取濾波模塊,控制模塊為第1級濾波器的控制模塊,控制模塊接收32路的數(shù)據(jù),即共512位的數(shù)據(jù),形成濾波模塊所需要的輸入時序,其中sink-sop信號為數(shù)據(jù)起始幀標志,sink-eop信號為數(shù)據(jù)結(jié)束幀標志,sel[15..0]為當前輸入到濾波模塊的有效數(shù)據(jù),對于第1級濾波器,因為復用通道數(shù)為32路,sinksop信號和sink-eop信號之間共有32個有效數(shù)據(jù),每一路數(shù)據(jù)在sink-sop信號和sink-eop信號之間有一個數(shù)據(jù)輸入到濾波模塊。而第1級濾波器的輸出時序與輸入時序相仿,且有通道標志信號out-chn[4..0]信號輸出。
圖4 第1級濾波器實現(xiàn)原理
采用的FPGA是ALTERA公司推出采用90nm工藝的大容量STRATIXⅡEP2S130。在Quartus II軟件中經(jīng)過最終的編譯后,整個設計占用邏輯資源數(shù)43%,占用存儲器資源數(shù)為36%,經(jīng)過測試和試驗驗證,該設計完成了預計的功能,性能穩(wěn)定可靠。
應用FIR IP核來設計FIR濾波器,由于重用設計思想、設計知識,極大地降低了設計成本,縮短了設計周期,成為當今數(shù)字濾波器設計的主要設計手段。FIR IP核中具有多路復用和采樣率轉(zhuǎn)換等功能,可以完成多通道、變采樣率的復雜設計,介紹的抽取濾波器復用設計就是基于該IP核提供的功能,并通過合理的資源分配和參數(shù)設計,完成了128路信號的濾波及抽取,實現(xiàn)了濾波器多路復用和抽取算法設計。提到的關(guān)于多路復用和抽取算法的實現(xiàn)方法對相關(guān)的濾波器設計實現(xiàn)具有參考借鑒價值。
[1]步衍冰,曾興雯,梁敏超.基于FPGA的快速匹配濾波器[J].無線電工程,2003,6(33):31-32.
[2]LYONS R G.數(shù)字信號處理[M].朱光明,譯.北京:機械工業(yè)出版社,2006.
[3]任愛鋒.基于FPGA的嵌入式系統(tǒng)設計[M].西安:西安電子科技大學出版社,2004.