本發(fā)明涉及集成電路及通信技術(shù)領(lǐng)域,特別涉及一種5并行快速fir濾波器的實(shí)現(xiàn)結(jié)構(gòu)。
背景技術(shù):
一個(gè)n抽頭的有限脈沖響應(yīng)(fir)濾波器可以表示為:
其中x(n)是一個(gè)無限長輸入序列,h(n)包含長度為n的fir濾波器的系數(shù)。式(1.1)在z域中可以寫成:
一個(gè)基本的直接型5階fir濾波器結(jié)構(gòu)如圖1所示,其由數(shù)據(jù)移位寄存器、系數(shù)乘法器和操作數(shù)加法器三部分組成。對(duì)于一個(gè)5階fir濾波器,直接型結(jié)構(gòu)需要5個(gè)移位寄存器、5個(gè)乘法器和4個(gè)加法器。
上述直接型結(jié)構(gòu)在每個(gè)時(shí)鐘周期內(nèi)只能輸出一個(gè)計(jì)算結(jié)果,在需要高速數(shù)據(jù)通信和高吞吐率的場(chǎng)合,直接型結(jié)構(gòu)顯然不能滿足需求,因此并行化處理成為一種重要的解決方案。然而一般而言,消耗的硬件資源隨著并行度線性增加,在很多設(shè)計(jì)情況下,由并行處理帶來的硬件開銷是無法容忍的而且會(huì)造成資源的浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)抽頭系數(shù)為5的fir濾波器,提出了一種5并行輸出方案,同時(shí)能夠減小計(jì)算復(fù)雜度,很好地提高吞吐率并降低了功耗。
本發(fā)明的理論分析如下:
輸入序列{x(0),x(1),x(2),…}可以被分解成偶數(shù)和奇數(shù)部分,如(1.3)式所示:
其中x0和x1分別為x(2k)的x(2k+1)的z變換。同樣,n長度的濾波器系數(shù)h(z)可以被分解為:
h(z)=h0+z-1h1(1.4)
那么輸出序列y(z)也同樣被表示成偶數(shù)和奇數(shù)部分:
其中
式(1.6)是2并行fir算法,通過改寫上式的形式可以變成2并行快速fir算法(ffa)[11]:
這個(gè)2并行快速濾波器包括5個(gè)子濾波器,其中的x0h0和x1h1是公共項(xiàng),在計(jì)算y0和y1時(shí)可以共用。
5并行快速fir算法的推導(dǎo)與2并行快速fir算法類似,先把輸入序列和抽頭系數(shù)分解為5部分,然后輸出也用5個(gè)子輸出序列表示:
接著把(1.11)式改寫成2并行fir濾波器的形式:
y=(x0+z-1v)(h0+z-1w)(1.9)
其中v和w分別等于:
再把v和w以及中間項(xiàng)vw寫成2并行fir濾波器的形式,遞歸地調(diào)用2并行快速fir算法來迭代計(jì)算,最后就可以得到5并行快速fir算法。
為了表達(dá)上的方便,我們給出5并行快速ffa的矩陣形式:
y5=q5h5p5x5
其中p5和q5分別為預(yù)處理和后處理矩陣,h5為對(duì)角化的子濾波器矩陣。
并行快速fir算法本質(zhì)上是將一個(gè)大尺寸的濾波器分解成數(shù)個(gè)小尺寸的子濾波器,每個(gè)子濾波器分別做短卷積操作,再把每個(gè)子濾波器得到的短卷積結(jié)果通過一定的組合相加,同時(shí)計(jì)算出多個(gè)輸出。因?yàn)楸景l(fā)明中的濾波器抽頭系數(shù)5,如果要把這個(gè)濾波器分解的話,只能將其分解成5個(gè)子濾波器,而且每個(gè)子濾波器的短卷積則相應(yīng)地退化成乘法操作。
本發(fā)明算法的具體電路結(jié)構(gòu)如圖2所示。本發(fā)明的各個(gè)模塊如圖3所示,包括輸入采樣模塊,用于采樣數(shù)據(jù)并同時(shí)向前置加法模塊送出5個(gè)輸入數(shù)據(jù);前置加法模塊,用于將采樣后的5并行輸入數(shù)據(jù)按一定的規(guī)則進(jìn)行分組并累加;系數(shù)乘法模塊,用于將預(yù)先處理的濾波器抽頭系數(shù)和前置加法模塊的輸出數(shù)據(jù)相乘;后置加法模塊,用于將系數(shù)乘法模塊的輸出數(shù)據(jù)變換成傳統(tǒng)5抽頭fir濾波器的輸出結(jié)果;輸出模塊,用于并行輸出5個(gè)輸出數(shù)據(jù)。
所述前置加法模塊還包括10個(gè)前置加法器,用于將分組的采樣數(shù)據(jù)相加。
所述系數(shù)乘法模塊還包括15個(gè)系數(shù)乘法器,用于將分組累加后的采樣數(shù)據(jù)和預(yù)先分組處理過的抽頭系數(shù)一一對(duì)應(yīng)相乘。
所述后置加法模塊還包括21個(gè)后置加法器,用于將系數(shù)乘法模塊的結(jié)果變換成最終的輸出結(jié)果;以及4個(gè)數(shù)據(jù)寄存器,用于寄存數(shù)據(jù)計(jì)算的中間結(jié)果,供下一輪計(jì)算使用。
附圖說明
圖1為直接型5階fir濾波器結(jié)構(gòu)圖;
圖2為5并行快速fir濾波器的具體電路圖;
圖3為5并行快速fir濾波器各個(gè)模塊示意圖。
具體實(shí)施方式
如圖2所示,輸入采樣模塊將輸入數(shù)據(jù)進(jìn)行采樣,然后依次把連續(xù)的5個(gè)輸入數(shù)據(jù)x0,x1,x2,x3,x4并行送入前置累加模塊;在前置累加模塊中,輸入采樣數(shù)據(jù)x0,x1,x2,x3,x4被分成15組,每組分別為x0,x1,x2,x3,x4,x0+x1,x1+x2,x2+x3,x3+x4,x0+x1+x2,x1+x2+x3,x2+x3+x4,x0+x1+x2+x3,x1+x2+x3+x4,x0+x1+x2+x3+x4;在系數(shù)乘法模塊中,上述每一組結(jié)果分別與預(yù)先算好的h0,h1,…,h0+h1+h2+h3+h4相乘,并將結(jié)果送入后置加法器模塊;在后置加法模塊中,數(shù)據(jù)寄存器中寄存的上一輪計(jì)算的中間結(jié)果參與到本輪計(jì)算中,并將本輪計(jì)算的中間結(jié)果進(jìn)行寄存,以便用于下一輪的計(jì)算。在輸出模塊中,輸出模塊一次并行輸出5個(gè)輸出結(jié)果。運(yùn)用傳統(tǒng)的直接型5階fir濾波器計(jì)算5個(gè)輸出結(jié)果需要25次乘法、20次加法,運(yùn)用本發(fā)明的5并行快速fir濾波器計(jì)算5個(gè)輸出結(jié)果需要15次加法、31次加法。由于在硬件實(shí)現(xiàn)中,乘法器消耗的面積和功耗遠(yuǎn)遠(yuǎn)大于加法器,因此相比于傳統(tǒng)的直接型fir濾波器,本發(fā)明介紹的5并行快速fir濾波器可以節(jié)省40%的硬件資源。