0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

剖析子項(xiàng)空間技術(shù)的低復(fù)雜度FIR濾波器實(shí)現(xiàn)

電子工程師 ? 來源:電子技術(shù)應(yīng)用第6期 ? 作者:徐 紅 葉 豐 黃朝耿 ? 2021-04-15 14:01 ? 次閱讀

摘要: 基于子項(xiàng)空間共享技術(shù),利用硬件描述語言編程,在FPGA上對(duì)FIR數(shù)字濾波器進(jìn)行了實(shí)現(xiàn)。該設(shè)計(jì)將常系數(shù)乘法模塊用加法和移位操作來實(shí)現(xiàn),并利用子項(xiàng)共享有效地減少加法器個(gè)數(shù)。綜合結(jié)果表明,所提方法可以有效節(jié)省硬件資源,降低實(shí)現(xiàn)成本,適用于低功耗數(shù)字系統(tǒng)設(shè)計(jì)。

當(dāng)前在信息與通信領(lǐng)域,無論是為了解決能源問題還是滿足產(chǎn)品本身的需要,如何設(shè)計(jì)低功耗通信電子產(chǎn)品已成為當(dāng)前國際上的研究熱點(diǎn)之一。數(shù)字濾波器是各類電子系統(tǒng)中重要的組成部分,從實(shí)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)上可分為有限沖激響應(yīng)(FIR)濾波器和無限沖激響應(yīng)(IIR)濾波器。對(duì)同樣的設(shè)計(jì)要求,F(xiàn)IR濾波器通常比IIR濾波器需要更高的階數(shù),但FIR濾波器較IIR濾波器更為優(yōu)化和簡(jiǎn)單,且能保證絕對(duì)穩(wěn)定和線性相位,因此在語音圖像處理、數(shù)字電視系統(tǒng)等領(lǐng)域都得到了極廣泛的應(yīng)用[1-2]。

數(shù)字濾波器實(shí)質(zhì)上是一系列包括加法、乘法和數(shù)據(jù)傳輸在內(nèi)的運(yùn)算,最終要用物理器件來實(shí)現(xiàn)。當(dāng)把這些設(shè)計(jì)好的數(shù)字濾波器用現(xiàn)場(chǎng)可編程門陣列(FPGA)器件來實(shí)現(xiàn)時(shí)[3],通常用綜合后的邏輯單元LE(Logic Element)數(shù)來衡量硬件消耗。子項(xiàng)空間技術(shù)利用濾波器系數(shù)之間的子項(xiàng)共享,可以有效減少濾波器實(shí)現(xiàn)時(shí)加法器的個(gè)數(shù)[4-8],從而降低實(shí)現(xiàn)復(fù)雜度,節(jié)省硬件資源。

1 子項(xiàng)空間及子項(xiàng)共享

圖1(a)為FIR濾波器的轉(zhuǎn)置型結(jié)構(gòu)。在這種結(jié)構(gòu)中,輸入信號(hào)與濾波器的各個(gè)常系數(shù)h(k)(k=0,1,…,N-1)相乘并送入延時(shí)單元,這種操作通常被稱為多常數(shù)乘法MCM(Multiple Constants Multiplication)問題[9],可以用移位寄存器和加法器網(wǎng)絡(luò)來實(shí)現(xiàn)。因此,加法器可以進(jìn)一步分為延遲單元的結(jié)構(gòu)加法器SA(Structural Adders)和常數(shù)乘法單元的加法器MBA(Multiplier Block Adders),如圖1(b)所示。當(dāng)濾波器階數(shù)固定后,延時(shí)單元和SA的數(shù)量相對(duì)固定(除非有些系數(shù)為0,SA會(huì)有所減少),因此FIR濾波器的實(shí)現(xiàn)復(fù)雜度主要決定于MBA的個(gè)數(shù)。

pIYBAGB31a6AavHpAAGZistFnAA067.png

一個(gè)離散子項(xiàng)空間中的元素可以通過下式構(gòu)建[4]:

16839997175234.gif

pIYBAGB31cuAEkfLAAHOt3yH5Ww678.png

不論是單個(gè)系數(shù)內(nèi)部,還是多個(gè)系數(shù)之間,用來實(shí)現(xiàn)公共子項(xiàng)的加法器都可以共享,從而達(dá)到減少加法器個(gè)數(shù)的目的。下面舉例說明:

(1)假設(shè)某個(gè)系數(shù)用二進(jìn)制序列表示為1010101,如果直接實(shí)現(xiàn),則需要3個(gè)加法器,如圖2(a)所示;如果將公共子項(xiàng)101提取出來先實(shí)現(xiàn),則只需要2個(gè)加法器,如圖2(b)所示。

