文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2015)06-0042-03
0 引言
有限沖激響應(yīng)(FIR)數(shù)字濾波器系數(shù)敏感度低,,能保證絕對穩(wěn)定和線性相位,,因此在集成電路設(shè)計中應(yīng)用廣泛,。當(dāng)把設(shè)計好的數(shù)字濾波器由專用集成電路(Application Specific Integrated Circuit,ASIC)或可編程集成電路(Field Programmable Gate Array,,FPGA)實現(xiàn)時,,輸入與常系數(shù)之間的乘法可以通過加法器和移位操作來實現(xiàn)[1]。外推沖激響應(yīng)FIR濾波器利用沖激響應(yīng)的準(zhǔn)周期特性來近似濾波器系數(shù),,并通過殘余補(bǔ)償完美重建原系數(shù),,進(jìn)一步與子項空間技術(shù)結(jié)合,有效減少濾波器實現(xiàn)時加法器的個數(shù),,從而降低復(fù)雜度,,節(jié)省硬件實現(xiàn)成本。
1 帶殘余補(bǔ)償?shù)耐馔茮_激響應(yīng)FIR濾波器
一個典型線性相位FIR濾波器的沖激響應(yīng)具有準(zhǔn)周期(quasi-periodic)特性,,如圖1所示,。其主要特點(diǎn)表現(xiàn)為:能量主要集中在主瓣(center lobe),而旁瓣(side lobes)的能量逐漸降低(lobe0~lobe2),。假定每個旁瓣具有相同數(shù)量的采樣點(diǎn),,且選擇幅度最小的旁瓣lobe2作為原型瓣(prototype lobe),則外推沖激響應(yīng)濾波器的基本思想就是利用原型瓣近似得到其他旁瓣[2-4],。
一個2N階零相位FIR濾波器的傳輸函數(shù)可寫為:
假設(shè)外推沖激響應(yīng)濾波器有L個旁瓣,,且每個旁瓣長度為d,則式(1)可重新表示為:
外推沖激響應(yīng)濾波器在設(shè)計時只需考慮未參與外推的系數(shù)h(0)~h(M)和h(M+Ld+1)~h(N),、原型瓣的系數(shù)h(M+(L-1)d+1)~h(M+Ld)以及尺度因子α0~αL-1,,因此乘法計算復(fù)雜度與直接實現(xiàn)相比大大降低,但對于相同的性能要求,,外推沖激響應(yīng)濾波器需要更高的階數(shù)[2-4],。這主要是由于外推降低了濾波器系數(shù)的自由度,外推出的系數(shù)僅僅是最優(yōu)值的近似,,因此為了滿足給定的性能要求,,只能提高階數(shù)。為了解決這個問題,,可以將系數(shù)外推近似產(chǎn)生的誤差補(bǔ)償回去,,從而在不增加濾波器階數(shù)的情況下滿足性能要求,這種方法稱為殘余補(bǔ)償(residual compensation),。
假設(shè)一個2N=18階的線性相位FIR濾波器,,選取系數(shù)h(5)~h(7)為原型瓣,旁瓣系數(shù)h(2)~h(4)通過原型瓣外推得到,,尺度因子為α0,,hr(2)~hr(4)為外推近似過程中產(chǎn)生的誤差,作為殘余補(bǔ)償回去,實現(xiàn)結(jié)構(gòu)如圖2所示,。
因此,,帶殘余補(bǔ)償?shù)耐馔茮_激響應(yīng)濾波器傳輸函數(shù)可寫為:
對圖2結(jié)構(gòu)需要做幾點(diǎn)說明:
(1)圖2為尾系數(shù)(h(8)~h(9))不參與外推的結(jié)構(gòu),如果尾系數(shù)也參與外推,,具體結(jié)構(gòu)會有所差異[4],;
(2)式(4)對應(yīng)的參數(shù):N=9,M=1,,L=2,,d=3;
(3)較直接實現(xiàn)多出了兩個延時鏈(Extra Delay Chains),,延時鏈的長度等于瓣的長度d,,這里為3。延時鏈?zhǔn)沟每傃訒r單元數(shù)量比直接實現(xiàn)多出2(d-1)個,,會增加一定的硬件消耗,;
(4)雖然參數(shù)數(shù)量沒有減少(h(0),h(1),,hr(2),,hr(3),hr(4),,h(5),,h(6),h(7),,h(8),,h(9),仍然為10個),,但外推使得系數(shù)取值范圍大大降低,,優(yōu)化設(shè)計時加法器的個數(shù)和位數(shù)都會減少[4],從而降低硬件成本,。
2 子項共享技術(shù)
圖2中輸入信號與濾波器的各個常系數(shù)h(0),,h(1),hr(2),,hr(3),hr(4),,h(5),,h(6),h(7),,h(8),,h(9)相乘屬于多常數(shù)乘法(Multiple Constants Multiplication,MCM)問題,可以通過加法器和移位操作來實現(xiàn),。子項空間技術(shù)可以有效降低MCM問題中加法器的個數(shù),,從而降低FIR濾波器的實現(xiàn)復(fù)雜度[5]。
一個離散子項空間中的元素可以通過下式構(gòu)建[5]:
其中S是一組子項基,,簡稱基組,。式(5)中y(i)2q(i)是某個子項基的移位,稱為一個子項,,K定義為子項的個數(shù),。例如S可以寫為:{0,±1,,±3,,±5},有時也簡寫為:{3,,5},。在構(gòu)建一個子項基時需要的加法器個數(shù)稱為這個子項基的階數(shù),顯然S的階數(shù)為2,。
如果某個變量與多個常數(shù)相乘,,則用來實現(xiàn)公共子項的加法器都可以共享,從而達(dá)到減少加法器個數(shù)的目的,。以兩個系數(shù)為例,,如圖3所示,子項共享比直接實現(xiàn)節(jié)省一個加法器,。因此,,合理利用子項共享,可以有效降低數(shù)字濾波器的硬件消耗[5],。
3 硬件實現(xiàn)結(jié)構(gòu)
下面舉例說明外推補(bǔ)償FIR濾波器的一般結(jié)構(gòu)框圖,。以16階的濾波器為例,假設(shè)h(1)~h(6)包含三個具有準(zhǔn)周期性的旁瓣,。選擇系數(shù)幅度最小的瓣h(5)~h(6)作為原型瓣,,并假設(shè)h(1)~h(2)旁瓣的尺度因子為α0,h(3)~h(4)旁瓣的尺度因子為α1,,則外推補(bǔ)償FIR濾波器的實現(xiàn)結(jié)構(gòu)如圖4所示,。
具體實現(xiàn)方法說明如下:
(1)式(4)對應(yīng)的參數(shù):N=8,M=0,,L=3,,d=2。
(2)系數(shù)與輸入x(n)乘法的實現(xiàn):如前所述,,屬于多常數(shù)乘法問題,,多常數(shù)為:h(0),hr(1),hr(2),,hr(3),,hr(4),h(5),,h(6),,h(7),h(8),,可以采用子項共享技術(shù)來減少加法器的個數(shù),。
(3)各尺度因子乘法的實現(xiàn):也屬于常數(shù)乘法問題,但不能與上述系數(shù)進(jìn)行子項共享,,只能在尺度因子之間進(jìn)行共享,。
(4)系數(shù)的正負(fù)問題:在實現(xiàn)過程中全部采用補(bǔ)碼加法運(yùn)算。
4 綜合結(jié)果
本節(jié)將以文獻(xiàn)[4]中120階的高通濾波器L1為例,,基于帶殘余補(bǔ)償?shù)耐馔茮_激響應(yīng)技術(shù),,采用Verilog HDL進(jìn)行濾波器的RTL級描,并用不同的工具分別在ASIC和FPGA上進(jìn)行綜合比較,。L1濾波器的通帶邊界頻率為0.8π,,阻帶邊界頻率為0.74π,通帶波動小于0.005 7,,阻帶波動小于0.000 1,。具體系數(shù)參閱文獻(xiàn)[4]中的表5。
選擇h(37)~h(45)作為原型瓣,,h(1)~h(9),,h(10)~h(18),h(18)~h(27),,h(28)~h(36)通過原型瓣外推得到,,尺度因子分別為16,-8,,4,,-2。與輸入的多常數(shù)乘法系數(shù)為:h(0),,hr(1)~hr(36),,h(37)~h(60),比原系數(shù)h(0)~h(60)的取值范圍要小很多,,因此可以有效減少加法器的個數(shù)[4],。對應(yīng)子項共享的基組為:{3,5,,7,9,13,,15,,19,23,,25,,29,33,,41,,63,73,,89,,111,135,,145,,157,171,,177,,197},具體實現(xiàn)結(jié)構(gòu)可以通過圖4進(jìn)行擴(kuò)展,,式(4)對應(yīng)的參數(shù):N=60,,M=0,L=5,,d=9,。
這里采用三種不同的實現(xiàn)方法進(jìn)行比較:
(1)直接實現(xiàn),即輸入與濾波器系數(shù)h(0)~h(60)直接相乘實現(xiàn),;
(2)子項共享實現(xiàn),,即在系數(shù)h(0)~h(60)之間進(jìn)行優(yōu)化和子項共享實現(xiàn),共需要164個加法器[5],;
(3)外推補(bǔ)償+子項共享實現(xiàn),,簡稱外推共享,共需要150個加法器[4],。
ASIC硬件資源的消耗可以通過設(shè)置某個約束條件后綜合的面積來衡量[6],。選擇55 nm的CMOS工藝進(jìn)行綜合,時序約束條件分別設(shè)置為100 MHz,、200 MHz,。綜合結(jié)果見表1。
從表1可以看出,,外推共享實現(xiàn)FIR濾波器相比較直接實現(xiàn)和子項共享實現(xiàn),,ASIC綜合結(jié)果具有更小的面積消耗,,節(jié)省了實現(xiàn)成本。但由于增加了延遲鏈,,在低階濾波器或是延遲鏈很長的情況下,,外推共享實現(xiàn)相對于子項共享實現(xiàn)的優(yōu)勢并不明顯。
下面再通過FPGA對三種不同的實現(xiàn)方法進(jìn)行綜合比較,。分別選擇Cyclone III系列的EP3C120F780I7和Stratix III系列的 EP3SE50F484C2兩種型號的FPGA,,綜合工具選用Quartus II 13.1。不同系列的FPGA綜合指標(biāo)會有所不同,,結(jié)果如表2,。
從表2可以看出,EP3C120F780I7用較少的存儲器來實現(xiàn)延遲鏈,,而EP3SE50F484C2用寄存器來實現(xiàn)延時鏈,,總體的邏輯消耗由于加法器個數(shù)的減少都明顯降低,從而節(jié)省FIR濾波器FPGA實現(xiàn)時的成本,。
5 結(jié)論
本文通過Verilog HDL編程實現(xiàn)了帶殘余補(bǔ)償?shù)耐馔茮_激響應(yīng)FIR數(shù)字濾波器,,并結(jié)合子項共享技術(shù)進(jìn)一步減少實現(xiàn)時加法器的個數(shù),從而有效降低FIR濾波器的硬件消耗,,尤其對于高階FIR濾波器的低成本設(shè)計具有實際的應(yīng)用意義,。
參考文獻(xiàn)
[1] 徐紅,葉豐,,黃朝耿.基于子項空間技術(shù)的低復(fù)雜度FIR濾波器實現(xiàn)[J].電子技術(shù)應(yīng)用,,2014,40(6):33-35.
[2] LIM Y C,,LIU B.Extrapolated impulse response FIR filters[J].IEEE Trans.Circuits Syst.,1990,,37(12):1548-1551.
[3] YU Y J,SHI D,,LIM Y C.Subexpression encoded extrapolated impulse response FIR filter with perfect residual compensation[C].Proc.IEEE ISCAS,,2008:2446-2449.
[4] YU Y J,SHI D,,LIM Y C.Design of extrapolated impulse response FIR filters with residual compensation in subexpression space[J].IEEE Trans.Circuits Syst.I,,Reg.Papers,2009,,56(12):2621-2633.
[5] Yu Y J,,LIM Y C.Design of linear phase FIR filters in subexpression space using mixed integer linear programming[J].IEEE Trans.Circuits Syst.I,Reg.Papers,,2007,,54(10):2330-2338.
[6] 虞希清.專用集成電路設(shè)計實用教程[M]第二版.杭州:浙江大學(xué)出版社,2013.