演算法收斂性
❶ 有人知道影響自適應LMS演算法收斂性、收斂速度、失調量的因素么
一種具有雙瞬變因子的LMS自適應濾波演算法�
曾召華 劉貴忠 馬社祥
(西安交通大學信息與通信工程研究所 西安710049)
【摘要】 作者在文獻〔4〕中提出了一種改進的瞬變步長SPLMS自適應濾波演算法。本文在SPLMS演算法的基礎上,進一步提出一種基於瞬變步長、瞬變平滑因子的雙瞬變SPLMS演算法—DSPLMS演算法。該演算法除具有常規LMS演算法簡單的優點外,還具有更高的起始收斂速率、更小的權失調雜訊和更大的抑噪能力。文中重點討論瞬變步長、瞬變平滑因子的變化特性。計算機模擬結果支持了理論分析。
【關鍵詞】 自適應濾波器,失調雜訊,收斂速度,最小均方誤差,瞬變因子
1 引言
自適應濾波器及其相應演算法是多年來人們廣泛研究的課題。基於Widrow-Hoff標準的LMS演算法和其相應的自適應濾波器以其演算法和結構簡單,便於實時信號處理等優點,在不同領域得到了最為廣泛的應用。而為克服常規的固定步長LMS或牛頓LMS(Newton LMS,即NLMS)自適應演算法在收斂速率、跟蹤速率與權失調雜訊之間要求上存在的較大矛盾,人們發展了各種各樣的改進型LMS演算法,如基於瞬變步長LMS自適應濾波演算法〔1~6〕、基於正交變換(DCT、FFT、小波變換、子帶濾波)的新型LMS均衡演算法〔7~8〕。基於模糊判斷的自適應LMS系統識別和基於最小四次均方誤差的LMS自適應平穩收斂演算法〔9~10〕。在所有改進型LMS演算法中,瞬變步長LMS自適應濾波演算法是研究最為廣泛的一類LMS自適應濾波演算法。本文演算法也是基於瞬變因子的一種改進LMS自適應濾波演算法。
2 SPLMS演算法分析及問題的提出
在文獻〔4〕中,作者對上述方案進行了大量的計算機模擬和理論分析,結果表明:(1)上述諸種演算法的收斂速率與系統輸入信噪比SNR直接相關,信噪比SNR越高,它們的收斂速率普遍提高;隨著信噪比SNR的降低,它們的收斂速率減慢,甚至出現發散現象,因此它們必須在弱干擾下完成規一化起動,即在起始過程中雜訊要相當小,否則效果不佳。(2)在上述所有演算法中,由於採用瞬時平方誤差性能函數e2k來代替均方誤差性能函數,所以其演算法的權值收斂過程表現為加權矢量的平均值變化規律和由於雜訊引起的隨機起伏項的疊加。因此,雜訊方差越大,則隨機起伏項越大,表現為權值振動也就越大。(3)為了追求更快的收斂性,往往增大μ和M,但濾波器階數越高,步長因子μ和輸入功率越大,就便得失調系數也越大。在有限次數起動迭代過程中,也就很難收斂到較穩態值,所以必須尋求更佳的瞬態步長演算法。
文獻〔4〕在准最小均方(Pseudo-LMS,即PLMS)誤差演算法基礎上通過採用滑動時間窗,減少PLMS演算法起動過程的計算量;同時在權值迭代中加一平滑迭代而使PLMS演算法具備全局較強的抗噪性能,較快速收斂性能而提出了SPLMS演算法,即:
其中rk為M階濾波器輸入信號的功率估值;Wk為濾波器的第k步M維最優權矢量估值;Xk是濾波器輸入信號的M維輸入數據矢量;dk為希望輸出;μk為濾波器第k步瞬態步長。切換條件中,閾值μ類似於LMS演算法的步長因子μL,滿足:
μL<μ<1/trR,R=E〔XkXTk〕(7)
為待定的演算法常數,是μk變化的動態平衡點。而α是一常數為平滑因子,它決定上一次的權值變化對本次權值更新的影響程度。k0是採用式(2)規一化啟動後,演算法收斂到較穩態時的步數。式(4)是μk下降的遞推演算法,式(5)是μk上升的平滑遞推演算法。λ為上升的速度因子,滿足0<λ<1。在實際應用中,考慮到學習過程的啟動速度,一般取較大的λ值,即:
0.9<λ<1,k0=25~35,|α|<0.3(8)
SPLMS演算法的實質是:在開始k0步中,採用啟動速度較快的MLMS(Mend LMS)演算法收斂到相對較穩態的狀態;然後在k≥k0+1過程中,採用瞬態步長μk來訓練演算法。而μk根據不同的切換條件將圍繞μ作升降變化,其迭代計算主要表現為不降即升的動態過程。α主要根據經驗來取值,輸入數據的非平穩性越大,雜訊方差越大時,增大α可明顯抑制振動,從而加速收斂過程;在雜訊小時減小α。
但SPLMS演算法也有一明顯不足,即α主要根據經驗來取值,沒有理論上的確切依據。α取值不當,反而容易造成演算法收斂性能更差,甚至發散的現象。從理論上分析,α與瞬態步長μk和輸出誤差ek(文中定義為:ek=dk-WTk Xk)應有一定關系。在演算法啟動階段,ek較大,為追求啟動速度而常取較大步長μk,但μk越大,權失調系數也就越大,有時反而起不到應有的作用,這時就應相應增加α值來平滑權失調雜訊;在演算法漸趨穩定,步長μk漸趨於常數,ek漸趨於0,此時α也應漸趨於0。綜合起來就是:α應隨步長μk和誤差ek瞬時變化而變化,也應是一瞬變因子。本文重點就是尋求瞬變因子αk的數學表達式以滿足上述分析的要求。
3 改進的雙瞬變因子SPLMS演算法——DSPLMS演算法
3.1 μk的變化特性
從式(4)和式(5)可以看出,在k≥k0+1過程中,μk根據不同的切換條件將圍繞μ作升降變化,μk的迭 代計算主要表現為不降即升的動態過程。對於式(5),設k≥kr時,μk<μ,則在k≥kr>k0+1的上升過程中:
即上升速度按指數衰減,使趨於平衡點μ的上升速度迅速減小。其變化過程類似於一電阻電容串聯電路上電容的充電過程。對式(4),由於μk=μk-1/(1+Rk),Rk>0,即使很小的Rk經過一步迭代就足以使μk<μ,再次切換到上升過程。當rk較大時,下降形成的負脈沖也較大。
綜上所述,在k≥k0+1的收斂過程中,μk的時變特性等價於幅值極不對稱的隨機正負尖脈沖序列組成的瞬態分量和直流分量μ的線性疊加。瞬態分量的負脈沖強度與rk瞬值對應,有利於抑制局部自激或短暫發散,減小權矢量雜訊,提高穩定度。在rk較小、演算法漸趨於穩定時,瞬變分量趨於0,μk~μ。
3.2 αk的變化特性
定義:ΔWk=Wk+1-Wk為自適應濾波器的權系數增量;ξ為均方誤差性能函數,ξ=E〔ek〕2,ek=dk-WTk Xk為輸出誤差,則SPLMS演算法的權系數更新公式由式(1)可重寫為:
Wk+1=Wk-μk�^Wξk+αΔWk-1(10)
其中�Wξ為ξ的梯度函數,^W為�Wξ的第k步估計。由式(10)的系數更新公式,我們可寫出均方誤差性能函數的表達式:
式中上標T表示矢量的轉置。若用一矢量�^Wζk+1去左乘式(10),則可得到:
^Wξk+1Wk+1=�^Wζk+1Wk-μk�^Wζk+1�^Wζk+�^Wζk+1αΔWk-1(13)
利用式(12)的結論,可將式(13)化簡為:
�^TWζk+1ΔWk=0(14)
由於參量μk和α均為實的標量因子,故式(14)又可寫成:
(μk�^TWζk+1)(αΔWk)=0(15)
式(15)清楚地表明:在SPLMS演算法中,自適應濾波器的權系數在迭代過程中,其均方誤差性能函數的梯度估值與權系數增量始終存在一個正交關系。ΔWk-1對ΔWk的調節作用是在當前梯度估值方向上,給出與梯度估值方向正交矢量,並以這兩個矢量所構成的合矢量來改變權系數空間的權重。
對於FIR結構的LMS自適應系統而言,其均方誤差性能函數在平穩輸入時為一個二次型函數,在收斂點附近仍可視為一個二次型函數,故有:
ξ(Wk+1)=WTk RWk-2WTk P+C(16)
式中R=E〔XTk Xk〕為輸入信號的自相關矩陣,P=E〔dkXk〕為所需信號與輸入信號的互相關矢量,C=E〔d2k〕,則由式(16)可得:
將式(17)代入式(18),則式(18)可變形為:
式(19)就是本文給出的瞬變平滑因子αk的數學表達式。顯然,它滿足前面分析時所提出的要求,且在演算法達到穩態收斂時,滿足:
limk→∞αk=0(20)
3.3 改進的雙瞬變SPLMS演算法——DSPLMS演算法
用式(19)中αk的表達式替換式(1)中的α,就得到本文提出的具有雙瞬變因子的LMS演算法——DSPLMS演算法,即
Wk+1=Wk+2μk(dk-WTk Xk)Xk+αk(Wk-Wk-1)(21)
μk=λ/(1+2λrk),0≤k≤k0(22)
由式(19)、(20)可知,αk是一個與μk成正比且具有衰減性的瞬變因子,從而使本文提出的DSPLMS演算法比SPLMS演算法更能快速穩定收斂;與常規LMS演算法相比,其性能有極大的提高,為實時信號處理提供了一個較好的演算法。
4 計算機模擬
模擬實驗的結構如圖1所示,其中dk為隨機輸入信號,nk為高斯白雜訊,ek為輸出誤差,xk為自適應濾波器的輸入,yk為濾波器輸出,此時xk=dk+nk。
在圖2中,dk是均值為0、方差為1的高斯白雜訊;nk是與dk不相關的均值為0、方差為1的高斯白雜訊;濾波器參數:M=32,λ=0.9,μL=0.005,μ=0.01,α=0.1。在圖3中,nk為均值為0、方差為0.1的高斯白雜訊,其它參數同圖2。圖2、3為分別採用LMS、SPLMS和DSPLMS演算法進行濾波的學習曲線比較圖。
從圖2(強干擾啟動)和圖3(較弱干擾啟動)中可以看出:在強干擾下,DSPL MS 具有比SPLMS好、比LMS好得多的啟動速度和收斂速度;而在弱干擾下,DSPLMS仍具有比SPLMS快、比LMS快得多的啟動速度。從圖中同時還可看出:DSPLMS與SPLM S具有幾乎相同的收斂速度,它們的收斂速度比LMS快得多。
5 結語
加進瞬變平滑項的規一化起動,使DSPLMS具有更高的起始收斂速度、更小的權失調雜訊和更大的抑噪能力;在平穩連接之後的穩態過程中,該演算法趨於步長為μ的LMS演算法性能,但由於瞬變分量負脈沖的作用,在相近的權失調量下可按式(7)取較大的μ值,增強演算法對時變參數過程的跟蹤處理能力;輸入數據的非平穩性越大,雜訊方差越大時,加進的瞬變平滑項使權失調雜訊減小,從而使本文提出的DSPLMS演算法比SPLMS演算法更能快速穩定地收斂;與常規LMS演算法相比,其性能有極大的提高,可以明顯抑制振動,從而加速收斂過程。
網址:http://www.bjx.com.cn/files/WX/XDLD/2000-1/14.htm
❷ 遺傳演算法的收斂性問題
是運算元有問題,交叉的方法都是比較簡單的,但對於某些情況可能並不好用,也就是說演算法本身無法體現出優勝劣汰的規則,可能因此導致無法收斂。
收斂數列令為一個數列,且A為一個固定的實數,如果對於任意給出的b>0,存在一個正整數N,使得對於任意n>N,有|an-A|<b,則數列存在極限A,數列被稱為收斂。非收斂的數列被稱作「發散」(divergence)數列。
可見收斂不是指數值越來越小,而是指與極限值的距離(即差的絕對值)越來越小,只要你的目標函數是壓縮映射,那麼使用遺傳演算法就一定可以計算出全局收斂的近似值。
(2)演算法收斂性擴展閱讀:
由於遺傳演算法不能直接處理問題空間的參數,因此必須通過編碼將要求解的問題表示成遺傳空間的染色體或者個體。這一轉換操作就叫做編碼,也可以稱作(問題的)表示(representation)。
遺傳演算法在搜索進化過程中一般不需要其他外部信息,僅用評估函數來評估個體或解的優劣,並作為以後遺傳操作的依據。由於遺傳演算法中,適應度函數要比較排序並在此基礎上計算選擇概率,所以適應度函數的值要取正值。由此可見,在不少場合,將目標函數映射成求最大值形式且函數值非負的適應度函數是必要的。
❸ 牛頓迭代法的全局收斂性和局部收斂性有何區別各自有什麼作用要詳細點的,
總的來說局部收斂性指的是初值取在根的局部時演算法(一般)具有二階收斂速度,全局收斂性是指初值在定義域內任取時演算法是否收斂,若收斂其速度如何,收斂到哪個根.
具體來說
局部收斂性有如下定理
設已知 f(x) = 0 有根 a,f(x) 充分光滑(各階導數存在且連續).
若 f'(a) != 0(單重零點),則初值取在 a 的某個鄰域內時,迭代法 x[n+1] = x[n] - f(x[n])/f'(x[n]) 得到的序列 x[n] 總收斂到 a,且收斂速度至少是二階的.
若 f'(a) == 0(多重零點),則初值取在 a 的某個鄰域內時,收斂速度是一階的.
記 g(x)=x-f(x)/f'(x),其中"某個鄰域"可由 |g'(x)|
❹ 牛頓迭代法的收斂條件是什麼
一、收斂條件:
1、全局收斂性是指初值在定義域內任取時演算法是否收斂,若收斂其速度如何,收斂到哪個根.具體來說。
2、局部收斂性有如下定理
設已知 f(x) = 0 有根 a,f(x) 充分光滑(各階導數存在且連續).
若 f'(a) != 0(單重零點),則初值取在 a 的某個鄰域內時,迭代法 x[n+1] = x[n] - f(x[n])/f'(x[n]) 得到的序列 x[n] 總收斂到 a,且收斂速度至少是二階的.
若 f'(a) == 0(多重零點),則初值取在 a 的某個鄰域內時,收斂速度是一階的.
記 g(x)=x-f(x)/f'(x),其中"某個鄰域"可由 |g'(x)|
二、牛頓迭代法的簡單介紹:
牛頓迭代法(Newton's method)又稱為牛頓-拉夫遜(拉弗森)方法(Newton-Raphson method),它是牛頓在17世紀提出的一種在實數域和復數域上近似求解方程的方法。多數方程不存在求根公式,因此求精確根非常困難,甚至不可能,從而尋找方程的近似根就顯得特別重要。方法使用函數f(x)的泰勒級數的前面幾項來尋找方程f(x) = 0的根。牛頓迭代法是求方程根的重要方法之一,其最大優點是在方程f(x) = 0的單根附近具有平方收斂,而且該法還可以用來求方程的重根、復根,此時線性收斂,但是可通過一些方法變成超線性收斂。另外該方法廣泛用於計算機編程中。
❺ 什麼是二階收斂和二次收斂
二階收斂就是說某函數的二階導數收斂 。
二次收斂性是若一演算法對Q正定的二次目標函數(f(x)=0.5xQx+bx+c)能在有限步內找出極小點來。
在原函數的某一點處用一個二次函數近似原函數,然後用這個二次函數的極小值點作為原函數的下一個迭代點。
上面這句話也說明,若原函數本身是一個二次函數,則牛頓法一步就能到達極小點或鞍點。若原函數本身是一個二次正定函數,則牛頓法一步到達最小值點。
(5)演算法收斂性擴展閱讀:
牛頓法的二階收斂性:
若初始點 x0 充分靠近極值點 x*,並且極值點 x* 的黑塞矩陣非奇異,並且黑塞矩陣在極值點附近 Lipschitz 連續,則牛頓法具有二階收斂性。
註:Lipschitz 連續是一種比普通連續性更強的連續,它限制了函數的改變速度。對於函數可行域的任意兩點,存在一個常數 K。
牛頓迭代法二階收斂。
❻ 演算法收斂性的概念
演算法收斂性的概念?演算法的收斂是指經過多步迭代之後
得出的數值不應該無限的增大,
而是趨於某個數值,
不收斂的演算法是不能用的,
你也根本得不出結果的,演算法的穩定性:穩定性是指演算法對於計算過程中的誤差(舍入誤差、截斷誤差等)不敏感,即穩定的演算法能得到原問題的相鄰問題的精確解.演算法的收斂性:收斂這一概念和穩定性不是一個層次的,它只在部分演算法中出現,比如迭代求解.迭代中的收斂指經過有限步驟的迭代可以得到一個穩定的解(繼續迭代變化不大,小於機器精度,浮點數系統認為不變).但是這個解是不是原問題的解,要看問題的病態性了:如果問題是病態的,則很有可能不是准確的解.
更不用考慮其可靠性了,僅表個人理解。
❼ LMS演算法 收斂性的問題,收斂曲線不對,不知道自己寫的基於功率倒置的LMS演算法代碼對不對,請大家幫忙看看
LMS演算法是首先通過期望信號與實際信號的誤差,再通過最陡下降法,進行與誤差成一定步長的迭代運算,從而使結果更趨近於最佳值。LMS演算法的原理即使將E(e^2)視為e^2,簡化了運算。