精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

剖析子項空間技術的低復雜度FIR濾波器實現

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

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

當前在信息通信領域,無論是為了解決能源問題還是滿足產品本身的需要,如何設計低功耗通信電子產品已成為當前國際上的研究熱點之一。數字濾波器是各類電子系統中重要的組成部分,從實現的網絡結構上可分為有限沖激響應(FIR)濾波器和無限沖激響應(IIR)濾波器。對同樣的設計要求,FIR濾波器通常比IIR濾波器需要更高的階數,但FIR濾波器較IIR濾波器更為優化和簡單,且能保證絕對穩定和線性相位,因此在語音圖像處理、數字電視系統等領域都得到了極廣泛的應用[1-2]。

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

1 子項空間及子項共享

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

pIYBAGB31a6AavHpAAGZistFnAA067.png

一個離散子項空間中的元素可以通過下式構建[4]:

16839997175234.gif

pIYBAGB31cuAEkfLAAHOt3yH5Ww678.png

不論是單個系數內部,還是多個系數之間,用來實現公共子項的加法器都可以共享,從而達到減少加法器個數的目的。下面舉例說明:

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

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

pIYBAGB31eiAfKmMAAH6XUjEScc369.png

2 FPGA內部結構及綜合特點

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

FPGA是專用集成電路ASIC)領域中的一種半定制電路,應用非常廣泛,經常作為高階數字濾波器的實現器件。Altera公司的FPGA器件一般由二維的行列結構來實現用戶自定義邏輯,內部最小的邏輯單元LE可以高效地實現用戶邏輯函數[10]。一個LE主要由一個4輸入查找表、一個寄存器及進位和互連邏輯組成。查找表簡稱為LUT,LUT本質上是一個RAM

當用戶通過原理圖或HDL語言描述了一個邏輯電路后,FPGA開發軟件會自動計算邏輯電路所有可能的結果,并把結果事先寫入RAM,這樣每輸入一個信號進行邏輯運算就等于輸入一個地址進行查表,找出地址所對應的內容后輸出即可。也可以把LE當作一個4輸入的函數發生器,能夠實現4變量輸入的所有邏輯[10]。

由于RTL級設計不涉及具體的工藝,不同的綜合工具、不同的器件類型可能會產生不同的綜合結果,即所需要的LE數量會有差異。因此,在同一種綜合工具、同一種器件類型的前提下對不同的實現方法進行比較。

3 基于Verilog HDL的RTL級實現

Verilog HDL是目前廣泛使用的IEEE標準硬件描述語言,可以用不同的工具進行綜合和驗證。本文基于子項空間共享技術,采用Verilog HDL進行FIR數字濾波器的RTL級描述。下面舉例介紹具體的實現方法。以參考文獻[4]中的較低階濾波器S1為例,下面給出濾波器S1的系數,其中,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對應基組為{3,5},此基組的階數等于2,即產生基組需要2個加法器,由基組產生濾波器系數需要2個加法器,因此,MBA的個數為4,系數都不為零;SA的個數為24。

(1)子項基組的產生

assign x3={x_n,1‘b0}+ x_n; //x_n為輸入信號

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

(2)MBA的實現

利用已經產生的基組,參照S1的系數,就可以得到MBA部分各常系數乘法的值,部分程序段如下:

assign MBA12={x3,6‘b000000}-x_n; //實現h[12]×x_n

……

assign MBA0 = {x_n,1’b0}; //實現h[0]×x_n

(3)延時單元和SA的實現

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

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)輸出的實現

考慮到S1的系數在有限字長實現時單位脈沖響應乘以512(=29)倍,因此在輸出時要進行截短處理,即去掉低9位。

4 綜合結果

本節將選取參考文獻[4]中的4個例子分別在FPGA上進行綜合比較。4個例子的性能指標如表1所示。

pIYBAGB31hiAOJHlAACujqQNz64656.png

參考文獻[4]中基于子項共享進行系數離散化得到的結果如表2所示,具體的濾波器系數參見參考文獻[4]。

pIYBAGB31mmAP7_mAADDaYhHi-8365.png

如前所述,FPGA實現硬件資源的消耗可以通過綜合后LE的數量來衡量。分別選擇Cyclone系列的EP1-

C12Q240C8和APEX20KE系列的 EP20K600EBC652-3兩種型號的FPGA對4個濾波器兩種不同的實現方法(子項共享實現和直接實現)進行綜合,綜合工具選用Quartus II,結果如表3所示。

pIYBAGB31n2Ad5zZAAC_iPu9eNc707.png

從表3可以看出,基于子項共享的實現可以有效減少FPGA中LE的消耗數量,且濾波器階數越高,共享的機會越大,效果越好。

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

參考文獻

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

[2] 林志典,張方佩,袁國順。基于FPGA的高速FIR濾波器的設計與實現[J]。微電子學,2013,43(4):200-202.