(2)假設(shè)某兩個(gè)系數(shù)用二進(jìn)制序列表示分別為100101和10101,若兩個(gè)系數(shù)獨(dú)立實(shí)現(xiàn),則每個(gè)系數(shù)都需要2個(gè)加法器,即總共需要4個(gè)加法器,如圖3(a)所示;而將公共子項(xiàng)101提取出來先實(shí)現(xiàn),則每個(gè)系數(shù)只需要增加1個(gè)額外的加法器,即總共需要3個(gè)加法器,如圖3(b)所示。因此,合理利用子項(xiàng)共享,可有效降低數(shù)字濾波器的硬件消耗 [4]。

pIYBAGB31eiAfKmMAAH6XUjEScc369.png

2 FPGA內(nèi)部結(jié)構(gòu)及綜合特點(diǎn)

硬件描述語言HDL(Hardware Description Language)支持行為級(jí)(Behavioral Level)、寄存器傳輸級(jí)RTL(Register Transfer Level)和門級(jí)(Gate Level)3個(gè)不同級(jí)別的設(shè)計(jì),目前普遍使用寄存器傳輸級(jí)源代碼進(jìn)行設(shè)計(jì)。綜合是把設(shè)計(jì)轉(zhuǎn)化為可制造器件的轉(zhuǎn)移過程,而該器件能執(zhí)行預(yù)期的功能。

FPGA是專用集成電路ASIC)領(lǐng)域中的一種半定制電路,應(yīng)用非常廣泛,經(jīng)常作為高階數(shù)字濾波器的實(shí)現(xiàn)器件。Altera公司的FPGA器件一般由二維的行列結(jié)構(gòu)來實(shí)現(xiàn)用戶自定義邏輯,內(nèi)部最小的邏輯單元LE可以高效地實(shí)現(xiàn)用戶邏輯函數(shù)[10]。一個(gè)LE主要由一個(gè)4輸入查找表、一個(gè)寄存器及進(jìn)位和互連邏輯組成。查找表簡(jiǎn)稱為L(zhǎng)UT,LUT本質(zhì)上是一個(gè)RAM。

當(dāng)用戶通過原理圖或HDL語言描述了一個(gè)邏輯電路后,F(xiàn)PGA開發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路所有可能的結(jié)果,并把結(jié)果事先寫入RAM,這樣每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址所對(duì)應(yīng)的內(nèi)容后輸出即可。也可以把LE當(dāng)作一個(gè)4輸入的函數(shù)發(fā)生器,能夠?qū)崿F(xiàn)4變量輸入的所有邏輯[10]。

由于RTL級(jí)設(shè)計(jì)不涉及具體的工藝,不同的綜合工具、不同的器件類型可能會(huì)產(chǎn)生不同的綜合結(jié)果,即所需要的LE數(shù)量會(huì)有差異。因此,在同一種綜合工具、同一種器件類型的前提下對(duì)不同的實(shí)現(xiàn)方法進(jìn)行比較。

3 基于Verilog HDL的RTL級(jí)實(shí)現(xiàn)

Verilog HDL是目前廣泛使用的IEEE標(biāo)準(zhǔn)硬件描述語言,可以用不同的工具進(jìn)行綜合和驗(yàn)證。本文基于子項(xiàng)空間共享技術(shù),采用Verilog HDL進(jìn)行FIR數(shù)字濾波器的RTL級(jí)描述。下面舉例介紹具體的實(shí)現(xiàn)方法。以參考文獻(xiàn)[4]中的較低階濾波器S1為例,下面給出濾波器S1的系數(shù),其中,h(n)=h(24-n),13≤n≤24;通帶增益為485.268 2。

h(12)=3×26-1×20;h(11)=5×25-1×24;h(10)=3×24;

h(9)=-3×23;h(8)=-1×25;h(7)=-3×20;h(6)=1×24;

h(5)=5×21;h(4)=-1×22;h(3)=-1×23;h(2)=-1×21;

h(1)=3×20;h(0)=1×21。

由上可知,S1對(duì)應(yīng)基組為{3,5},此基組的階數(shù)等于2,即產(chǎn)生基組需要2個(gè)加法器,由基組產(chǎn)生濾波器系數(shù)需要2個(gè)加法器,因此,MBA的個(gè)數(shù)為4,系數(shù)都不為零;SA的個(gè)數(shù)為24。

(1)子項(xiàng)基組的產(chǎn)生

