文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190288
中文引用格式: 徐鵬. 一種半帶濾波器的低功耗實現方法[J].電子技術應用,,2019,45(9):28-31,,38.
英文引用格式: Xu Peng. A low-power implementation method of half-band filter[J]. Application of Electronic Technique,,2019,45(9):28-31,,38.
0 引言
在如今數字技術中,半帶濾波器因其通帶阻帶對稱,系數具有偶對稱性且濾波器階數為奇數,,有效系數少等特點廣泛應用于通信,、視頻處理、語音識別等數字信號處理應用中,,尤其常用于實現信號的2倍抽取,。對于一個階數為N(N為偶數),長度為N+1的半帶濾波器,,傳統(tǒng)的多相分解技術下實現2倍抽取功能的轉置實現結構如圖1所示,。
首先,利用多相分解[1],,濾波運算分為奇偶兩個分支進行,,輸入數據經過2倍抽取后得到偶分支上的濾波輸入;輸入數據經過一個延遲單位進行2倍抽取后得到奇分支上的輸入數據,。偶分支上共有偶數個系數且系數對稱,。對于偶分支上數據乘以各系數的操作可以稱為多常數乘法(Multiple Constant Multiplications,,MCM),,眾所周知乘法器的硬件實現會消耗大量的資源,故可采用以移位相加代替偶分支濾波運算過程中的所有乘法操作以節(jié)省硬件資源,。
一般的移位相加實現方法是對系數進行正則有符號數(Canonic Signed Digit,,CSD)編碼[2],以減少硬件資源開銷,,根據文獻[1],,基于CSD編碼的方式比二進制編碼方式平均減少33%的硬件開銷。同時偶分支的濾波結構還可以采用混合形式,,降低累加部分中加法器的開銷[3],。
不同于傳統(tǒng)使用CSD編碼的辦法,本文采用的是利用以2r為基礎數的算法(RADIX-2r)實現MCM操作,。傳統(tǒng)CSD編碼的方法是對每個系數進行編碼,,每個系數的乘法是獨立的,無法共享硬件資源,。而RADIX-2r算法中,,利用系數之間共享基本表達式以達到共享硬件資源的目的,必然比傳統(tǒng)辦法節(jié)省硬件資源,。
1 所設計半帶濾波器的參數
本文中所設計的兩個半帶濾波器分別為歸一化頻率下過渡帶帶寬為6/11,、阻帶衰減大于90 dB和過渡帶帶寬為1/11、阻帶衰減大于90 dB,。設計可通過MATLAB軟件完成[4],,具體實現代碼如下所示:
h1=halfband(‘Type’,’Lowpass’,6/11,90),;
Hb1=design(h1,,’equiripple’);
h2=halfband(‘Type’,,’Lowpass’,,1/11,90);
Hb2=design(h2,,’equiripple’),;
由MATLAB軟件仿真可得,寬過渡帶半帶濾波器階數為18,,窄過渡帶半帶濾波器階數為118,,要達到90 dB阻帶衰減的技術指標,寬過渡帶半帶濾波器系數量化位數為17位,,窄過渡帶半帶濾波器系數量化位數為21位,。
系數量化后兩個濾波器的幅頻響應分別如圖2、圖3所示,。如圖所示,,所得半帶濾波器均滿足阻帶衰減大于90 dB的設計指標。量化后的寬過渡帶半帶濾波器的有效系數如表1所示,,窄過渡帶半帶濾波器量化后的系數如表2所示,。
從表1中可見,寬過渡帶半帶濾波器的有效系數只有11個,,其中,,多相分解下,奇分支上的有效系數只有h(9),,其余全為偶分支上的有效系數且具有對稱性,。
同理從表2中得知,窄過渡帶半帶濾波器的有效系數為61個,,奇分支上只有一個有效系數h(59),,其余全為偶分支上的系數且具對稱性。
2 高效實現方法
傳統(tǒng)的CSD編碼實現方式下是對每個有效系數進行CSD編碼然后用移位相加操作完成乘法,,將消耗大量的硬件資源,。與使用CSD編碼不同的是,本文提出了使用RADIX-2r算法實現偶分支濾波運算中的MCM,,達到以更低功耗,、更小面積實現半帶濾波的目的。
2.1 RADIX-2r算法實現MCM
一個N-bit常數C在RADIX-2r算法中由式(1)表示:
MCM模塊中,,輸入X將同時乘以擁有M個常數的常數集{C0,,C0,…,CM-2,,CM-1},。常數集中需要由MCM模塊產生乘積的數只有正的奇數,因為偶數可以通過奇數進行左移操作獲得,,而負數可以通過正數取負獲得,,如常數積-132X可以通過常數積33X左移2位并取負獲得,在MCM問題中只需實現33X即可,,不需要用多余的加法器實現-132X,。常數集中所需實現的正的奇數被稱為基本數。根據文獻[5],、[6]可知,,相比于現有的研究,RADIX-2r算法是實現MCM模塊最好的辦法,,在功耗,、面積、速度上都具有顯著的優(yōu)勢,。
對于本文中半帶濾波器Hb1的偶分支的實現,,通過RADIX-2r算法可以得到其基本部分積為{1,3,,5,,7},需要實現的基本數集為{57,,101,1 601,,4 985,,20 115}基本部分積的具體實現過程如下所示:
X1=X
X3=X1<<1+X1
X5=X1<<2+X1
X7=X1<<3-X1
基本數集的實現過程如下所示:
X57=X1<<6-X7
X101=X5+X3<<5
X1601=X1+X1<<6+X3<<9
X4985=X1<<12+X7<<7-X7
X20115=X3-X7<<4-X1<<8+X5<<12
同理對于半帶濾波器Hb2,偶分支中的基本部分積與基本數集分別如下所示:
由于篇幅原因,,半帶濾波器Hb2基本部分積與基本數集的實現過程不在此列出,。
2.2 寄存基本部分積以降低功耗
數字電路在工作時,主要的功耗來自于動態(tài)功耗,,而動態(tài)功耗中大部分為數字單元基本門電路的開關行為導致,。由文獻[7]可知,擁有長路徑的加法器將會導致更活躍的開關行為,,這是因為由不同延遲路徑引起的無用毛刺將沿著路徑從MCM模塊傳播至后續(xù)的累加模塊中,。雖然這種毛刺不會產生任何電路上的邏輯錯誤,但數字電路中高達70%的開關活動是由這些毛刺造成,,進而會造成比較大的功耗,。
因而,有效降低功耗的方法即是減少電路中因延遲不同而產生的毛刺。根據前文所述使用RADIX-2r實現MCM模塊的方法中,,每一個基本數的實現都可以通過基本部分積之間的移位相加操作完成,。本文所提出的另一降低功耗的方法是寄存MCM模塊中產生的基本部分積的輸出,通過使用邊沿有效的寄存器可以有效地消除毛刺,,因為寄存器只在確定的時鐘邊沿進行采值,,阻斷毛刺從MCM模塊向累加部分的傳播,進而減少電路的開關行為,。同時因為基本部分積的數目總是遠小于基本數的總數,,所以相比于寄存基本數,寄存基本部分積不會帶來太多的額外寄存器的開銷,。對于文中Hb1半帶濾波器而言,,即是寄存X1、X3,、X5,、X7四個數值。
2.3 所提出的半帶濾波器實現結構
本文提出的Hb1半帶濾波器的總體實現方法如圖4所示,,使用了表1中的系數,。總體結構包含三個子部分,,一是多相分解部分,;二是利用RADIX-2r實現MCM部分,其中包括了對基本部分積的寄存,;最后是濾波運算的累加部分,,此部分中還采取奇支路和偶支路積共用寄存器的策略。因篇幅原因,,Hb2的實現結構圖不在此展出,。
3 實驗結果及分析
為了評測本文提出的應用于數字信號抽取下的半帶濾波器的實現方法的性能,對于文中的半帶濾波器Hb1,、Hb2,,分別用Verilog HDL硬件描述語言實現了傳統(tǒng)的CSD編碼結構、CSD編碼下的混疊結構以及本文所提出的結構,。在邏輯綜合結果方面進行比較,。
綜合使用的軟件為Synopsys公司的Design Compiler軟件,使用的工藝庫為TSMC 40 nm工藝,,并設置濾波器的輸入字長為16 bit,。表3、表4分別展示了Hb1,、Hb2不同方案所需要的硬件資源,。
功耗分析使用的時鐘頻率為200 MHz,,兩個濾波器每個方案綜合后的結果如表5、表6所示,。
通過以上表中數據可知,,文獻[3]所提出的實現方法相較于CSD編碼的實現方法不具有優(yōu)勢,僅在實現窄過渡帶濾波器時降低了濾波器的面積,,但提升效果也十分有限,。而本文所提出的實現方法相對于傳統(tǒng)CSD編碼實現結構在功耗及面積表現上均有明顯優(yōu)勢,對于寬過渡帶半帶濾波器,,在本文的實現方法中,,功耗下降了9.36%,面積下降了6.31%,;對于窄過渡帶半帶濾波器,,本文的實現方法使功耗降低了13.93%,面積降低了12.79%,。
4 結論
本文針對應用于數字信號下變頻技術中的半帶濾波器,,提出了一種低功耗的實現方法。利用MATLAB軟件設計半帶濾波器,,并對新的實現方法進行了Modelsim仿真驗證,,最后由Design Complier 軟件進行綜合。結果表明,,與傳統(tǒng)的CSD編碼實現方法相比較,,本文提出的實現方法能有效地降低濾波器的功耗與面積,具有較高的實用價值,,可廣泛應用工程需求中的半帶濾波器的實現,。
參考文獻
[1] 卜祥元,方金輝,,范星宇,,等.基于抽取濾波器多相分解的多速率采樣模塊設計[J].北京理工大學學報,2014(2):187-191.
[2] GOEL N,,NANDI A.Design of FIR filter using FCSD representation[C].IEEE International Conference on Computational Intelligence and Communication Technology,2015:617-620.
[3] LOU X,,MEHER P K,,YU Y,et al.Novel structure for area-efficient implementation of FIR filters[J].IEEE Transactions on Circuits and Systems,,2017,,64:1212-1216.
[4] 杜勇.數字濾波器的MATLAB與FPGA實現[M].北京:電子工業(yè)出版社,2015.
[5] OUDJIDA A,,LIACHA A,,BAKIRI M,,et al.Multiple constant multiplication algorithm for high-speed and low-power design[J].IEEE Transactions on Circuits and Systems,2016,,63(2):176-180.
[6] LIACHA A,,OUDJIDA A,FERGUENE F,,et al.Design of high-speed,,low-power,and area-efficient FIR filers[J].IET Circuits,,Devices & Systems,,2018,12(1):1-11.
[7] YE W B,,YU Y J.Switching activity analysis and power estimation for multiple constant multiplier block of FIR filters[C].IEEE International Symposium of Circuits and Systems,,2011:145-148.
作者信息:
徐 鵬
(電子科技大學 電子科學與工程學院,四川 成都610054)