[3] 惠鵬飛,姚仲敏,夏穎,等。基于FPGA的無線傳感網絡信道波形整形濾波器[J]。電子技術應用,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系列器件數據手冊:Cyclone device handbook,volume 1[Z].2007.

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1626

    文章

    21678

    瀏覽量

    602018
  • 濾波器
    +關注

    關注

    160

    文章

    7749

    瀏覽量

    177730
  • FIR
    FIR
    +關注

    關注

    4

    文章

    146

    瀏覽量

    33123
  • MBA
    MBA
    +關注

    關注

    0

    文章

    7

    瀏覽量

    6106
收藏 人收藏

    評論

    相關推薦

    基于FPGA實現FIR數字濾波器

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

    FIR濾波器的工作原理和特點

    的輸出僅與其輸入以及有限數量的之前輸入樣本有關,并且其單位沖激響應(即濾波器對單位沖激信號的響應)在有限時間內衰減到零。這種特性使得FIR濾波器在設計和實現上具有一定的優勢。
    的頭像 發表于 08-05 16:33 ?930次閱讀
    <b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>的工作原理和特點

    iir和fir怎么比較性能

    對信號進行濾波、去噪、提取特征等操作。根據濾波器的脈沖響應特性,它們可以分為無限脈沖響應(IIR)濾波器和有限脈沖響應(FIR濾波器。本文
    的頭像 發表于 07-19 09:47 ?578次閱讀

    如何區分IIR濾波器FIR濾波器

    IIR(無限脈沖響應)濾波器FIR(有限脈沖響應)濾波器是數字信號處理領域中兩種非常重要的濾波器類型。它們在許多應用中都發揮著關鍵作用,如音頻處理、圖像處理、通信系統等。 1. 引言
    的頭像 發表于 07-19 09:44 ?3627次閱讀

    iir濾波器fir濾波器的優勢和特點

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

    基于matlab FPGA verilog的FIR濾波器設計

    今天和大俠簡單聊一聊基于matlab FPGA verilog的FIR濾波器設計,話不多說,上貨。 本次設計實現8階濾波器,9個系數,由于系數的對稱性,h(0)=h(8),h1
    發表于 07-04 20:11

    PCB與PCBA工藝復雜度的量化評估與應用初探!

    人員 能力的提升是否有一個明確的要求? 而且,你定的那條線,能力是否可以 量化也存在問題。比如一個復雜度在 200以上的板子,對應的人員的技術能力、設備能力到底是什么樣的一個對應關系,現在也說不太清楚
    發表于 06-14 11:15

    matlab與FPGA數字信號處理系列 Verilog 實現并行 FIR 濾波器

    在 FPGA 實現 FIR 濾波器時,最常用的是直接型結構,簡單方便,在實現直接型結構時,可以選擇串行結構/并行結構/分布式結構。 并行結構即并行
    發表于 05-24 07:48

    Vivado 使用Simulink設計FIR濾波器

    今天給大俠帶來Vivado經典案例:使用Simulink設計FIR濾波器,話不多說,上貨。 FIR(Finite Impulse Response)濾波器:有限長單位沖激響應
    發表于 04-17 17:29

    Matlab生成fir濾波器抽頭系數的流程

    在Vivado調用fir濾波器時,我們會遇到需要填充濾波器抽頭系數的問題,手工計算又不現實,所以在此向大家介紹一個生成系數的工具。
    的頭像 發表于 03-25 09:49 ?1346次閱讀
    Matlab生成<b class='flag-5'>fir</b><b class='flag-5'>濾波器</b>抽頭系數的流程

    Vivado經典案例:使用Simulink設計FIR濾波器

    FIR(Finite Impulse Response)濾波器:有限長單位沖激響應濾波器,又稱為非遞歸型濾波器,是數字信號處理系統中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴格
    的頭像 發表于 03-25 09:18 ?1963次閱讀
    Vivado經典案例:使用Simulink設計<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>

    如何在Matlab中實現不同窗低通濾波器的設計?

    在Matlab中使用漢明窗設計低通濾波器可以通過fir1函數實現。漢明窗通常用于設計濾波器,可以提供更突出的頻率特性。
    的頭像 發表于 02-27 14:11 ?5979次閱讀
    如何在Matlab中<b class='flag-5'>實現</b>不同窗低通<b class='flag-5'>濾波器</b>的設計?

    FIR濾波器和IIR濾波器的區別與聯系有哪些

    FIR濾波器和IIR濾波器是數字信號處理中的兩種常見濾波器類型,它們在原理、結構和性能等方面存在顯著的差異與聯系。
    的頭像 發表于 01-29 16:41 ?2560次閱讀
    <b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>和IIR<b class='flag-5'>濾波器</b>的區別與聯系有哪些

    全文詳解IIR濾波器原理與設計方法

    IIR濾波器具有很高的濾波效率,在相同幅頻響應條件下,所需的濾波器階數明顯比FIR濾波器。其次
    發表于 01-22 09:25 ?9231次閱讀
    全文詳解IIR<b class='flag-5'>濾波器</b>原理與設計方法

    AD6620的FIR濾波器是什么類型的濾波器呢?

    請問AD6620的FIR濾波器是什么類型的濾波器呢?它的功能是什么呢?可不可以直接從AD6620的輸出中進行符號同步的時鐘提取呢?謝謝!!!
    發表于 12-22 07:00