專利名稱::一種優(yōu)化fir濾波器的方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及計算機領(lǐng)域,特別涉及一種優(yōu)化FIR濾波器的方法及裝置。
背景技術(shù):
:FIR(FiniteImpulseResponse,有限沖激響應(yīng))濾波器已廣泛地應(yīng)用于各種電子設(shè)備中,組成FIR濾波器的基本單元為乘法器和加法器。FIR濾波器的時域表達(dá)式min(i,n)為y(n)=Σh(k)x(n-k),其中,η為樣點的編號,h(k)為FIR濾波器的第k個抽頭的k=0抽頭系數(shù),x(n-k)為第n-k個輸入樣點,y(n)為第η個輸出樣點,i的值為FIR濾波器的抽頭數(shù)目減1。一般i值小于η值,所以上述FIR濾波器的時域表達(dá)式又可簡化為iy(n)=^h(k)x(n-k)。根據(jù)簡化的時域表達(dá)式可知,F(xiàn)IR濾波器需要抽頭數(shù)目個乘法器,抽k=0頭數(shù)目減1個加法器即i個加法器。例如,假設(shè)某個FIR濾波器具有6個抽頭,則i值為5,該FIR濾波器的時域表達(dá)式6為y(n)=Zh(k)x(n-k)且該FIR濾波器的時域表達(dá)式的展開式為k=0y(0)=h(0)χ(0);y(1)=h(0)χ(1)+h(1)χ(0);y(2)=h(0)χ(2)+h(1)χ(1)+h(2)χ(0);......y(5)=h(0)χ(5)+h(1)χ(4)+......+h(4)χ(1)+h(5)χ(0);y(6)=h(0)χ(6)+h(1)χ(5)+......+h(4)χ(2)+h(5)χ(1);......y(η)=h(0)χ(η)+h(1)χ(η_1)+......+h(4)χ(η_4)+h(5)χ(η_5)。根據(jù)上述時域表達(dá)式的展開式,設(shè)計出的該FIR濾波器中包括6個乘法器和5個加法器,如圖1所示。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題FIR濾波器中包括的加法器和乘法器與其包括抽頭的數(shù)目成正比,當(dāng)FIR濾波器中包括大量的抽頭時,其內(nèi)包含大量的乘法器和加法器,如此使得FIR濾波器的面積變的很大,功耗和成本也較高。
發(fā)明內(nèi)容為了能夠減少FIR濾波器的面積、功耗和成本,本發(fā)明提供了一種優(yōu)化FIR濾波器的方法及裝置。所述技術(shù)方案如下一種優(yōu)化FIR濾波器的方法,所述方法包括當(dāng)判斷出樣點序列中的值非常為零的樣點段和值常為零的樣點段的排列規(guī)律周期性地變化以及任意值非常為零的樣點段包括的輸入樣點的個數(shù)小于FIR濾波器的抽頭數(shù)目時,根據(jù)落在輸入窗中的值非常為零的輸入樣點個數(shù),確定所述FIR濾波器的乘法器個數(shù)和加法器個數(shù),所述輸入窗的窗長為所述FIR濾波器的抽頭數(shù)目;將不同變化周期中的位置相同的輸入樣點的編號映射成同一個新編號,根據(jù)一個變化周期中的輸入樣點的時域表達(dá)式和輸入樣點的值,建立所述新編號與抽頭系數(shù)的對應(yīng)關(guān)系。一種優(yōu)化FIR濾波器的裝置,所述裝置包括判斷模塊,用于判斷出樣點序列中的值非常為零的樣點段和值常為零的樣點段的排列規(guī)律周期性地變化以及任意值非常為零的樣點段包括的輸入樣點的個數(shù)小于FIR濾波器的抽頭數(shù)目;確定模塊,用于根據(jù)落在輸入窗中的值非常為零的輸入樣點個數(shù),確定所述FIR濾波器的乘法器個數(shù)和加法器個數(shù),所述輸入窗的窗長為所述FIR濾波器的抽頭數(shù)目;第一創(chuàng)建模塊,用于將不同變化周期中的位置相同的輸入樣點的編號映射成同一個新編號,根據(jù)一個變化周期中的輸入樣點的時域表達(dá)式和輸入樣點的值,建立所述新編號與抽頭系數(shù)的對應(yīng)關(guān)系。根據(jù)落在輸入窗中的值非常為零的輸入樣點個數(shù),確定FIR濾波器的乘法器的個數(shù)和加法器的個數(shù),其中,輸入窗的窗長為FIR濾波器的抽頭數(shù)目,如此,落在輸入窗中的值非常為零的輸入樣點的個數(shù)小于FIR濾波器的抽頭數(shù)目,使得FIR濾波器包括的乘法器的個數(shù)小于FIR濾波器的抽頭數(shù)目,加法器的個數(shù)小于FIR濾波器的抽頭數(shù)目減1,如此,減少了FIR濾波器的面積,降低FIR濾波器的功耗和成本。圖1是現(xiàn)有技術(shù)提供的FIR濾波器示意圖;圖2是本發(fā)明實施例1提供的一種優(yōu)化FIR濾波器的方法流程圖;圖3是本發(fā)明實施例2提供的一種優(yōu)化FIR濾波器的方法流程圖;圖4是本發(fā)明實施例2提供的第一種輸入框示意圖;圖5是本發(fā)明實施例2提供的第二種輸入框示意圖;圖6是本發(fā)明實施例2提供的一種優(yōu)化后的FIR濾波器示意圖;圖7是本發(fā)明實施例3提供的一種優(yōu)化FIR濾波器的方法流程圖;圖8是本發(fā)明實施例3提供的一種優(yōu)化后的FIR濾波器的示意圖;圖9是本發(fā)明實施例4提供的一種優(yōu)化FIR濾器的裝置示意圖。具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。實施例1如圖2所示,本發(fā)明實施例提供了一種優(yōu)化FIR濾波器的方法,包括步驟101判斷出樣點序列中的值非常為零的樣點段和值常為零的樣點段的排列規(guī)律周期性地變化以及任意值非常為零的樣點段包括的輸入樣點的個數(shù)小于FIR濾波器的抽頭數(shù)目;步驟102根據(jù)落在輸入窗中的值非常為零的輸入樣點個數(shù),確定該FIR濾波器的乘法器個數(shù)和加法器個數(shù);其中,該輸入窗的窗長為所述FIR濾波器的抽頭數(shù)目;步驟103將不同變化周期中的位置相同的輸入樣點的編號映射成同一個新編號,根據(jù)一個變化周期中的輸入樣點的時域表達(dá)式和輸入樣點的值,建立新編號與抽頭系數(shù)的對應(yīng)關(guān)系。在本發(fā)明實施例中,根據(jù)落在輸入窗中的值非常為零的輸入樣點個數(shù),確定FIR濾波器的乘法器的個數(shù)和加法器的個數(shù),其中,輸入窗的窗長為FIR濾波器的抽頭數(shù)目,如此,落在輸入窗中的值非常為零的輸入樣點的個數(shù)小于FIR濾波器的抽頭數(shù)目,使得FIR濾波器包括的乘法器的個數(shù)小于FIR濾波器的抽頭數(shù)目,加法器的個數(shù)小于FIR濾波器的抽頭數(shù)目減1,如此,減少了FIR濾波器的面積,降低FIR濾波器的功耗和成本。實施例2如圖3所示,本發(fā)明實施例提供了一種優(yōu)化FIR濾波器的方法,在本實施例中,使用一個抽頭數(shù)目為6的FIR濾波器,向該FIR濾波器輸入的樣點序列為χ(0),χ(1),χ(2),χ(3),......,χ(η),......,其中,χ(η)為輸入樣點,η為輸入樣點的編號,該樣點序列中的每個輸入樣點的樣點值分別為a0,0,0,0,al,0,0,0,a2,0,0,0,a3,0,0,0,a4,0,0,0,......,其中,樣點值動、31、32、33、&4......的值都非常為0。該方法包括步驟201觀察該樣點序列X(O),X(I),x(2),x(3),......,x(n),......中的值非常為零的樣點段和值常為零的樣點的排列規(guī)律以及每個值非常為零的樣點段包括輸入樣點個數(shù);其中,該樣點序列χ(0),χ(1),χ(2),χ(3),......,χ(η),......由值常為零的樣點段和值非常為零的樣點段組成。其中,值常為零的樣點段由值常為零的輸入樣點組成,而值常為零的輸入樣點的樣點值為零;值非常為零的樣點段由值非常為零的輸入樣點組成,而值非常為零的樣點的樣點值為任意值。步驟202當(dāng)觀察完該樣點序列后,判斷出該樣點序列中的值非常為零的樣點段和值常為零的樣點的排列規(guī)律周期性地變化,且任意一個值非常為零的樣點段包括的輸入樣點數(shù)目都小于該FIR濾波器抽頭數(shù)目6時,執(zhí)行步驟203;其中,在該樣點序列中,每個變化同期包括一個值非常為零的樣點段和一個值常為零的樣點段,值非常為零的樣點段都由一個輸入樣點組成,值常為零的樣點段都由三個輸入樣點組成,因此,每個變化周期內(nèi)包括四個輸入樣點;例如,在第一個變化周期中包括χ(0),χ(1),χ(2),χ(3)四個輸入樣點,輸入樣點χ(Ο)組成值非常為零的樣點段,輸入樣點χ⑴,χ(2),χ(3)組成值常為零的樣點段;在第二個變化周期中包括χ⑷,χ(5),χ(6),χ(7)四個輸入樣點,輸入樣點χ(4)組成值非常為零的樣點段,輸入樣點χ(5),χ(6),χ(7)組成值常為零的樣點段。其中,如果在該樣點序列中判斷出值非常為零的樣點段和值常為零的樣點段的排列規(guī)律不是周期性地變化或/和存在值非常為零的樣點段包括的輸入樣點的數(shù)目大于或等于該FIR濾波器的抽頭數(shù)目6,則結(jié)束操作。步驟203創(chuàng)建一個窗長為該FIR濾波器的抽頭數(shù)目6的輸入窗,根據(jù)創(chuàng)建的輸入窗確定該FIR濾波器包括2個乘法器和1個加法器;具體地,創(chuàng)建一個輸入窗,且設(shè)置該輸入窗的窗長為該FIR濾波器的抽頭數(shù)目6,將該樣點序列包括的輸入樣點依次輸入到該輸入窗中,并且每向輸入窗輸入一個輸入樣點時,統(tǒng)計當(dāng)前輸入框中的值非常為零的輸入樣點的個數(shù),從統(tǒng)計的個數(shù)中選擇值最大的個數(shù),其中,對于該樣點序列選擇的最大個數(shù)的值為2,根據(jù)個數(shù)值2確定優(yōu)化后的該FIR濾波器包括2個乘法器和1個加法器。其中,輸入窗的窗長為6,如果輸入窗已滿,則落在輸入窗中的輸入樣點個數(shù)為6個,如果還向輸入窗中輸入輸入樣點,則最先輸入到輸入窗的輸入樣點將退出輸入窗。例如,如圖4所示,依次將輸入樣點χ(0),χ(1),χ(2),χ(3),χ(4),χ(5)輸入到輸入窗中,如果再向輸入窗中輸入下一個輸入樣點x(6),則最先輸入到輸入窗的輸入樣點X(O)退出輸入窗,如圖5所示。其中,如圖6所示,確定優(yōu)化后的該FIR濾波器包括2個乘法器和1個加法器。步驟204將每個變化周期內(nèi)包括的四個輸入樣點χ(η)、χ(η+1)、χ(η+2)、χ(η+3)的編號分別映射成新編號s0、si、s2、s3;具體地,將第一個變化周期內(nèi)包括的四個輸入樣點x(0)、x(l)、x(2)、x(3)的編號,分別映射為新編號s0、si、s2、s3,將第二個變化周期內(nèi)包括的四個輸入樣點x(4)、χ(5)、x(6)、x(7)的編號,分別映射成新編號sO、si、s2、s3,......,將其他每個變化周期內(nèi)包括的四個輸入樣點x(n)、x(n+l)、x(n+2)、x(n+3)的編號,分別映射成新編號sO、si、s2、s3,如此使得在該樣點序列中,不同變化周期內(nèi)的位置相同的輸入樣點的對應(yīng)相同的一個新編號,如表1所示。表1<table>tableseeoriginaldocumentpage7</column></row><table>步驟205:對于該樣點序列中的任意一個變化周期內(nèi)包括的輸入樣點χ(η)、χ(η+1),χ(η+2)和χ(η+3),通過該FIR濾波器的時域表達(dá)式,對該變化同期內(nèi)的每個輸入樣點進(jìn)行展開,得到每個輸入樣點的時域表達(dá)式,如(1)式所示;其中,在本實施例中,該FIR濾波器的時域表達(dá)式為<formula>formulaseeoriginaldocumentpage7</formula>對于該變化周期內(nèi)的輸入樣點Χ(η)、χ(η+1)、χ(η+2)和χ(η+3)的時域表達(dá)式分別為<formula>formulaseeoriginaldocumentpage8</formula>其中,對于輸入樣點x(n)對應(yīng)的時域表達(dá)式y(tǒng)(n)=h(0)χ(η)+h(1)χ(n-1)+h(2)χ(η-2)+h(3)χ(η-3)+h(4)χ(η-4)+h(5)χ(η-5),等號左邊的y(η)為輸入樣點χ(η)對應(yīng)的輸出樣點,等號右邊的每個數(shù)據(jù)項都為輸入樣點與抽頭系數(shù)的乘積表達(dá)式,如果某個數(shù)據(jù)項中包括值常為零的輸入樣點,則該數(shù)據(jù)項的值常為零。其他的每個輸入樣點的時域表達(dá)式的含義類似,不再贅述。其中,假設(shè),輸入樣點X(Ii)是值非常為零的輸入樣點,則輸入樣點x(n-4)是值非常為零的輸入樣點,輸入樣點X(η-5)、χ(η-3)、χ(η-2)、χ(η-1)、χ(η+1)、χ(η+2)、χ(η+3)都是值常為零的輸入樣點。步驟206對該變化周期內(nèi)包括的每個輸入樣點的時域表達(dá)式進(jìn)行簡化,得到簡化后的每個輸入樣點的時域表達(dá)式,如(2)式所示;具體地,在該變化周期中包括每個輸入樣點的時域表達(dá)式中,消除包括值常為零的輸入樣點的數(shù)據(jù)項,得到簡化后的每個輸入樣點的時域表達(dá)式,如(2)式所示。<formula>formulaseeoriginaldocumentpage8</formula>其中,假設(shè),第η個輸入樣點對應(yīng)的新編號為sO,則第η+1個輸入樣點對應(yīng)的新編號為sl,第η+2個輸入樣點對應(yīng)的新編號為s2,第η+3個輸入樣點對應(yīng)的新編號為s3。步驟207對于(2)式所示的簡化后的每個輸入樣點的時域表達(dá)式,在每個輸入樣點的時域表達(dá)式中將輸出樣點的編號替換成對應(yīng)的輸入樣點的新編號;其中,即將(2)式中的每個輸出樣點y(n)、y(n+1)、y(n+2)、y(η+3)中的編號分別替換成新編號80、81、82、83,得到如(3)式所示的時域表達(dá)式;<formula>formulaseeoriginaldocumentpage8</formula>步驟208根據(jù)如(3)式所示的每個輸入樣點的時域表達(dá)式,建立該變化周期內(nèi)的每個輸入樣點的新編號與抽頭系數(shù)的對應(yīng)關(guān)系,如表2所示;表2<table>tableseeoriginaldocumentpage9</column></row><table>步驟209對于該樣點序列χ(0),χ(1),χ(2),χ(3),......,χ(η),......,將該樣點序列中的每個輸入樣點依次輸入到輸入窗中,根據(jù)當(dāng)前輸入到輸入窗中的樣點對應(yīng)的新編號,獲取對應(yīng)的抽頭系數(shù),將獲取的抽頭系數(shù)分別輸入到該FIR濾波器的乘法器中;具體地,對該樣點序列χ(0),χ(1),χ(2),χ(3),......,χ(η),......,將該樣點序列中的每個輸入樣點依次輸入到輸入窗中,獲取當(dāng)前輸入到輸入窗中的輸入樣點對應(yīng)的新編號,根據(jù)該新編號從如表2所示的新編號與抽頭系數(shù)的對應(yīng)關(guān)系中查找對應(yīng)的兩個抽頭系數(shù),將查找的兩個抽頭系數(shù)分別輸入到該FIR濾波器的兩個乘法器中。例如,如圖4所示,已輸入到輸入窗的輸入樣點分別為X(O),X(I),χ(2),χ⑶,x(4),x(5),再向輸入窗輸入下一個輸入樣點χ(6),如圖5所示,輸入樣點χ(6)為當(dāng)前輸入到輸入窗的輸入樣點,獲取輸入樣點χ(6)對應(yīng)的新編號為s2,根據(jù)s2從表2中查找對應(yīng)的兩個抽頭系數(shù)分別為h(2)和0,將查找的兩個抽頭系數(shù)h(2)和0分別輸入到如圖6所示的FIR濾波器的兩個乘法器中。步驟210從輸入窗中獲取值非常為零的輸入樣點,將獲取的每個值非常為零的輸入樣點輸入到該FIR濾波器的乘法器中。其中,該FIR濾波器根據(jù)輸入的值非常為零的輸入樣點和抽頭系數(shù)計算出當(dāng)前輸入到輸入窗中的輸入樣點對應(yīng)的輸出樣點。例如,從如圖5所示的輸入窗中,獲取落在該輸入窗中的值非常為零的輸入樣點χ(4),將輸入樣點χ(4)輸入到如圖6所示的FIR濾波器的乘法器中,然后該FIR濾波器輸出輸入樣點X(6)對應(yīng)的輸出樣點y(6)=h(2)x(4)。其中,由于該輸入窗中只有一個值非常為零的輸入樣點,而對于圖6中的另一個乘法器,可以向該乘法器輸入一個事先設(shè)置的值data,其中,可以事先設(shè)置data的值為任意值,例如可以事先設(shè)置data的值為0;另外,也可以不向該乘法器輸入任何值,即該乘法器不參與計算輸出樣點。其中,如果再向輸入窗中輸入下一個輸入樣點,則返回步驟209開始執(zhí)行。例如,再向輸入窗輸入下一個輸入樣點x(7),則此時落在輸入窗中的輸入樣點分別包括x(2),χ(3),χ(4),χ(5),χ(6),χ(7),根據(jù)輸入樣點χ(7)對應(yīng)的新編號s3查找對應(yīng)的兩個抽頭系數(shù)分別為h(3)和0,并分別輸入到該FIR濾波器的兩個乘法器中,從輸入窗中獲取值非常為零的輸入樣點x(4),并將其輸入到該FIR濾波器的乘法器中,由該FIR濾波器輸出輸入樣點χ(7)對應(yīng)的輸出樣點y(7)=h(3)x(4)。再如,再向輸入窗輸入下一個輸入樣點x(8),則此時落在輸入窗中的輸入樣點分別為χ(3),χ(4),χ(5),χ(6),χ(7),χ⑶,根據(jù)輸入樣點χ(8)對應(yīng)的新編號S4查找對應(yīng)的兩個抽頭系數(shù)為h(0)和h(4),并分別輸入到該FIR濾波器的兩個乘法器中,從輸入窗中獲取值非常為零的輸入樣點χ(8)和χ(4),并分別將輸入樣點χ(8)和χ(4)輸入到該FIR濾波器的兩個乘法器中,然后,再通過該FIR濾波器輸出輸入樣點x(8)對應(yīng)的輸出樣點y(8)=h(O)χ(8)+h(4)χ(4)。在本實施例中,由于該FIR濾波器的抽頭數(shù)目為6,在未優(yōu)化之前該FIR濾波器需要6個乘法器和5個加法器,對該FIR濾波器進(jìn)行優(yōu)化后,該FIR濾波器需要2個乘法器和1個加法器。所以優(yōu)化后的FIR濾波器減少了乘法器和加法器的個數(shù),從而減小了FIR濾波器的面積,降低功耗和成本。其中,假設(shè),利用P個FIR濾波器組成一個行數(shù)為P的并行結(jié)構(gòu)的濾波器時,由于該FIR濾波器的抽頭數(shù)目為6,如果采用未優(yōu)化的FIR濾波器組成行數(shù)為P的并行結(jié)構(gòu)的濾波器時,則需要6P個乘法器和6(P-I)個加法器;如果采用優(yōu)化后的FIR濾波器組成行數(shù)為P的并行結(jié)構(gòu)的濾波器時,則需要2P個乘法器和P個加法器,如此,大量減少乘法器個數(shù)和加法器個數(shù)。在本發(fā)明實施例中,根據(jù)最多落在輸入窗中的值非常為零的輸入樣點個數(shù),確定FIR濾波器的乘法器的個數(shù)和加法器的個數(shù);再向FIR濾波器中輸入輸入樣點時,獲取抽頭系數(shù)以及從輸入窗中獲取值非常為零的輸入樣點,再將獲取的抽頭系數(shù)和值非常為零的輸入樣點輸入到FIR濾波器的乘法器中;其中,輸入窗的窗長為FIR濾波器的抽頭數(shù)目,如此,最多落在輸入窗中的值非常為零的輸入樣點的個數(shù)小于FIR濾波器的抽頭數(shù)目,使得FIR濾波器包括的乘法器的個數(shù)小于FIR濾波器的抽頭數(shù)目,加法器的個數(shù)小于FIR濾波器的抽頭數(shù)目減1,如此,減少了FIR濾波器的面積變的很大,功耗和成本也較高。實施例3如圖7所示,本發(fā)明實施例提供了一種優(yōu)化FIR濾波器的方法,在本實施例中,使用一個抽頭數(shù)目為4的FIR濾波器,向該FIR濾波器輸入的樣點序列為χ(0),χ(1),χ(2),χ(3),......,χ(η),......,其中,χ(η)為輸入樣點,η為輸入樣點的編號,該樣點序列中的每個輸入樣點的樣點值分別為a0,0,0,al,0,a2,0,0,a3,0,a4,0,0,a5,0......,其中,樣點值&0、£11、£12、£13、£14......的值都非常為0。該方法包括步驟301觀察該樣點序列X(O),X(I),x(2),x(3),......,x(n),......中的值非常為零的樣點段和值常為零的樣點的排列規(guī)律以及每個值非常為零的樣點段包括輸入樣點個數(shù);步驟302判斷出該樣點序列中的值非常為零的樣點段和值常為零的樣點段周期性地變化且任意一個值非常為零的樣點段包括的輸入樣點的數(shù)目小于該FIR濾波器的抽頭數(shù)目4;其中,對于該樣點序列χ(0),χ(1),χ(2),χ(3),......,χ(η),......,每個變化周期內(nèi)包括兩個值非常為零的樣點段和兩個值常為零的樣點段,且每個變化周期內(nèi)包括5個輸入樣點。例如,對于第一個變化周期內(nèi)的輸入樣點包括χ(0),χ(1),χ(2),χ(3),χ(4),第一個變化周期內(nèi)包括的兩個值非常為零的樣點段分別為χ(0)和χ(3)以及兩個值常為零的樣點段分別為X(I)X(2)和χ⑷。步驟303創(chuàng)建一個窗長為該FIR濾波器的抽頭數(shù)目4的輸入窗,根據(jù)創(chuàng)建的輸入窗確定該FIR濾波器包括2個乘法器和1個加法器;具體地,創(chuàng)建一個輸入窗,且設(shè)置該輸入窗的窗長為該FIR濾波器的抽頭數(shù)目4,將該樣點序列包括的輸入樣點依次輸入到該輸入窗中,并且每次向輸入窗中輸入一個輸入樣點時,統(tǒng)計每次落在輸入框中的值非常為零的輸入樣點的個數(shù),選擇值最大的個數(shù),其中,對于該樣點序列最大的個數(shù)為2,根據(jù)個數(shù)2確定優(yōu)化后的該FIR濾波器包括2個乘法器和1個加法器。例如,如圖8所示,設(shè)計優(yōu)化后的該FIR濾波器包括兩個乘法器和一個加法器。步驟304將每個變化周期內(nèi)包括的五個輸入樣點χ(η)、χ(η+1)、χ(η+2)、χ(η+3)、x(n+4)的編號分別映射成新編號s0、si、s2、s3、s4;具體地,將第一個變化周期內(nèi)包括的五個輸入樣點X(O)、X(I)、x(2)、x(3)、x(4)的編號,分別映射為新編號s0、si、s2、s3、s4;將第二個變化周期內(nèi)包括的五個輸入樣點χ(5)、χ(6)、χ(7)、χ(8)、χ(9)的編號,分別映射為新編號s0、si、s2、s3、s4、s5,......將其他每個變化周期內(nèi)包括的五個輸入樣點x(n)、χ(η+1)、χ(η+2)、χ(η+3)、χ(η+4)的編號,分別映射成新編號s0、si、s2、s3、s4......,如此使得在該樣點序列中,不同變化周期內(nèi)的位置相同的輸入樣點對應(yīng)同一個新編號,如表3所示。表3x(0)x(l)χ(2)χ(3)χ(4)χ(5)χ(6)χ(7)χ(8)......~~~SOSlS2S3S4SOSlS2S3......~χ(η-4)χ(η-3)χ(η-2)χ(η-1)χ(η)χ(η+1)χ(η+2)χ(η+3)χ(η+4)......~~SlS2S3S4SOSlS2S3S4......~步驟305對于該樣點序列中的任意一個變化周期內(nèi)包括的輸入樣點分別為χ(η),χ(η+1),χ(η+2),χ(η+3)和χ(η+4),通過該FIR濾波器的時域表達(dá)式,對該變化同期內(nèi)的每個輸入樣點進(jìn)行展開,得到每個輸入樣點的時域表達(dá)式,如(4)式所示;4其中,在本實施例中,該FlR濾器的時域表達(dá)式為y(n)=J]h(k)x(n-k),該變化周k=0期內(nèi)的輸入樣點乂(11)、1(11+1)3(11+2)^Pχ(η+3)的時域表達(dá)式分別為y(n)=h(0)x(n)+h(l)x(n-l)+h(2)x(n-2)+h(3)x(n-3);(4)y(n+1)=h(0)x(n+1)+h(1)x(n)+h(2)x(n-1)+h(3)x(n-2);iy(n+2)=h(0)x(n+2)+h(l)x(n+l)+h(2)x(n)+h(3)x(n-l);y(n+3)=h(0)x(n+3)+h(l)x(n+2)+h(2)x(n+l)+h(3)x(n);y(n+4)=h(0)x(n+4)+h(1)x(n+3)+h(2)x(n+2)+h(3)x(n+1)。其中,假設(shè),輸入樣點x(n)和x(n+3)是值非常為零的輸入樣點,則輸入樣點χ(n-2)是值非常為零的輸入樣點,輸入樣點χ(η-3)、χ(η-1)、χ(η+1)、χ(η+2)、χ(η+4)都是值常為零的輸入樣點。步驟306對該變化周期內(nèi)包括的每個輸入樣點的時域表達(dá)式進(jìn)行簡化,得到簡化后的每個輸入樣點的時域表達(dá)式,如(5)式所示;具體地,在如(4)式所示的該變化周期內(nèi)的每個輸入樣點的表達(dá)式中,消除包括值常為零的輸入樣點的數(shù)據(jù)項,得到簡化后的每個輸入樣點的時域表達(dá)式,如(5)式所示;<formula>formulaseeoriginaldocumentpage12</formula>其中,假設(shè),第η個輸入樣點對應(yīng)的新編號為sO,則第n+l、n+2、n+3、n+4個輸入樣點對應(yīng)的新編號分別為sO、si、s2、s3、s4。步驟307對于(5)式所示的簡化后的每個輸入樣點的時域表達(dá)式,在每個輸入樣點的時域表達(dá)式中將輸出樣點的編號替換成對應(yīng)的輸入樣點的新編號;其中,即將每個輸出樣點y(n)、y(n+1)、y(η+2)、y(η+3)、y(η+4)中的編號分別替換成新編號80、81、82、83、84,得到如(6)式所示的時域表達(dá)式;<formula>formulaseeoriginaldocumentpage12</formula>步驟308根據(jù)如(6)式所示的每個輸入樣點的時域表達(dá)式,建立該變化周期內(nèi)的每個輸入樣點的新編號與抽頭系數(shù)的對應(yīng)關(guān)系,如表4所示;表4<table>tableseeoriginaldocumentpage12</column></row><table>步驟309對于該樣點序列χ(0),χ(1),χ(2),χ(3),......,χ(η),......,將該樣點序列中的輸入樣點依次輸入到輸入窗中,根據(jù)當(dāng)前輸入到輸入窗中的輸入樣點對應(yīng)的新編號,獲取對應(yīng)的抽頭系數(shù),將獲取的抽頭系數(shù)分別輸入到該FIR濾波器的乘法器中;具體地,對該樣點序列χ(0),χ(1),χ(2),χ(3),......,χ(η),......,將該樣點序列中的每個輸入樣點依次輸入到輸入窗中,獲取當(dāng)前輸入到輸入窗中的輸入樣點對應(yīng)的新編號,根據(jù)該新編號從如表4所示的新編號與抽頭系數(shù)的對應(yīng)關(guān)系中查找對應(yīng)的兩個抽頭系數(shù),將查找的兩個抽頭系數(shù)分別輸入到該FIR濾波器的兩個乘法器中。例如,假設(shè)輸入框中已存在輸入樣點X(O),X(I),x(2),再向該輸入框中輸入下一個輸入樣點X(3),根據(jù)輸入樣點X(3)對應(yīng)的新編號S3,從表4中查找對應(yīng)的抽頭系數(shù)分別為h(0)和h(3),將查找的兩個抽頭系數(shù)分別輸入到如圖8所示的FIR濾波器的兩個乘法器中。步驟310在落在輸入窗中的每個輸入樣點中獲取值非常為零的輸入樣點,將獲取的每個值非常為零的輸入樣點輸入到該FIR濾波器的兩個乘法器。其中,該FIR濾波器根據(jù)輸入的抽頭系數(shù)和值非常為零的輸入樣點,計算出當(dāng)前輸入到輸入窗中的輸入樣點對應(yīng)的輸出樣點。例如,落在在輸入窗中的輸入樣點包括χ(0),χ⑴,χ(2),χ(3),從輸入框中獲取值非常為0的輸入樣點X(O)和χ(3),將獲取的兩個輸入樣點X(O)和x(3)分別輸入到如圖8所示的FIR濾波器中的兩個乘法器中,再由該FIR濾波器輸出輸入樣點χ(3)對應(yīng)的輸出樣點y(3)=h(0)χ(3)+h(3)χ(0)。其中,如果再向輸入框中輸入下一個輸入樣點,則返回步驟309開始執(zhí)行。在本實施例中,由于該FIR濾波器的抽頭數(shù)目為4,在未優(yōu)化之前該FIR濾波器需要4個乘法器和3個加法器,對該FIR濾波器進(jìn)行優(yōu)化后,該FIR濾波器需要2個乘法器和1個加法器。所以優(yōu)化后的FIR濾波器減少了乘法器和加法器的個數(shù),從而減小了FIR濾波器的面積,降低功耗和成本。在本發(fā)明實施例中,根據(jù)最多落在輸入窗中的值非常為零的輸入樣點個數(shù),確定FIR濾波器的乘法器的個數(shù)和加法器的個數(shù);再向FIR濾波器中輸入輸入樣點時,獲取抽頭系數(shù)以及從輸入窗中獲取值非常為零的輸入樣點,再將獲取的抽頭系數(shù)和值非常為零的輸入樣點輸入到FIR濾波器的乘法器中;其中,輸入窗的窗長為FIR濾波器的抽頭數(shù)目,如此,最多落在輸入窗中的值非常為零的輸入樣點的個數(shù)小于FIR濾波器的抽頭數(shù)目,使得FIR濾波器包括的乘法器的個數(shù)小于FIR濾波器的抽頭數(shù)目,加法器的個數(shù)小于FIR濾波器的抽頭數(shù)目減1,如此,減少了FIR濾波器的面積,降低FIR濾波器的功耗和成本。實施例4如圖9所示,本發(fā)明實施例提供了一種優(yōu)化FIR濾波器的方法,包括判斷模塊401,用于判斷出樣點序列中的值非常為零的樣點段和值常為零的樣點段的排列規(guī)律周期性地變化以及任意值非常為零的樣點段包括的輸入樣點的個數(shù)小于FIR濾波器的抽頭數(shù)目;確定模塊402,用于根據(jù)落在輸入窗中的值非常為零的輸入樣點個數(shù),確定該FIR濾波器的乘法器個數(shù)和加法器個數(shù),其中,該輸入窗的窗長為該FIR濾波器的抽頭數(shù)目;第一創(chuàng)建模塊403,用于將不同變化周期中的位置相同的輸入樣點的編號映射成同一個新編號,根據(jù)一個變化周期中的輸入樣點的時域表達(dá)式和輸入樣點的值,建立新編號與抽頭系數(shù)的對應(yīng)關(guān)系;其中,確定模塊402具體包括輸入單元,用于將樣點序列中的輸入樣點依次輸入到該輸入窗中,且統(tǒng)計每次落在該輸入窗中的值非常為零的輸入樣點個數(shù);其中,該輸入窗的窗長為該FIR濾波器的抽頭數(shù)目;確定單元,用于從統(tǒng)計的個數(shù)中選擇值最大的個數(shù),確定該FIR濾波器包括值最大的個數(shù)數(shù)量的乘法器和值最大的個數(shù)數(shù)量減一的加法器;其中,第一創(chuàng)建模塊403具體包括映射單元,用于將不同變化周期中的位置相同的輸入樣點的編號映射成同一個新編號;展開單元,用于根據(jù)該FIR濾波器的時域表達(dá)式,對該輸入樣點進(jìn)行展開得到該輸入樣點的時域表達(dá)式;消除單元,用于在該輸入樣點的時域表達(dá)式中,消除時域表達(dá)式中的包括值常為零的輸入樣點的數(shù)據(jù)項;替換單元,用于在消除后的時域表達(dá)式中,將表達(dá)式中的輸出樣點的編號替換為該輸入樣點的新編號;創(chuàng)建單元,用于根據(jù)替換后的時域表達(dá)式,建立新編號與所述抽頭系數(shù)的對應(yīng)關(guān)系;進(jìn)一步地,該裝置還包括第二創(chuàng)建模塊,用于創(chuàng)建該輸入窗并將該輸入窗的窗長設(shè)置為該FIR濾波器的抽頭數(shù)目;進(jìn)一步地,該裝置還包括輸入模塊,用于將該樣點序列中的輸入樣點依次輸入到該輸入窗中,根據(jù)當(dāng)前輸入到該輸入框中的輸入樣點獲取抽頭系數(shù);獲取落在該輸入窗中值非常為零的輸入樣點;將獲取的值非常為零的輸入樣點和獲取的抽頭系數(shù)輸入到該FIR濾波器的乘法器中;其中,輸入模塊,具體用于將該樣點序列中的輸入樣點依次輸入到該輸入窗中,根據(jù)當(dāng)前輸入到該輸入窗中的輸入樣點,映射出對應(yīng)的新編號,根據(jù)映射的新編號從新編號與抽頭系數(shù)的對應(yīng)關(guān)系中,查找對應(yīng)的抽頭系數(shù);獲取落在該輸入窗中值非常為零的輸入樣點;將值非常為零的輸入樣點和抽頭系數(shù)輸入到該FIR波波器的乘法器中。在本發(fā)明實施例中,根據(jù)最多落在輸入窗中的值非常為零的輸入樣點個數(shù),確定FIR濾波器的乘法器的個數(shù)和加法器的個數(shù);再向FIR濾波器中輸入輸入樣點時,獲取抽頭系數(shù)以及從輸入窗中獲取值非常為零的輸入樣點,再將獲取的抽頭系數(shù)和值非常為零的輸入樣點輸入到FIR濾波器的乘法器中;其中,輸入窗的窗長為FIR濾波器的抽頭數(shù)目,如此,最多落在輸入窗中的值非常為零的輸入樣點的個數(shù)小于FIR濾波器的抽頭數(shù)目,使得FIR濾波器包括的乘法器的個數(shù)小于FIR濾波器的抽頭數(shù)目,加法器的個數(shù)小于FIR濾波器的抽頭數(shù)目減1,如此,減少了FIR濾波器的面積,降低功耗和成本。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求一種優(yōu)化FIR濾波器的方法,其特征在于,所述方法包括當(dāng)判斷出樣點序列中的值非常為零的樣點段和值常為零的樣點段的排列規(guī)律周期性地變化以及任意值非常為零的樣點段包括的輸入樣點的個數(shù)小于FIR濾波器的抽頭數(shù)目時,根據(jù)落在輸入窗中的值非常為零的輸入樣點個數(shù),確定所述FIR濾波器的乘法器個數(shù)和加法器個數(shù),所述輸入窗的窗長為所述FIR濾波器的抽頭數(shù)目;將不同變化周期中的位置相同的輸入樣點的編號映射成同一個新編號,根據(jù)一個變化周期中的輸入樣點的時域表達(dá)式和輸入樣點的值,建立所述新編號與抽頭系數(shù)的對應(yīng)關(guān)系。2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)落在輸入窗中的值非常為零的輸入樣點個數(shù),確定所述FIR濾波器的乘法器個數(shù)和加法器個數(shù),包括將所述樣點序列中的輸入樣點依次輸入到所述輸入窗中,且統(tǒng)計每次落在所述輸入窗中的值非常為零的輸入樣點個數(shù);從所述統(tǒng)計的個數(shù)中選擇值最大的個數(shù),確定所述FIR濾波器包括所述值最大的個數(shù)數(shù)量的乘法器和所述值最大的個數(shù)數(shù)量減一的加法器。3.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)一個變化周期中的輸入樣點的時域表達(dá)式和輸入樣點的值,建立所述新編號與抽頭系數(shù)的對應(yīng)關(guān)系,包括根據(jù)所述FIR濾波器的時域表達(dá)式,對所述輸入樣點進(jìn)行展開得到所述輸入樣點的時域表達(dá)式;在所述輸入樣點的時域表達(dá)式中,消除所述時域表達(dá)式中的包括值常為零的輸入樣點的數(shù)據(jù)項;在所述消除后的時域表達(dá)式中,將表達(dá)式中的輸出樣點的編號替換為所述輸入樣點的新編號;根據(jù)所述替換后的時域表達(dá)式,建立所述新編號與所述抽頭系數(shù)的對應(yīng)關(guān)系。4.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)落在所述輸入窗中的值非常為零的輸入樣點個數(shù),確定所述FIR濾波器的乘法器個數(shù)和加法器個數(shù)之前,還包括創(chuàng)建所述輸入窗并將所述輸入窗的窗長設(shè)置為所述FIR濾波器的抽頭數(shù)目。5.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)一個變化周期中的輸入樣點的時域表達(dá)式和輸入樣點的值,建立所述新編號與抽頭系數(shù)的對應(yīng)關(guān)系之后,還包括將所述樣點序列中的輸入樣點依次輸入到所述輸入窗中,根據(jù)當(dāng)前輸入到所述輸入框中的輸入樣點獲取抽頭系數(shù);獲取落在所述輸入窗中值非常為零的輸入樣點;將所述值非常為零的輸入樣點和所述抽頭系數(shù)輸入到所述FIR濾波器的乘法器中。6.如權(quán)利要求5所述的方法,其特征在于,所述根據(jù)當(dāng)前輸入到所述輸入框中的輸入樣點獲取抽頭系數(shù),包括根據(jù)當(dāng)前輸入到所述輸入窗中的輸入樣點,映射出對應(yīng)的新編號,根據(jù)所述新編號從所述新編號與抽頭系數(shù)的對應(yīng)關(guān)系中,查找對應(yīng)的抽頭系數(shù)。7.一種優(yōu)化FIR濾波器的裝置,其特征在于,所述裝置包括判斷模塊,用于判斷出樣點序列中的值非常為零的樣點段和值常為零的樣點段的排列規(guī)律周期性地變化以及任意值非常為零的樣點段包括的輸入樣點的個數(shù)小于FIR濾波器的抽頭數(shù)目;確定模塊,用于根據(jù)落在輸入窗中的值非常為零的輸入樣點個數(shù),確定所述FIR濾波器的乘法器個數(shù)和加法器個數(shù),所述輸入窗的窗長為所述FIR濾波器的抽頭數(shù)目;第一創(chuàng)建模塊,用于將不同變化周期中的位置相同的輸入樣點的編號映射成同一個新編號,根據(jù)一個變化周期中的輸入樣點的時域表達(dá)式和輸入樣點的值,建立所述新編號與抽頭系數(shù)的對應(yīng)關(guān)系。8.如權(quán)利要求7所述的裝置,其特征在于,所述確定模塊包括輸入單元,用于將所述樣點序列中的輸入樣點依次輸入到所述輸入窗中,且統(tǒng)計每次落在所述輸入窗中的值非常為零的輸入樣點個數(shù);所述輸入窗的窗長為所述FIR濾波器的抽頭數(shù)目;確定單元,用于從所述統(tǒng)計的個數(shù)中選擇值最大的個數(shù),確定所述FIR濾波器包括所述值最大的個數(shù)數(shù)量的乘法器和所述值最大的個數(shù)數(shù)量減一的加法器。9.如權(quán)利要求7所述的裝置,其特征在于,所述第一創(chuàng)建模塊包括映射單元,用于將不同變化周期中的位置相同的輸入樣點的編號映射成同一個新編號;展開單元,用于根據(jù)所述FIR濾波器的時域表達(dá)式,對所述輸入樣點進(jìn)行展開得到所述輸入樣點的時域表達(dá)式;消除單元,用于在所述輸入樣點的時域表達(dá)式中,消除所述時域表達(dá)式中的包括值常為零的輸入樣點的數(shù)據(jù)項;替換單元,用于在所述消除后的時域表達(dá)式中,將表達(dá)式中的輸出樣點的編號替換為所述輸入樣點的新編號;創(chuàng)建單元,用于根據(jù)所述替換后的時域表達(dá)式,建立所述新編號與所述抽頭系數(shù)的對應(yīng)關(guān)系。10.如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括第二創(chuàng)建模塊,用于創(chuàng)建所述輸入窗并將所述輸入窗的窗長設(shè)置為所述FIR濾波器的抽頭數(shù)目。11.如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括輸入模塊,用于將所述樣點序列中的輸入樣點依次輸入到所述輸入窗中,根據(jù)當(dāng)前輸入到所述輸入框中的輸入樣點獲取抽頭系數(shù);獲取落在所述輸入窗中值非常為零的輸入樣點;將所述值非常為零的輸入樣點和所述抽頭系數(shù)輸入到所述FIR濾波器的乘法器中。12.如權(quán)利要求11所述的裝置,其特征在于,所述輸入模塊,具體用于將所述樣點序列中的輸入樣點依次輸入到所述輸入窗中,根據(jù)當(dāng)前輸入到所述輸入窗中的輸入樣點,映射出對應(yīng)的新編號,根據(jù)所述新編號從所述新編號與抽頭系數(shù)的對應(yīng)關(guān)系中,查找對應(yīng)的抽頭系數(shù);獲取落在所述輸入窗中值非常為零的輸入樣點;將所述值非常為零的輸入樣點和所述抽頭系數(shù)輸入到所述FIR波波器的乘法器中。全文摘要本發(fā)明實施例公開了一種優(yōu)化FIR濾波器的方法及裝置,屬于計算機領(lǐng)域。所述方法包括當(dāng)判斷出樣點序列中的值非常為零的樣點段和值常為零的樣點段的排列規(guī)律周期性地變化以及任意值非常為零的樣點段包括的輸入樣點的個數(shù)小于FIR濾波器的抽頭數(shù)目時,根據(jù)落在輸入窗中的值非常為零的輸入樣點個數(shù),確定所述FIR濾波器的乘法器個數(shù)和加法器個數(shù);將不同變化周期中的位置相同的輸入樣點的編號映射成同一個新編號,根據(jù)一個變化周期中的輸入樣點的時域表達(dá)式和輸入樣點的值,建立所述新編號與抽頭系數(shù)的對應(yīng)關(guān)系。所述裝置包括判斷模塊、確定模塊和第二創(chuàng)建模塊。本發(fā)明實施例能夠減少FIR濾波器的面積、功耗和成本。文檔編號H03H17/02GK101834582SQ20101018743公開日2010年9月15日申請日期2010年5月28日優(yōu)先權(quán)日2010年5月28日發(fā)明者王小璐,王志斌,顧培培申請人:華為技術(shù)有限公司