assign x3={x_n,1‘b0}+ x_n; //x_n為輸入信號(hào)

assign x5={x_n,2’b00}+x_n;

(2)MBA的實(shí)現(xiàn)

利用已經(jīng)產(chǎn)生的基組,參照S1的系數(shù),就可以得到MBA部分各常系數(shù)乘法的值,部分程序段如下:

assign MBA12={x3,6‘b000000}-x_n; //實(shí)現(xiàn)h[12]×x_n

……

assign MBA0 = {x_n,1’b0}; //實(shí)現(xiàn)h[0]×x_n

(3)延時(shí)單元和SA的實(shí)現(xiàn)

例S1中不存在值為0的系數(shù),且考慮到線性相位FIR濾波器系數(shù)對(duì)稱,因此程序段如下:

Delay_SA0 《= MBA0;

Delay_SA1 《= Delay_SA0 + MBA1;

……

Delay_SA11 《= Delay_SA10 + MBA11;

Delay_SA12 《= Delay_SA11 + MBA12;

Delay_SA13 《= Delay_SA12 + MBA11;

……

Delay_SA23 《= Delay_SA22 + MBA1;

Delay_SA24《= Delay_SA23 + MBA0;

(4)輸出的實(shí)現(xiàn)

考慮到S1的系數(shù)在有限字長(zhǎng)實(shí)現(xiàn)時(shí)單位脈沖響應(yīng)乘以512(=29)倍,因此在輸出時(shí)要進(jìn)行截短處理,即去掉低9位。

4 綜合結(jié)果

本節(jié)將選取參考文獻(xiàn)[4]中的4個(gè)例子分別在FPGA上進(jìn)行綜合比較。4個(gè)例子的性能指標(biāo)如表1所示。

pIYBAGB31hiAOJHlAACujqQNz64656.png

參考文獻(xiàn)[4]中基于子項(xiàng)共享進(jìn)行系數(shù)離散化得到的結(jié)果如表2所示,具體的濾波器系數(shù)參見參考文獻(xiàn)[4]。

pIYBAGB31mmAP7_mAADDaYhHi-8365.png

如前所述,F(xiàn)PGA實(shí)現(xiàn)硬件資源的消耗可以通過綜合后LE的數(shù)量來衡量。分別選擇Cyclone系列的EP1-

C12Q240C8和APEX20KE系列的 EP20K600EBC652-3兩種型號(hào)的FPGA對(duì)4個(gè)濾波器兩種不同的實(shí)現(xiàn)方法(子項(xiàng)共享實(shí)現(xiàn)和直接實(shí)現(xiàn))進(jìn)行綜合,綜合工具選用Quartus II,結(jié)果如表3所示。

pIYBAGB31n2Ad5zZAAC_iPu9eNc707.png

從表3可以看出,基于子項(xiàng)共享的實(shí)現(xiàn)可以有效減少FPGA中LE的消耗數(shù)量,且濾波器階數(shù)越高,共享的機(jī)會(huì)越大,效果越好。

本文通過Verilog HDL編程在FPGA上實(shí)現(xiàn)了子項(xiàng)共享的FIR數(shù)字濾波器設(shè)計(jì)。子項(xiàng)空間共享技術(shù)可以有效地減少FIR濾波器實(shí)現(xiàn)時(shí)加法器的個(gè)數(shù),從而使得綜合后消耗的LE數(shù)量明顯減少,有利于數(shù)字系統(tǒng)的低成本、低功耗設(shè)計(jì),具有實(shí)際的應(yīng)用意義。

參考文獻(xiàn)

[1] 唐博,李錦明,李士照。基于FPGA的高階FIR濾波器強(qiáng)抗干擾數(shù)據(jù)采集系統(tǒng)[J]。電子技術(shù)應(yīng)用,2012,38(9):89-92.

[2] 林志典,張方佩,袁國順?;贔PGA的高速FIR濾波器的設(shè)計(jì)與實(shí)現(xiàn)[J]。微電子學(xué),2013,43(4):200-202.

[3] 惠鵬飛,姚仲敏,夏穎,等。基于FPGA的無線傳感網(wǎng)絡(luò)信道波形整形濾波器[J]。電子技術(shù)應(yīng)用,2013,39(7):35-37.

[4] 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,2007,54(10):2330-2338.

[5] YU Y J,LIM Y C.Optimization of linear phase FIR filters in dynamically expanding subexpression space[J].Circuit Syst.Signal Process.,2010,29(1):65-80.

