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