專利名稱:流水線式并行-串行架構(gòu)最小均方自適應(yīng)濾波器及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及最小均方自適應(yīng)濾波器,特別涉及最小均方算法的流水線式架構(gòu)的自適應(yīng)濾波器。
最小均方(Least Mean Spuare,以下簡稱LMS)自適應(yīng)濾波器算法已有許多應(yīng)用。在這些LMS的使用場合中,輸入過程的統(tǒng)計特性是未知或隨時變化的,例如噪聲消除、信號增強(line enhancing)、及自適應(yīng)陣列處理等,此算法使用一由原始輸入信號驅(qū)動的橫截濾波器(transversal filter)結(jié)構(gòu),目的在于將均方誤差(mean square error)最小化。
LMS算法經(jīng)常被選用于硬件實現(xiàn)中,因為此算法不需先得知所處理信號的高階統(tǒng)計特性即可處理自適應(yīng)濾波器的問題。LMS算法的推導(dǎo)參考B.Widrow及S.D.Steams所著“Adaptive Signal Processing(自適應(yīng)信號處理)”(Prentice-Hall公司,1985出版)一書的第六章?,F(xiàn)有技術(shù)中LMS算法的橫截(transversal)濾波器實現(xiàn)方式為一時域(time-domain)網(wǎng)絡(luò),用以將輸入信號的各時間點上的取樣加以加權(quán)并求和,以產(chǎn)生一極近似于原始信號的輸出信號。這些應(yīng)用的例子,均使用順序處理(sequential processing)或微處理器控制。
實現(xiàn)LMS算法的N階濾波器,可由下列方程式表示y(n)=Σk=0N-1Ck(n)x(n-k)]]>e(n)=g(n)-y(n)Ck(n+1)=Ck(n)+μe(n)x(n-k)k=0,1,...,N-1其中x(n)為濾波器在時間點n時的輸入;Ck(n)為時間點n時,濾波器的第k個系數(shù);y(n)為濾波器輸出,g(n)為期望的結(jié)果,e(n)為輸出與期望結(jié)果間的誤差。而μ為更新濾波器系數(shù)的步長(step size)。
LMS算法一般以橫截(transversal)方式予以實現(xiàn)(如
圖1中的5級濾波器例子所示),特別是在高速的應(yīng)用場合中。此結(jié)構(gòu)包含濾波器本體核心、誤差發(fā)生器、以及反饋環(huán)路。濾波器核心包含圖1中虛線內(nèi)的范圍,包括橫截式有限沖激響應(yīng)(finite impulse response,以下簡稱FIR)濾波器部分以及系數(shù)更新部分。關(guān)于此現(xiàn)有技術(shù)的完整敘述記載于Chester等人的專利(美國專利號5,450,339),此現(xiàn)有技術(shù)的橫截式LMS實現(xiàn)方法有幾項限制在需要較長濾波器的應(yīng)用中,用以執(zhí)行方塊38加法的樹狀加法器(summation tree)會導(dǎo)致濾波器的時間延遲(latency)問題。例如,當(dāng)濾波器愈長(即FIR濾波器的階數(shù)愈高),自適應(yīng)濾波器的分支級數(shù)(tap)便愈多,而由樹狀加法器造成的時間延遲便愈長;此時間延遲會延誤誤差的計算而終將導(dǎo)致如此的情況進行誤差計算時相對應(yīng)的數(shù)據(jù)取樣已經(jīng)離開濾波器的狀態(tài)寄存器。除此之外,樹狀加法器限制硬件設(shè)計的規(guī)律及模塊化,這會嚴(yán)重限制集成電路的實現(xiàn),因為其架構(gòu)上的可級聯(lián)性(cascadability)受到限制。
LMS算法也可由一特別為LMS運算設(shè)計的可重新組態(tài)的數(shù)據(jù)路徑(re-configurable data path)加以實現(xiàn),或者甚至使用一個數(shù)字信號處理器。前者的效率高于后者,然而其速度仍遠(yuǎn)低于使用特定并行硬件的實現(xiàn)方式。此外,數(shù)據(jù)的交換、存儲以及組態(tài)的控制會導(dǎo)致可觀的硬件上的額外負(fù)擔(dān)。圖2所示為一現(xiàn)有技術(shù)的實現(xiàn)方式,該作法使用一可重新組態(tài)的硬件架構(gòu)來執(zhí)行LMS算法及其他乘法運算,其完整敘述參考Corleto等人的專利(美國專利號5,001,661)。
為了克服標(biāo)準(zhǔn)LMS算法先天上的缺點,有數(shù)種改進方式已被提出以解決硬件實現(xiàn)上的困難,圖3所示的現(xiàn)有技術(shù)在算法中,有限沖激響應(yīng)部分采用直接的橫截式濾波器作法,但濾波器系數(shù)使用更新再加以延遲的版本。圖3的實施例出自美國專利號4,726,036(Sawyer等人),并在其中有完整敘述。雖然在此作法中由于抽頭延遲線(tapped delay line)的新架構(gòu)而縮短了某些硬件上的關(guān)鍵路徑(critical path),樹狀加法器30所造成的主要缺點仍然存在。
另一類LMS的改進型式,稱為延遲式的LMS(delayedLMS,以下簡稱DLMS),在最近被提出,DLMS算法在G.Long,G.Ling及J.G.Proakis名為“The LMS algorithm with Delayed Coefficient Adaptation(采用延遲式系數(shù)自適應(yīng)的LMS算法)”(IEEE Transactions of Acoustics,Speech,and SignalProcessing,vol.37.No.9,1989年9月)一文中首次提出。此DLMS算法的一種硬件實現(xiàn)在C.L.Wang“Bit-Serial VLSI Implementation of DelayedLMS Adaptive FIR Filters(延遲式LMS自適應(yīng)FIR濾波器的位串行VLSI實現(xiàn))”(IEEE Transactions on Signal Processing,vol.42.No.8,1994年8月)一文中提出,圖4、5、6顯示DLMS算法的數(shù)據(jù)流程圖,以及實現(xiàn)DLMS算法的兩種心臟收縮式(Systolic)架構(gòu)。在圖5及圖6的實現(xiàn)方式中樹狀加法器已被去除。雖然圖5及圖6的DLMS算法的實現(xiàn)方式,解決某些程度的硬件運算上的關(guān)鍵路徑問題,并且提供了超大規(guī)模集成電路實現(xiàn)的模塊化可能性,然而這些架構(gòu)仍未被最優(yōu)化。于是,本發(fā)明披露一種最小均方自適應(yīng)濾波器的方法與裝置,提出一種結(jié)合并行與數(shù)字串行的改進LMS算法架構(gòu),能降低數(shù)據(jù)交換時所帶來的額外負(fù)擔(dān),以縮短硬件運算上的關(guān)鍵路徑,使數(shù)據(jù)能在硬件間以最經(jīng)濟有效的方式流動,在配置時亦能降低硬件間連線復(fù)雜度,并使硬件能更規(guī)則化并極易實現(xiàn)模塊化。
本發(fā)明用以進行最小均方自適應(yīng)濾波器中FIR乘法運算的濾波器系數(shù)與時間指標(biāo)(time index)有關(guān),且FIR部分中每個分支抽頭(tap)所使用的系數(shù)各屬于不同的時間指標(biāo)。此方法使硬件能實現(xiàn)最佳的模塊化,及更易被以超大規(guī)模集成電路(VLSI)實施。除此之外,一種改進的乘加器(multiplier andaccumulator)也被揭示以實現(xiàn)本發(fā)明的最小均方自適應(yīng)濾波器。
根據(jù)本發(fā)明的一個實施例,數(shù)字輸入信號x(n)的最小均方自適應(yīng)濾波器,依照下列數(shù)學(xué)式提供輸出信號y(n)y(n)=Σk=0N-1Ck(n-k)x(n-k)]]>e(n)=g(n)-y(n)Ck(n+1)=Ck(n)+μe(n)x(n-k)k=0,1,...,N-1其中Ck(n)為在時間n時的第k個濾波器系數(shù);g(n)為期望的結(jié)果;e(n)為剩余的誤差;μ為更新系數(shù)所使用的步長,而N為濾波器的階數(shù)(或/即tap數(shù))。注意其中乘法運算的濾波器系數(shù)與時間指標(biāo)(time index)有關(guān),且每個抽頭(tap)所使用的系數(shù)各屬于不同的時間指標(biāo)。初始時,主抽頭的Ck(n)=1,而其余抽頭的Ck(n)=0。
根據(jù)本發(fā)明的另一種表示方式,當(dāng)上述數(shù)字輸入信號x(n)、輸出y(n)、系數(shù)Ck(n)、期望結(jié)果g(n)及誤差e(n)為復(fù)數(shù)時,此方法以下式表示。初始時,主抽頭的Ckr(n)=1,而其余抽頭的Ckr(n)=0;且所有的Cki(n)=0。(下標(biāo)r及i分別表示實部與虛部)er(n)=gr(n)-yr(n)ei(n)=gi(n)-yi(n)Ckr(n+1)=Ckr(n)+μ[er(n)xr(n-k)ei(n)xi(n-k)]Cki(n+1)=Cki(n)+μ[er(n)xi(n-k)+ei(n)xr(n-k)]yr=Σk=0N-1Ckr(n-k)xr(n-k)-Σk=0N-1Cki(n-k)xi(n-k)]]>yi=Σk=0N-1Ckr(n-k)xi(n-k)+Σk=0N-1Cki(n-k)xr(n-k)]]>本發(fā)明的算法的實現(xiàn)能使硬件在配置時,降低硬件間連線設(shè)計的復(fù)雜度,并使硬件能更規(guī)則化并極易實現(xiàn)模塊化,更易被以超大規(guī)模集成電路(VLSI)實施。
參照隨后的詳細(xì)敘述以及相應(yīng)的附圖,前文所述本發(fā)明的觀點及衍生的優(yōu)點將更易于被了解,其中圖1-6為最小均方自適應(yīng)濾波器的數(shù)種現(xiàn)有技術(shù)實現(xiàn)方式。圖7為根據(jù)本發(fā)明得到的并行串行(parallel-serial)實數(shù)型LMS自適應(yīng)濾波器的實施例。圖8為根據(jù)本發(fā)明得到的并行-串行復(fù)數(shù)型LMS自適應(yīng)濾波器實施例的示意圖。圖9所示為圖8中并行-串行復(fù)數(shù)型LMS自適應(yīng)濾波器中的運算方塊(Calculation block)。圖10為根據(jù)本發(fā)明得到的并行-串行流水線式(pipelined)乘加器的實施例。圖11所示為圖10中的部分積(partial product)產(chǎn)生器的實施例。圖12所示為圖10中的并行/串行累加器的實施例。圖13所示為圖10中的進位存儲(carry-save)加法器的實施例。圖14所示為本發(fā)明的實施例的整個乘加器的架構(gòu)。
本發(fā)明的架構(gòu)揭示一種新的LMS算法,并能極有效地以VLSI架構(gòu)加以實現(xiàn),本發(fā)明所改進的實數(shù)型LMS算法,可由下列方程式表示y(n)=Σk=0N-1Ck(n-k)x(n-k)]]>e(n)=g(n)-y(n)Ck(n+1)=Ck(n)+μe(n)x(n-k)k=0,1,...,N-1其中x(n)為時間n時的濾波器輸入;Ck(n)為時間n時的第k個濾波器系數(shù);y(n)為濾波器輸出,g(n)為期望的結(jié)果,e(n)為誤差;μ為更新系數(shù)時的步長。初始時,主抽頭的Ck(n)=1,而其余抽頭的Ck(n)=0。
參照圖7所示,運用上述實數(shù)型LMS算法,為本發(fā)明所改進的實數(shù)型LMS自適應(yīng)濾波器的硬件實現(xiàn)架構(gòu)。圖中粗線表示數(shù)據(jù)以并行方式傳遞;相對地,細(xì)線表示數(shù)據(jù)以串行方式傳遞。如圖7中所示,輸入信號x(n)送入濾波器701,而輸出信號y(n)為濾波器701的輸出。另外,圖中也表示了期望的響應(yīng)信號g(n)及用來更新濾波器系數(shù)的誤差e(n)。
濾波器701包含一個FIR部分703以及一個LMS自適應(yīng)部分705;另外,還包含一個誤差計算單元707、一個并行至串行轉(zhuǎn)換器709、及一個串行至并行轉(zhuǎn)換器711。誤差計算單元707計算g(n)及y(n)間的差并將此差乘以步長因數(shù)μ。而串行至并行轉(zhuǎn)換器711及并行至串行轉(zhuǎn)換器709,可由現(xiàn)有技術(shù)實現(xiàn)。其例子可參考M.Morris Mano所著的“Digital Logic andComputer Design(數(shù)字邏輯和計算機設(shè)計)”,(1979,prentice-Hall,Inc)。
FIR部分703包含一些乘法器721、加法器723、以及延遲元件725。如在實施例中所示,延遲元件可為D型觸發(fā)器。此外,加法器723為進位存儲加法器,其輸出為兩個輸入的和,乘法器721則為特定的并行/串行乘法器。(加法器及乘法器都將在隨后詳述)。LMS自適應(yīng)部分705也包含一些乘法器721、加法器723、以及延遲元件725。這些元件與FIR部分703中所用的相同。
本發(fā)明的技術(shù)特征之一為上述圖7內(nèi)所示,結(jié)合并行與數(shù)字串行(digital-serial)數(shù)據(jù)型態(tài)與運算方式的硬件架構(gòu)。其中結(jié)合并行與數(shù)字串行的數(shù)據(jù)傳遞架構(gòu),可降低數(shù)據(jù)交換時所帶來的額外負(fù)擔(dān),縮短硬件運算上的關(guān)鍵路徑,讓數(shù)據(jù)能在硬件間以最經(jīng)濟有效的方式流動,同樣地亦能降低硬件間連線復(fù)雜度。所謂并行的方式,表示使用數(shù)據(jù)的整個字長(word length),而所謂數(shù)字串行的方式,表示整個數(shù)據(jù)字長中的一個短的片段。數(shù)字串行的極端情況為使用單個位的位串行(bit-serial)電路。而當(dāng)考慮運算速度及硬件成本間的折衷平衡,以及當(dāng)使用了較精巧的運算電路的情形時,我們發(fā)現(xiàn)2位或4位數(shù)字串行的數(shù)位尺寸是很好的選擇。
參照圖8所示,為本發(fā)明的一個用以實現(xiàn)復(fù)數(shù)型LMS自適應(yīng)濾波器的硬件實現(xiàn)架構(gòu)。圖8與圖7極為相關(guān),在圖8中包含2個并行的分支,而每個分支實際上又包含兩份圖7所示的電路。兩個分支分別用以計算信號的實部部分及虛部部分。而在其它各方面,圖7與圖8則有相同的架構(gòu)。運用于本發(fā)明中的復(fù)數(shù)型LMS算法的方程式表示如下。初始時,主抽頭的Ckr(n)=1,而其余抽頭的Ckr(n)=0;且所有的Cki(n)=0)。(其中下標(biāo)“r”表示實數(shù)部分,“i”表示虛數(shù)部分)er(n)=gr(n)-yr(n)ei(n)=gi(n)-yi(n)Ckr(n+1)=Ckr(n)+μ[er(n)xr(n-k)-ei(n)xi(n-k)]Cki(n+1)=Cki(n)+μ[er(n)xi(n-k)+ei(n)xr(n-k)]y1=Σk=0N-1Ckr(n-k)xr(n-k)-Σk=0N-1Cki(n-k)xi(n-k)]]>yi=Σk=0N-1Ckr(n-k)xi(n-k)+Σk=0N-1Cki(n-k)xi(n-k)]]>如上列方程式所示,共有四組乘法及累加運算以計算輸出信號y(n)。因此圖8中有二個分開的主要分支,每個主要分支有兩個次級的分支,(故共有四個分支),圖8中的上方分支輸出yd,下方分支輸出yb及yc,ya及yc的和即為上述公式中輸出信號y(n)的實數(shù)部分yr(n)。其中要注意的是yc部分要加以變號,因兩個正虛數(shù)的乘積會形成一個負(fù)的實數(shù)。另一方面,yb及yd的和即為上列公式中輸出信號y(n)的虛數(shù)部分yi(n)。圖8表示了本發(fā)明中所用復(fù)數(shù)型LMS方程式的硬件架構(gòu)實現(xiàn)方式。
圖9所示為圖8中運算方塊801內(nèi)部的細(xì)節(jié)。如圖所示,方塊801由4個乘法器721、4個加法器723、以及5個延遲單元725組成。運算方塊801包含兩個實數(shù)的FIR抽頭及一個實數(shù)的系數(shù)更新裝置。此實數(shù)系數(shù)更新電路執(zhí)行兩個二維向量間的內(nèi)積運算。兩個運算方塊801組成一個復(fù)數(shù)的FIR抽頭。由于其規(guī)律性、模塊化、以及數(shù)據(jù)交換連接的局部性,此種硬件的分割方式在VLSI實現(xiàn)上有很高的效率。另外,如圖8所示,需要兩個額外的加法器將這四個部分結(jié)果求和,以形成濾波器的輸出(包含實數(shù)部分以及虛數(shù)部分),除此之外,另有串行至并行的轉(zhuǎn)換裝置將數(shù)據(jù)格式轉(zhuǎn)換,以適于外部的復(fù)數(shù)數(shù)據(jù)運算。
使本發(fā)明得以運作的關(guān)鍵元件之一為乘法器721和加法器723。圖10所示的為乘法器721及加法器723的實施例的方塊圖。如圖所示,兩個操作數(shù)被提供給乘法器721,其中“被乘數(shù)”以并行格式表示,而“乘數(shù)”以數(shù)字串行的格式表示。由于這個緣故,兩個操作數(shù)間的乘法運算被分為數(shù)個部分乘法執(zhí)行,直到以數(shù)字串行的數(shù)據(jù)完整地提供一整個乘數(shù)。在每個時鐘脈沖周期內(nèi),一個輸入的乘數(shù)位數(shù)(digit)和一個被乘數(shù)被相乘以算出一個部分乘積(partial product)。其中運算的細(xì)節(jié)視對乘數(shù)所做的算術(shù)上的重新編碼而定。重編碼方法中最常被使用的方法之一為Booth算法或改進的Booth算法。
圖10所示的是,乘數(shù)與被乘數(shù)被輸入一個部分乘積產(chǎn)生器1001。這個部分乘積產(chǎn)生器產(chǎn)生一個部分乘積,以作為一個并行/串行累加器1003的輸入數(shù)據(jù)。此并行/串行累加器1003的輸出則被輸入一個進位存儲加法器723。該進位存儲加法器723所對應(yīng)的也就是圖7及圖9中的進位存儲加法器723。
部分積產(chǎn)生器1001的細(xì)節(jié)描述于圖11中。如圖所示,部分積產(chǎn)生器1001包含一個重編碼器(recoder)1101及一個部分積選擇器1103。重編碼器1101使用一項重編碼算法將乘數(shù)重新編碼。此算法可以是Booth算法,或其他任一種乘數(shù)重編碼算法。Booth算法在本技術(shù)領(lǐng)域中為習(xí)知并廣為使用。在美國專利號5,574,672(Briggs)、4,817,092(Finegold)、及5,001,661(Corleto等人)等專利中有例子說明。
在實施例中,重編碼器的輸出是一個3位的信號,用以從預(yù)設(shè)的幾種被乘數(shù)的倍數(shù)中選出適當(dāng)?shù)牟糠址e。在此例中,一個16位的乘數(shù)被輸入一個改進的Booth重編碼器。此重編碼器的輸出字長為3位。(雖然在每個時鐘脈沖周期內(nèi)16位的乘數(shù)只有2位被處理)。此3位數(shù)據(jù)被部分積選擇器1103所使用,以輸出一個17位的部分積。此部分積再被送往累加器1003予以累加。(對一個16位乘數(shù)而言,有8個部分積需累加以得到一個乘積)。需注意的是,在此發(fā)明實施例中累加器1003只需要17位。在現(xiàn)有技術(shù)中,進行兩個16位數(shù)字的乘法需要使用32位的加法器。
在每個乘法運算的次循環(huán)(sub-cycle)中,累加器1003輸出兩位給加法器723。此二位即為乘法結(jié)果中的2個末位位(LSBs)。每個次循環(huán)中所送出的2位構(gòu)成乘法最后乘積的末16位。而前面的16位(MSBs)則在所有部分積都已被累加起來后才由累加器送出。這16個MSB及16個LSB則由一個由多路選擇器構(gòu)成的合并電路予以結(jié)合。
圖12顯示了并行/串行加法器的細(xì)節(jié),累加器1003包含一個加法器1201、一個D寄存器1203、一個移位器1205、一個并行至串行的緩沖器1207、以及一個多路選擇器1209。在運作上由部分積產(chǎn)生器1001所提供的部分積被送往加法器1201,加法器1201的另一個輸入為D寄存器1203的輸出。此加法器將二個輸出相加并將結(jié)果輸出到移位器1205及并行/串行緩沖器1207。移位器1205將加法器輸出移位后再送往D寄存器1203。此移位器同時提供一個串行的輸出給多路選擇器1209。并行/串行緩沖器1207將輸入的并行格式數(shù)據(jù)加以緩沖后提供一個串行輸出給多路選擇器1209。
圖13所示為圖10中進位存儲加法器723的進一步細(xì)節(jié)。如圖所示,加法器723由一個加法器和一個D寄存器組成。其中的累加器輸入來自前一級的累加結(jié)果。例如在圖7中,每個加法器723都有一個輸入來自前一級累加(上一級的濾波器分支抽頭或上一回的累加結(jié)果)。
圖14為此發(fā)明中乘法器的整體架構(gòu),如圖所示,一個被乘數(shù)Y及一個乘數(shù)X被輸入此裝置。被乘數(shù)Y的字長為WY位。乘數(shù)X的字長為WX位。乘數(shù)X被輸入重編碼器,而后以字長WX′位輸出。重編碼后的乘數(shù)(WX′位)以及被乘數(shù)被輸入部分積產(chǎn)生器以產(chǎn)生一個部分積{pp}。此部分積被送往加法器1,移位器及D寄存器用來將部分積移位,以使加法器1的輸出成為加法器1輸入的后WY+l+1-m位。在數(shù)個時鐘脈沖周期后,最后乘積的一半已經(jīng)由移位器被送往多路選擇器。此即乘積的后半部各位。至于前半部各位則由加法器1經(jīng)由并行至串行轉(zhuǎn)換器在幾個時鐘脈沖周期后送往多路選擇器。多路選擇器結(jié)合前半部各位及后半部各位以形成字長WX+WY的乘積。
此乘積被送到進位存儲加法器(add2)以與來自前一級的累加器輸入z相加。最后的累加總和再以串行至并行轉(zhuǎn)換器轉(zhuǎn)換成并行的數(shù)據(jù)型態(tài)輸出。
以上所圖示及說明的為此發(fā)明的一項較佳實施例。根據(jù)此發(fā)明涵蓋的范圍及精神,此發(fā)明還可以做多種的變化。
權(quán)利要求
1.一種最小均方自適應(yīng)濾波器方法,此方法根據(jù)以下的步驟,對輸入的數(shù)字信號x(n)進行數(shù)字濾波運算,以產(chǎn)生濾波器輸出信號y(n)初始狀態(tài)時,將主抽頭(main tap)的第k項濾波器系數(shù)Ck(n)初值設(shè)定為1,而其余抽頭的Ck(n)初值設(shè)定為0;每一時間點n時(1)運算出濾波器輸出y(n),其中y(n)=Σk=0N-1Ck(n-k)x(n-k),]]>N為濾波器的階數(shù);(2)運算出剩余的誤差e(n),其中e(n)=g(n)-y(n),而g(n)為所期望的響應(yīng)信號;(3)更新下一時間點的第k項濾波器系數(shù)Ck(n+1),其中Ck(n+1)=Ck(n)+μe(n)x(n-k),μ為更新系數(shù)所用的步長。
2.如權(quán)利要求1所述的濾波器方法,其中所述輸入信號x(n)、輸出信號y(n)、系數(shù)Ck(n)、期望響應(yīng)g(n)、及剩余誤差e(n)皆為復(fù)數(shù)時,濾波器使用的方法如下初始狀態(tài)時,將主抽頭的第k項濾波器系數(shù)Ckr(n)初值設(shè)定為1、Cki(n)設(shè)定為0;而其余抽頭的Ckr(n)、Cki(n)初值皆設(shè)定為0;每一時間點n時(1)運算出濾波器輸出yr(n)、yi(n),其中yr(n)=Σk=0N-1Crk(n-k)xr(n-k)-Σk=0N-1Cki(n-k)xi(n-k),]]>yi(n)=Σk=0N-1Ckr(n-k)xi(n-k)+Σk=0N-1Cki(n-k)xr(n-k),]]>而N為濾波器的階數(shù);(2)運算出剩余的誤差er(n)、ei(n),其中er(n)=gr(n)-yr(n),ei(n)=gi(n)-yi(n),而g(n)為所期望的響應(yīng)信號;(3)更新下一時間點的第k項濾波器系數(shù)Ckr(n+1)、Cki(n+1),其中Ckr(n+1)=Ckr(n)+μ[er(n)xr(n-k)-ei(n)xi(n-k)],Cki(n+1)=Cki(n)+μ[er(n)xi(n-k)-ei(n)xr(n-k)],而μ為更新系數(shù)所用的步長。
3.一種并行-串行乘加器,用以將一字長為WY的被乘數(shù)及一字長為Wx的乘數(shù)相乘以得到一乘積,再將此乘積與一累加器輸入相加,此并行-串行乘加器至少包含一并行-串行乘法器,至少包含(a)一重編碼器,用以接受所述乘數(shù)并輸出一個經(jīng)過重新編碼的有序序列;(b)一部分積產(chǎn)生器,根據(jù)所述被乘數(shù)及所述重編碼的有序序列,產(chǎn)生多個部分積;以及(c)一加法器,用來將多個部分積相加,以合成所述乘積;以及一數(shù)字串行加法器,所述加法器至少包含一進位存儲加法器,用來接受所述乘積及所述累加器輸入,以產(chǎn)生一輸出,所述輸出為所述乘積及累加器輸入之和。
4.如權(quán)利要求3所述的并行-串行乘加器,其中所述并行-串行乘法器還包含與所述加法器相串聯(lián)的一移位器和一D寄存器,用以將所述部分積相加。
5.如權(quán)利要求3所述的并行-串行乘加器,還包含一并行至串行的轉(zhuǎn)換器,用以將所述累加器輸入轉(zhuǎn)換為數(shù)字串行的格式,并將所述累加器輸入以數(shù)字串行的格式傳送至所述數(shù)字串行加法器。
6.如權(quán)利要求5中所述的并行-串行乘加器,還包含一串行至并行的轉(zhuǎn)換器,以將所述輸出轉(zhuǎn)換至并行格式。
7.如權(quán)利要求3、4、5或6所述的并行-串行乘加器,其中所述加法器在部分積正在被求和當(dāng)中,就將部分積的中間和(intermediate sum)的較低位(LSBs)以數(shù)字串行的格式輸出。
8.如權(quán)利要求7所述的并行-串行乘加器,還包含一多路選擇器,用以結(jié)合所述加法器在所有部分積被求和之后所產(chǎn)生的和的較高位(MSBs)及較低位,并將結(jié)果以數(shù)字串行格式輸出。
9.一種最小均方自適應(yīng)濾波器裝置,用以對輸入信號x(n)進行數(shù)字濾波以產(chǎn)生輸出信號y(n),此濾波器根據(jù)以下方式進行操作y(n)=Σk=0N-1Ck(n-k)x(n-k)]]>e(n)=g(n)-y(n)Ck(n+1)=Ck(n)+μe(n)x(n-k)k=0,1,...,N-1其中Ck(n)為在時間n時的第k項濾波器系數(shù);g(n)為所期望的響應(yīng)信號;e(n)為剩余的誤差;μ為更新系數(shù)所用的步長;N為濾波器的階數(shù)。此外,其中所述濾波器中的數(shù)學(xué)操作采用一并行-串行乘加器,以將一字長為WY的被乘數(shù)和一字長為WX的乘數(shù)相乘以合成一乘積,再將此乘積與累加器輸入相加;所述并行-串行乘加器至少包含一并行-串行乘法器,包含(a)一重編碼器,用以接受所述乘數(shù)并輸出一個經(jīng)過重新編碼的有序序列;(b)一部分積產(chǎn)生器,根據(jù)所述被乘數(shù)及所述重編碼的有序序列,產(chǎn)生多個部分積;以及(c)一加法器,用來將多個部分積相加以合成所述乘積;以及一數(shù)字串行加法器,所述加法器至少包含一進位存儲加法器,用來接受所述乘積及所述累加器輸入,以產(chǎn)生一輸出,所述輸出為所述乘積及累加器輸入之和。
10.如權(quán)利要求9所述的濾波器裝置,其中所述輸入信號x(n)、輸出信號y(n)、系數(shù)Ck(n)、期望響應(yīng)g(n)、及剩余誤差e(n)皆為復(fù)數(shù)時,濾波器根據(jù)以下方式進行操作er(n)=gr(n)-yr(n)ei(n)=gi(n)-yi(n)Ckr(n+1)=Ckr(n)+μ[er(n)Xr(n-k)-ei(n)xi(n-k)]Cki(n+1)=Ckr(n)+μ[er(n)xi(n-k)+ei(n)xr(n-k)]yr=Σk=0N-1Ckr(n-k)xr(n-k)-Σk=0N-1Cki(n-k)xi(n-k)]]>yi=Σk=0N-1Ckr(n-k)xi(n-k)+Σk=0N-1Cki(n-k)xr(n-k)]]>
11.如權(quán)利要求9或10所述的濾波器裝置,其中所述并行-串行乘法器,包含與所述加法器相串聯(lián)的一移位器和一D寄存器,用以將所述部分積相加。
12.如權(quán)利要求9或10所述的濾波器裝置,還包含一個并行至串行的轉(zhuǎn)換器,用以將所述累加器輸入轉(zhuǎn)換為數(shù)字串行的格式,并將所述累加器輸入以數(shù)字串行的格式傳送至所述數(shù)字串行加法器。
13.如權(quán)利要求12所述的濾波器裝置,還包含一個串行至并行的轉(zhuǎn)換器,以將該輸出轉(zhuǎn)換至并行格式。
14.如權(quán)利要求11所述的濾波器裝置,其中所述加法器在部分積正在被求和當(dāng)中就將部分積的中間和的較低位,以數(shù)字串行的格式輸出。
15.如權(quán)利要求14所述的濾波器裝置,還包含一多路選擇器,用以結(jié)合所述加法器在所有部分積被求和之后所產(chǎn)生的和的較高位及較低位,并將結(jié)果以數(shù)字串行格式輸出。
16.如權(quán)利要求13所述的濾波器裝置,其中所述加法器在部分積正在被求和當(dāng)中,就將部分積的中間和的較低位以數(shù)字串行的格式輸出。
17.如權(quán)利要求16所述的濾波器裝置,還包含一多路選擇器,用以結(jié)合所述加法器在所有部分積被求和之后所產(chǎn)生的和的較高位及較低位,并將結(jié)果以數(shù)字串行格式輸出。
18.如權(quán)利要求9或10所述的濾波器裝置,其中所述加法器在部分積正在被求和當(dāng)中,就將部分積的中間和的較低位以數(shù)字串行的格式輸出。
19.如權(quán)利要求18所述的濾波器裝置,還包含一多路選擇器,用以結(jié)合所述加法器在所有部分積被求和之后所產(chǎn)生的和的較高位及較低位,并將結(jié)果以數(shù)字串行格式輸出。
20.如權(quán)利要求12所述的濾波器裝置,其中所述加法器在部分積正在被求和當(dāng)中,就將部分積的中間和的較低位以數(shù)字串行的格式輸出。
21.如權(quán)利要求20所述的濾波器裝置,還包含一多路選擇器,用以結(jié)合所述加法器在所有部分積被求和之后所產(chǎn)生的和的較高位及較低位,并將結(jié)果以數(shù)字串行格式輸出。
全文摘要
一種最小均方自適應(yīng)濾波器的方法與裝置。其中,用以進行最小均方自適應(yīng)濾波器中有限沖激響應(yīng)(FIR)乘法運算的濾波器系數(shù)與時間指標(biāo)有關(guān),而有限沖激響應(yīng)濾波器部分中每個分支抽頭(tap)所使用的系數(shù)各屬于不同的時間指標(biāo)。此方法使超大規(guī)模集成電路的硬件實現(xiàn)得以模塊化且易于實現(xiàn)。此外,本發(fā)明中提出一種乘加器用以實現(xiàn)所提出的最小均方自適應(yīng)濾波器。
文檔編號H03H21/00GK1208994SQ9810401
公開日1999年2月24日 申請日期1998年1月22日 優(yōu)先權(quán)日1997年8月18日
發(fā)明者鐘和明, 黃國升, 蘇文光, 徐朝輝 申請人:財團法人工業(yè)技術(shù)研究院