專利名稱:降低自適應濾波器中計算復雜度的方法
技術領域:
本發明總的來說涉及自適應濾波器,并且更具體地說涉及一種降 低復雜度的遞歸最小二乘格型自適應濾波器。
背景技術:
自適應濾波器具有廣泛的應用,并且分別具有多種不同的結構, 其中每一種結構都有自身的特殊屬性。 一種特定的結構選擇可以依賴 于目標應用所需的特殊屬性。這些屬性,特別是其中的收斂速度、誤 調、跟蹤和計算需求,需要被評價和相互加權,從而確定用于目標應 用的適當結構。
當選擇一種用于非平穩信號環境中的自適應濾波器結構時,需要 特別考慮收斂速度、誤調和跟蹤性能。良好的跟蹤性能通常是相應算 法的收斂速度和誤調屬性的函數。然而,這些屬性可能在實際中是對 立的,因為較高的收斂速度一般可能導致所得到的濾波器的較高的收 斂誤差或者誤調。
遞歸最小二乘(RLS)算法總的來說是非平穩信號環境中一種較 好的工具,因為這種算法具有快速的收斂速度和較低的誤調。遞歸最小二乘格型(RLSL)算法是RLS算法的一種特殊版本。RLSL算法最 早是由Simon Haykin提出的,可在《自適應濾波器理論第三版 (Adaptive Filter Theory Third Edition)》這本書中找到。RLS型自適應 濾波器顯示出了快速的收斂速率,并相對地對特征值擴散程度的變化 不敏感。特征值是基準信號的相關屬性的度量,且特征值擴散程度通 常被定義為最大特征值與最小特征值的比率。較大的特征值擴散程度 顯著地減慢大多數自適應算法的收斂速度。
然而,RLS算法通常需要較多的計算資源,并不能應用至嵌入系 統。因此,有必要提供一種能夠減小RLSL型自適應濾波器的計算需求 的機制。
圖la-Id示例了使用一個自適應濾波器的四種應用的示意圖2是說明根據本發明的RLSL型自適應濾波器的框圖3是說明圖2中自適應濾波器的后向反射系數更新的框圖4是說明圖2中自適應濾波器的前向反射系數更新的框圖5是說明了二項展開式平均收斂誤差對比(入)的曲線圖6是說明了當入=0.994924時對于不同的泰勒級數長度的回波損
耗增強(ERLE)結果的曲線圖7是說明了當A =0.998957時對于不同的泰勒級數長度的回波損
耗增強(ERLE)結果的曲線圖8是說明了當入=0.999792時對于不同的泰勒級數長度的回波損
耗增強(ERLE)結果的曲線圖9是說明了使用自適應濾波器的通信裝置的框圖。
本發明的說明和示范實施例將依據上述附圖在下面進一步進行詳 細描述。
具體實施方式
提供一種降低m級自適應濾波器的計算復雜度的方法,該方法將 前向預測誤差平方的加權和展開為對應的二項級數展開式(binomial expansion series),將后向預測誤差平方的加權和展開為對應的二項級 數展開式,并通過由選擇它們對應的二項級數展開式的項數而估計的 前向和后向預測誤差平方的加權和來確定自適應濾波器的系數更新。 本發明由附加的權利要求進行定義。這些描述闡明了一些本發明實施 例的具體細節,但不應當被用來限制權利要求。
圖la-ld說明了使用自適應濾波器IO的濾波電路IOO的四種示意 圖。通常可以用任何適當的方式構造濾波電路100和自適應濾波器10。 特別的,可以使用諸如數字和模擬集成電路這類電子元件構成自適應 濾波器10。在其他的實施例中,可以使用響應于存儲器中保存的存儲 程序代碼和數據來進行操作的數字信號處理器(DSP)來實現自適應濾 波器10。數字信號處理器和存儲器可以集成在例如集成電路這種單個 元件中,或者也可以分別維持。此外,數字信號處理器和存儲器可以 是另一個系統的組件,例如語音處理系統或通信裝置。
通常,輸入信號u(n)被輸入到濾波電路100和自適應濾波器10。 如圖所示,可以在系統輸入和系統輸出之間以多種方式配置自適應濾 波器10。這意味著,這里描述的改進可以適用于自適應濾波器10的各 種應用。
圖la顯示的是自適應濾波器10的識別類型應用。在圖la中,濾 波電路100包括自適應濾波器10、信號處理對象(plant) 14和加法器。 對象14可以是任何適當的被監視的信號源。在這種結構中,輸入信號 u(n)由輸入端12接收并提供到自適應濾波器10,并且由系統輸入端16 接收并提供到信號處理對象14。由信號處理對象14提供的信號d(n)20 減去由自適應濾波器10提供的濾波的信號y(n)18后,產生誤差信號 e(n)22,所述誤差信號被反饋到自適應濾波器10。在這類識別類型的應 用中,信號d(n)20也表示系統輸出24的輸出信號。圖lb顯示的是自適應濾波器IO的逆建模類型應用。在圖lb中,
濾波電路100包括自適應濾波器10、信號處理對象14、加法器和延遲 處理過程26。在這種結構中,源自系統輸入端16的輸入信號被信號處 理對象14轉變為自適應濾波器10的輸入信號u(n)12,并且也被延遲處 理過程26轉變為信號d(n)20。信號d(n)20減去由自適應濾波器10濾 波的信號y(n)18后得到誤差信號e(n)22,其被反饋回自適應濾波器10。
在圖lc中,顯示的是自適應濾波器IO的預測類型應用。在圖lc 中濾波電路IOO包括自適應濾波器10、信號處理對象14、加法器和延 遲處理過程26。在這種結構中,自適應濾波器10和延遲處理過程26 被串聯設置在系統輸入端16和系統輸出端24之間,此處的系統輸入 端16提供隨機輸入信號28。如圖所示,從濾波的信號y(n)18減去被作 為信號d(n)20的隨機信號輸入信號28后得到誤差信號e(n)22,其被反 饋回自適應濾波器IO。在這種預測類型的應用中,誤差信號e(n)22也 表示由系統輸出24提供的輸出信號。
圖ld顯示的是自適應濾波器IO的干擾消除類型應用。在圖ld中 濾波電路IOO包括自適應濾波器IO和加法器。在這種結構中,分別作 為輸入信號u(n)12和信號y(n)20提供參考信號30和原始信號32。如 圖所示,從濾波的信號y(n)18減去被當作信號d(n)20的原始信號32 后得到誤差信號e(n)22,其被反饋回自適應濾波器10。在這種干擾消 除類型的應用中,誤差信號e(n)22也表示由系統輸出24提供的輸出信 號。
現在參看圖2,顯示的是m級RLSL型自適應濾波器100的框圖。 自適應濾波器100包括多個級,包括第一級120和第m級122。每一 級(m)可由下述參數所限定前向預測誤差/7j")102、前向預測誤差 103、前向反射系數尺"_^)104、延遲的后向預測誤差^—1( )105、 后向預測誤差々0^106、后向反射系數A, 107、后向先驗估計誤差^,(")108、后向先驗估計誤差6,— 00 109和連接過程回歸系數 ^,一^-l)110。這種m級自適應濾波器RLSLIOO按照圖中箭頭所示的 方向通過每個系數塊進行濾波系數更新。為RLSLIOO的每一級(m) 濾波器長度和輸入信號u(n)12的每一采樣時間(n)來遞歸地計算這些濾 波系數更新。
下列方程1至方程8定義了用于RLSLIOO的RLSL算法。
<formula>formula see original document page 8</formula>其中變量定義如下
&( ) 第m級在時刻n的前向預測誤差平方的加權和。 第m級在時刻n的后向預測誤差平方的加權和。 口Jn) 前向預測誤差。 口",W 后向預測誤差。 A,Jn)第m級在時刻n的后向反射系數。 尺^(")第m級在時刻n的前向反射系數。 《。,(")第m級在時刻n的連接過程回歸系數。 口",(") 第m級在時刻n的換算因子。 □m(w) 第m級在時刻n的先驗估計誤差。□ 指數加權因子或增益因子。
在級0,由信號u(n) 12和d(n)20提供RLSL 100。接著,對每一 級m,上述已定義濾波系數更新被遞歸地計算。例如在第m級和時刻n, 前向預測誤差r m(n)102是由第m-l級的前向預測誤差r/m-l(n)103加上 前向反射系數Kf,m-l(n-l)和延遲了的后向預測誤差/3m-l(n)的乘積而得 到。
類似地,在第m級和時刻n,后向預測誤差/3m(n)106是由第m-l級 的后向預測誤差]8m-l(n)105加上后向反射系數Kb,m-l(n-l)和延遲了的 前向預測誤差7/m-l(n)的乘積而得到。
此外,在第m級和時刻n,后向先驗估計誤差^m(n) 107是由第m-l 級的后向先驗估計誤差^n-l(n)108減去第m-l級在時刻n-l的連接過程 回歸系數Km-l(n-l)109和延遲了的后向預測誤差/3m-l(n)105的乘積而 得到。
可以采用任何適當的元件或元件的組合來實現自適應濾波器100。 在一個實施例中,可以使用數字信號處理器(DSP)結合關聯存儲器中 存儲的指令和數據來實現自適應濾波器。數字信號處理器和存儲器可 以是任何適當的語言處理或控制系統中的一部分。數字信號處理器和 存儲器可以是分立系統或者嵌入另一系統之內。
這種RLSL算法需要大量的計算資源,并不能應用至嵌入式系統。 因此,通過在更新前向預測誤差平方Fm(n)和后向預測誤差平方Bm(n) 時使用二項級數展開式來替代除法函數,就能得到一種能夠減小RLSL 型自適應濾波器100的計算需求的機制。
一般地,處理器在處理加法、減法和乘法中具有很高效率,但在 處理除法中卻不一定。大多數的處理器采用逐次近似法來實現除法指令,并可能需要多個時鐘循環才能得到結果。因而,為了減小計算需 求,濾波器系數更新的總計算量和在濾波器系數更新的計算中所需的
除法次數都需要被減少。這樣,RLSL算法濾波器系數更新就被變換為 合并所述除法。首先,RLSL算法的時間(n)和順序(m)下標被轉換以形 成方程9到方程17。
方程9 方程10 方程11 方程12
方程13 方程14
方程15 方程16 方程17
= W (" -1) + rm (" - i)k (")r
5 =風("-1) + "來(")|2 (")=7" (") +尺/,m ("-氛-,("-1) A (") = (M — 1) + (" —1)" ,_,(")
HQ
(") = 、 (" 一 U--n , 、-A (")
ym (") = L-i (") 一
尸』)
r:,("機醫,(")l2
,(")=u")-
^(氛(")
Km(") = ^("—1)+-
5m(")
然后,如方程18、 20和21所示,前向預測誤差平方Fm(n)和后向 預測誤差平方Bm(n)被反轉和重新定義為它們的倒數。這樣,我們通過 反轉方程9得到
方程18 =-^-^
疋("-l) + L("-l)k(")1
然后重新定義前向預測誤差平方Fm(n):
方程19 +
接著代入方程18并化簡方程20
;t _tj+ l ( - l)|7m (")|2義+ & ■ (" — 1)、 (" — (")|
同理,后向預測誤差平方方程IO變為
方程21萬,,,'(")-
("一l)
A + 5, '("i,(")|A>)|
此外,新的前向和后向預測誤差平方的定義F'm(n)和B'm(n)被代 入其余的方程,即方程13、方程14、方程15和方程17,從而產生如 下列方程22到方程30中所示的算法系數更新。
方程22
方程23
方程 方程 方程 方程 方程 方程 方程<formula>formula see original document page 11</formula>現在參看圖3,顯示的是如方程25中所計算的后向反射系數更新 Kb,m(n)30的框圖。例如,圖3中的框圖表示數字信號處理器的操作或 者一組操作。后向反射系數更新Kb,m(n)30被提供到延遲單元32,而 延遲單元32的輸出Kb,m(n-l)被與前向預測誤差平方F'm(n)、后向預測 誤差j8m(n)、前向預測誤差7 m-l(n)和換算因子7m(t1-l)的乘積相加。
現在參看圖4,顯示的是如方程28中所計算的前向反射系數更新Kf,m(n)40的框圖。例如,類似于圖3,圖4中的框圖也表示數字信號 處理器的操作或者一 組操作。后向反射系數更新Kb,m(n)40被提供到延 遲單元42。延遲單元42的輸出Kf,m(n-l)被與后向預測誤差平方 B'm-l(n-l)、后向預測誤差/3m-l(n)、前向預測誤差r/m(n)和換算因子 7m-l(n-l)的乘積相加。
如上所述,通過在更新前向預測誤差平方Fm(n)和后向預測誤差平 方Bm(n)時使用二項展開式來替代除法功能,就能提供一種能夠減小 RLSL結構自適應濾波器RLSL100的計算需求的機制。
一般的處理器使用迭代法來實現除法功能,并因此需要足夠的資 源和實際時間來計算乘法或加法功能。因而,采用泰勒級數展開式來 代替在方程22和方程23中給出的用于計算前向預測誤差平方Fm(n) 和后向預測誤差平方B'm (n)的更新的除法功能,以估計前向和后向預 測誤差平方的更新遞歸。
同樣地,在方程31中引入一般的二項級數以作為泰勒定理的擴展, 從而提供在給定收斂域內估計除法功能的工具。總的來說,需要通過 級數的若干項來實現預定的準確度。
方程31 (a-foc)-"丄
,foe 6 ;r6 ;c 1 + — + ~+ ~+ '
對于62x2 <a2
為了取代在方程22和方程23中前向預測誤差平方F'm(n)和后向 預測誤差平方Bm(n)的RLS遞歸更新中的除法功能,分別讓
a" 且 & = -Fm("-i)rm("—
然后,使用方程31中擴展級數的頭兩項,前向預測誤差平方F'm(n) 變為方程32
因為入是一個常數,則丄能被預先計算出來并因此減少濾波器更
義
新的遞歸循環中額外的計算。在對方程23應用同樣的方法之后,后向 預測誤差平方B'm(n)變為
方程33
A + 5m("-l)r,,,(")|A r義
消去所有除法得出的RLS算法如方程34到方程42所示
1
1
方程34 l)十1-十&("-1),J"-
乂 乂 乂
方程35 =("-l)+fl-+5m ("—1)"(")I/U")I:
/1 乂 乂
方程36 凡(")=凡-,("-1) + (" -1)7"(")
方程37 (") = (" -1)—幾 —, (" -1)^-,(")凡(")
方程3 8 7 (") = ^-, (") +《/,m (" _ (" -1)
方程39〖,,m (") = iC,,m (" -1) — n (" — 1)凡—,("—l)"m!' (" — 1)
方程40 ^(") = d(")-《 —, (" - (")
方程41 Km(") = ^(" —1) + ^>)A>)^+I(")5m (")
方程42 L(")-乙扁,(")-c(4o)i25:-,(")
如方程31中早先所給出的,需要收斂域滿足二項展開式的適用性, 且對于該級數中的一單項而言,1)、2項應實質上小與&2項以便能夠提 供足夠的收斂精度。人們發現當A接近1時,"b2x2"變得實質上小于
參看圖5,所述曲線圖表明了當X接近1時,級數展開式中"1)、2" 項如何相對于"a2"項減小。圖5中的圖形繪制了用于前向預測誤差平 方Fm(n)和后向預測誤差平方B'm (n)的收斂誤差對比入的曲線,如 下列方程所示.-和
<formula>formula see original document page 14</formula>
為了滿足收斂域標準,這種只需小于'T'的關系簡單地暗示了,隨 著被求和的級數展開式中的項數的增加,收斂誤差接近于0。然而,為 了減少實際時間的需求,可能需要采用盡可能少的項數來實現需要的 收斂精度。圖5表明為了實現需要的收斂精度需要使用一個較大的入 (接近于"l")。實際上,為了在級數展開式中僅有一項(除了常數項) 的條件下提供足夠的性能,入值一般大于0.999。
接下來對三個不同的入值使用全除法以及接著在泰勒級數近似中 使用一項、兩項和三項來測量自適應濾波器的性能,以進行比較。這 些結果見圖6、圖7和圖8中所示。上述曲線圖證明當A接近"r時, 近似值變得足夠好,并且可以只需一項以實現可接受的性能。
圖9是使用自適應濾波器的通信裝置900的框圖。通信裝置900 包括數字信號處理器卯2、麥克風904、揚聲器卯6、模擬信號處理器 908和網絡連接910。數字信號處理器902可以是任何一種處理裝置, 包括市場上可買到的適合于處理聲音及其他信息的數字信號處理器。
通信裝置900包括麥克風904、揚聲器906、模擬信號處理器908。 麥克風卯4將加到其上的聲波轉換為電信號。相反地,揚聲器906轉 換電信號為能聽見的聲波。模擬信號處理器908用作數字信號處理器 之間的接口,該數字信號處理器操作表示電信號的數字數據的和用于麥克風904和906的電信號。在一些實施例中,模擬信號處理器卯8 可以與數字信號處理器902集成在一起。
網絡連接910在通信裝置900和其他組件之間提供數據和其他信 息的通信。這些通信可以通過有線鏈路、無線鏈路、或者二者的混合。 例如,通信裝置900可以被具體化為蜂窩式電話,且自適應濾波器912 為蜂窩式電話的用戶工作以處理聲音信息。在這樣的實施例中,網絡 連接910是由與遠程基站通信的無線電接口電路構成。在另一實施例 中,通信裝置卯0可以被具體化為免提的車載音頻系統,且自適應濾 波器912可工作以作為系統的雙端通話檢測器的一部分。在這樣的實 施例中,網絡連接910是由經過車輛的通信總線的有線鏈路形成。
在圖9所示的實施例中,數字信號處理器902包括實現自適應濾 波器912的數據和指令、儲存數據和指令的存儲器914和處理器916。 自適應濾波器912在這個實施例中是一種在這里通常描述的類型的 RLSL自適應濾波器。特別地,自適應濾波器912被增強以減少實現如 在此所述的RLSL算法所需的計算量。自適應濾波器912可以包括除了 這里明確描述的之外的那些額外的增強手段和性能。處理器916響應 于實現自適應濾波器912的數據和指令以及其他保存在存儲器914中 的數據和指令進行操作,以處理通信裝置卯0的音頻及其他信息。
在工作中,自適應濾波器912從信號源接收輸入信號并提供濾波 的信號作為輸出。在圖示的實施例中,數字信號處理器902從模擬信 號處理器908或者網絡接口 910接收數字數據。這樣模擬信號處理器 908和網絡接口 910構成用于接收輸入信號的裝置。數字數據構成輸入 信號。作為聲音處理的一部分,數字信號處理902的處理器916實現 自適應濾波器912。構成輸入信號的數據被提供給構成自適應濾波器的 指令和數據。自適應濾波器912以輸出數據的形式產生輸出信號。輸 出數據可能由數字信號處理器902進一步處理,或者被傳遞給模擬信 號處理器908或網絡接口 910以做進一步處理。通信裝置900也可以被修改并適用于其他實施例。此處顯示和描 述的實施例僅僅是示范性的。
因此這意味著前述詳細說明應當被認為是示例性的而不是限制性 的,并且應當理解接下來的權利要求包括所有的等價方式,都用來定 義本發明的精神和范圍。
權利要求
1.一種降低m級自適應濾波器的計算復雜度的方法,所述方法包括接收需要濾波的輸入信號;導出用于所接收的輸入信號的一組濾波系數;將前向預測誤差平方的加權和展開為對應的二項級數展開式;將后向預測誤差平方的加權和展開為對應的二項級數展開式;通過由選擇它們相應的二項級數展開式的項數而估計的前向和后向預測誤差平方的加權和來確定自適應濾波器的系數更新;根據更新后的系數對所接收的輸入信號進行濾波,從而產生濾波的信號;以及提供所述濾波的信號作為輸出信號。
2. 根據權利要求1中所述的方法,還包括 預先計算固定權重因子;以及使用所述預先計算的固定權重因子來更新前向和后向預測誤差平 方的加權和。
3. 根據權利要求2中所述的方法,還包括 選擇大于0.999的固定權重因子值;以及當確定所述自適應濾波器的系數更新時利用前向和后向預測誤差 平方的相應的單項的二項級數展開式。
4. 一種用于m級遞歸最小二乘格型自適應濾波器的方法,所述方 法包括在所述自適應濾波器的輸入端接收需要濾波的輸入信號;導出用于所接收的輸入信號的一組濾波系數;通過估計給定收斂域內的泰勒定理展開式來更新所述一組濾波系使用更新后的該組濾波系數對所述輸入信號進行濾波;以及 在所述自適應濾波器的輸出端產生濾波的信號。
5. 根據權利要求4中所述的方法,其中,更新該組濾波系數包括:用第一泰勒級數展開式估計前向誤差預測平方項;以及用第二泰勒級數展開式估計后向誤差預測平方項。
6. 根據權利要求5中所述的方法,還包括-預先計算固定權重因子;以及使用所述預先計算的固定權重因子估計所述前向誤差預測平方項 和所述后向誤差預測平方項。
7. 根據權利要求6中所述的方法,還包括選擇大于0.999的固定權重因子值,以便單項的所述第一泰勒級 數展開式或所述第二泰勒級數展開式可用于估計所述前向誤差預測平 方項和所述后向誤差預測平方項。
8. —種自適應濾波器,包括 接收輸入信號的接口;處理器,其與存儲的數據和指令協同可操作,以在產生濾波的信 號時,遞歸地更新所述自適應濾波器的每一級的濾波系數,并且所述 處理器被配置以通過估計給定收斂域內的泰勒定理展開式來更新該組 濾波系數;以及提供濾波的信號作為輸出信號的接口。
9. 根據權利要求8中所述的自適應濾波器,其中,所述處理器可 操作以使用泰勒級數展開式估計前向誤差預測平方項;和 使用泰勒級數展開式估計后向誤差預測平方項。
全文摘要
提供一種降低m級自適應濾波器的計算復雜度的方法,該方法將前向預測誤差平方的加權和展開為對應的二項級數展開式,將后向預測誤差平方的加權和展開為對應的二項級數展開式,并通過由選擇它們相應的二項級數展開式的項數而估計的前向和后向預測誤差平方的加權和來確定自適應濾波器的系數更新。
文檔編號G06F17/10GK101583947SQ200680021846
公開日2009年11月18日 申請日期2006年6月8日 優先權日2005年6月20日
發明者丹尼爾·羅庫塞克, 大衛·L·巴龍, 詹姆士·B·皮凱特 申請人:摩托羅拉公司