[6] SHI D,YU Y J.Design of linear phase FIR filters with high probability of achieving minimum number of adders[J].IEEE Trans.Circuits Syst.I,2011,58(1):126-136.

[7] POTKONJAK M,SHRIVASTA M B,CHANDRAKASAN A P.Multiple constant multiplication:Efficient and versatile framework and algorithms for exploring common subexpression elimination[J].IEEE Trans.Comput.Aided,1996,15(2):151-165.

[8] Xu Fei,CHANG C H,JONG C C.Design of low-complexity FIR filters based on signed-powers-of-two coefficients with reusable common subexpressions[J].IEEE Trans.Comput.Aided,2007,26(10):1898-1907.

[9] WANG Y,ROY K.CSDC:A new complexity reduction technique for multiplierless implementation of FIR filters[J].IEEE Trans.Circuits Sysm.I,2005,52(9):1845-1853.

[10] Altera公司.Cyclone2系列器件數(shù)據(jù)手冊(cè):Cyclone device handbook,volume 1[Z].2007.

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1643

    文章

    21983

    瀏覽量

    614628
  • 濾波器
    +關(guān)注

    關(guān)注

    162

    文章

    8095

    瀏覽量

    181212
  • FIR
    FIR
    +關(guān)注

    關(guān)注

    4

    文章

    151

    瀏覽量

    34075
  • MBA
    MBA
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    6176
收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Sky5? 電流 GNSS LNA 前端模塊,集成前置濾波器和后置濾波器 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()Sky5? 電流 GNSS LNA 前端模塊,集成前置濾波器和后置濾波器相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有Sky5? 電流 GNSS LNA 前端模塊,集成前置
    發(fā)表于 05-14 18:31
    Sky5? <b class='flag-5'>低</b>電流 GNSS LNA 前端模塊,集成前置<b class='flag-5'>濾波器</b>和后置<b class='flag-5'>濾波器</b> skyworksinc

    濾波器設(shè)計(jì)完全剖析

    的,相對(duì)的,也就是所有電磁干擾主要來源。因此近代的電氣設(shè)備大多會(huì)在輸入端 加裝一個(gè)輸入電磁干擾濾波器。本文中將提出一被動(dòng)濾波器之設(shè)計(jì)方法,此一方法可有效降低電源供應(yīng)設(shè)備之 EMI 干擾。 本方法僅需少數(shù)
    發(fā)表于 03-20 16:07

    在電源濾波器中,使用不同技術(shù)濾波器有何性能差異

    電源濾波器分電容、電感、有源三類,各有優(yōu)劣。電容濾波器結(jié)構(gòu)簡(jiǎn)單成本,但低頻濾波效果差;電感濾波器低頻效果好但體積大;有源
    的頭像 發(fā)表于 02-17 10:49 ?365次閱讀
    在電源<b class='flag-5'>濾波器</b>中,使用不同<b class='flag-5'>技術(shù)</b>的<b class='flag-5'>濾波器</b>有何性能差異

    通和高通濾波器的基礎(chǔ)知識(shí)

    作者:Aiden Warne 通和高通濾波器簡(jiǎn)介 通和高通濾波器廣泛應(yīng)用于電氣工程領(lǐng)域。例如,這些通和高通
    的頭像 發(fā)表于 01-25 16:55 ?1613次閱讀
    <b class='flag-5'>低</b>通和高通<b class='flag-5'>濾波器</b>的基礎(chǔ)知識(shí)

    經(jīng)典濾波器的設(shè)計(jì)說明

    放(OPA)等元器件搭建傳遞函數(shù)為H(s)或者近似為H(s)的硬件電路來實(shí)現(xiàn),比如RC濾波電路和有源濾波器等。數(shù)字濾波器(DF)從實(shí)現(xiàn)的結(jié)構(gòu)
    的頭像 發(fā)表于 11-15 12:38 ?2240次閱讀
    經(jīng)典<b class='flag-5'>濾波器</b>的設(shè)計(jì)說明

    基于FPGA實(shí)現(xiàn)FIR數(shù)字濾波器

    在數(shù)字信號(hào)處理系統(tǒng)中,有限脈沖響應(yīng)(finite impulse response,FIR)數(shù)字濾波器是一個(gè)非常重要的基本單元。近年來,由于FPGA具有高速度、高集成和高可靠性的特點(diǎn)而得到快速發(fā)展
    的頭像 發(fā)表于 11-05 16:26 ?1641次閱讀
    基于FPGA<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>FIR</b>數(shù)字<b class='flag-5'>濾波器</b>

    請(qǐng)問AIC3254的miniDSP可以實(shí)現(xiàn)256階FIR濾波器嗎,或者有替代CODEC方案嗎?

    請(qǐng)問AIC3254的miniDSP可以實(shí)現(xiàn)256階FIR濾波器嗎,或者有替代CODEC方案嗎?
    發(fā)表于 10-14 07:11

    業(yè)務(wù)復(fù)雜度治理方法論--十年系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn)總結(jié)

    一、復(fù)雜度綜述 1、什么是復(fù)雜度 軟件設(shè)計(jì)的核心在于降低復(fù)雜性。 --《軟件設(shè)計(jì)的哲學(xué)》 業(yè)界對(duì)于復(fù)雜度并沒有統(tǒng)一的定義, 斯坦福教授John Ousterhout從認(rèn)知負(fù)擔(dān)和工作量方
    的頭像 發(fā)表于 09-05 14:11 ?1256次閱讀
    業(yè)務(wù)<b class='flag-5'>復(fù)雜度</b>治理方法論--十年系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn)總結(jié)

    具有可編程FIR和IIR濾波器的Δ-Σ ADC的優(yōu)點(diǎn)

    電子發(fā)燒友網(wǎng)站提供《具有可編程FIR和IIR濾波器的Δ-Σ ADC的優(yōu)點(diǎn).pdf》資料免費(fèi)下載
    發(fā)表于 09-03 11:48 ?0次下載
    具有可編程<b class='flag-5'>FIR</b>和IIR<b class='flag-5'>濾波器</b>的Δ-Σ ADC的優(yōu)點(diǎn)

    FIR濾波器的工作原理和特點(diǎn)

    的輸出僅與其輸入以及有限數(shù)量的之前輸入樣本有關(guān),并且其單位沖激響應(yīng)(即濾波器對(duì)單位沖激信號(hào)的響應(yīng))在有限時(shí)間內(nèi)衰減到零。這種特性使得FIR濾波器在設(shè)計(jì)和實(shí)現(xiàn)上具有一定的優(yōu)勢(shì)。
    的頭像 發(fā)表于 08-05 16:33 ?2283次閱讀
    <b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>的工作原理和特點(diǎn)

    iir和fir怎么比較性能

    對(duì)信號(hào)進(jìn)行濾波、去噪、提取特征等操作。根據(jù)濾波器的脈沖響應(yīng)特性,它們可以分為無限脈沖響應(yīng)(IIR)濾波器和有限脈沖響應(yīng)(FIR濾波器。本文
    的頭像 發(fā)表于 07-19 09:47 ?1643次閱讀

    如何區(qū)分IIR濾波器FIR濾波器

    IIR(無限脈沖響應(yīng))濾波器FIR(有限脈沖響應(yīng))濾波器是數(shù)字信號(hào)處理領(lǐng)域中兩種非常重要的濾波器類型。它們?cè)谠S多應(yīng)用中都發(fā)揮著關(guān)鍵作用,如音頻處理、圖像處理、通信系統(tǒng)等。 1. 引言
    的頭像 發(fā)表于 07-19 09:44 ?6393次閱讀

    iir濾波器fir濾波器的優(yōu)勢(shì)和特點(diǎn)

    (Infinite Impulse Response)濾波器是一種具有無限脈沖響應(yīng)的數(shù)字濾波器。它的輸出不僅取決于當(dāng)前的輸入值,還取決于之前的輸入值。IIR濾波器通常由遞歸濾波器
    的頭像 發(fā)表于 07-19 09:28 ?2865次閱讀

    低通濾波器、高通濾波器、帶通濾波器的簡(jiǎn)單介紹

    在信號(hào)處理領(lǐng)域,濾波器是一種重要的電子元件或算法,用于從復(fù)雜信號(hào)中提取或抑制特定頻率成分。其中,低通濾波器、高通濾波器和帶通濾波器是最常見的
    的頭像 發(fā)表于 07-09 18:04 ?3.1w次閱讀
    低通<b class='flag-5'>濾波器</b>、高通<b class='flag-5'>濾波器</b>、帶通<b class='flag-5'>濾波器</b>的簡(jiǎn)單介紹

    基于matlab FPGA verilog的FIR濾波器設(shè)計(jì)

    今天和大俠簡(jiǎn)單聊一聊基于matlab FPGA verilog的FIR濾波器設(shè)計(jì),話不多說,上貨。 本次設(shè)計(jì)實(shí)現(xiàn)8階濾波器,9個(gè)系數(shù),由于系數(shù)的對(duì)稱性,h(0)=h(8),h1
    發(fā)表于 07-04 20:11

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品