當前位置:首頁 » 操作系統 » lms演算法步長

lms演算法步長

發布時間: 2022-06-24 02:49:46

1. 變步長LMS自適應濾波演算法的MATLAB程序

clear all
close all
N=10; %濾波器階數
sample_N=500; %采樣點數

A=1; %信號幅度
snr=10; %信噪比
t=1:sample_N;
length_t=100; %期望信號序列長度
d=A*sin(2*pi*t/length_t); %期望信號
M=length(d); %M為接收數據長度
x=awgn(d,snr); %經過信道(加雜訊)

delta=1/(10*N*(A^2)); %計算能夠使LMS演算法收斂的delta

y=zeros(1,M);
h=zeros(1,N); %LMS濾波器系數
h_normalized=zeros(1,N); %歸一化LMS濾波器系數
y1=zeros(1,N);
for n=N:M %系數調整LMS演算法
x1=x(n:-1:n-N+1);
%LMS演算法
y(n)=h*x1';
e(n)=d(n)-y(n);
h=h+delta*e(n)*x1;
%NLMS演算法
y_normalized(n)=h_normalized*x1';
e_normalized(n)=d(n)-y_normalized(n);
h_normalized=h_normalized+e_normalized(n)*x1/(x1*x1');
end
error=e.^2; %LMS演算法每一步迭代的均方誤差
error_normalized=e_normalized.^2; %NLMS演算法每一步迭代的均方誤差
for n=N:M %利用求解得到的h,與輸入信號x做卷積,得到濾波後結果
x2=x(n:-1:n-N+1);
y1(n)=h*x2';
y2(n)=h_normalized*x2';
end
subplot(411)
plot(t,d);
axis([1,sample_N,-2,2]);
subplot(412)
plot(t,x);
subplot(413)
plot(t,y);
subplot(414)
plot(t,y_normalized);
figure(2)
plot(t,error,'r',t,error_normalized,'b');

2. 如何確定lms演算法的值,值與演算法收斂的關系如何

LMS演算法
是首先通過期望信號與實際信號的誤差,再通過最陡下降法,進行與誤差成一定步長的迭代運算,從而使結果更趨近於最佳值。LMS演算法的原理即使將E(e^2)視為e^2,簡化了運算。

3. 什麼是歸一化LMS演算法

lms演算法你知道了嗎?其實就是使誤差的平方最小,可以參考清華的一本《現代信號處理》,歸一化就是其中步長的選擇符合一個公式, 公式我打不上去,你還是看一下書吧~~~

4. LMS演算法的流程是什麼,LMS演算法的原理,均衡演算法的發展趨勢是什麼

LMS演算法是首先通過期望信號與實際信號的誤差,再通過最陡下降法,進行與誤差成一定步長的迭代運算,從而使結果更趨近於最佳值。LMS演算法的原理即使將E(e^2)視為e^2,簡化了運算。

5. 用Matlab軟體實現變長NLMS自適應濾波器演算法

一種具有雙瞬變因子的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演算法相比,其性能有極大的提高,可以明顯抑制振動,從而加速收斂過程。

網址:

6. LMS演算法中權向量是否為隨機過程,是否為平穩隨機過程為什麼 影響LMS演算法收斂速度的因素有哪些

LMS演算法中的u(n)和e(n)都是隨機過程,得到的w(n)也是隨機過程向量。應該也是平穩的,原因:w(n)均值當n趨近於無窮是w(n)趨近去確定的最優濾波器權系數w(確定值)符合平穩條件。(自相關函數不確定)
影響LMS演算法收斂速度的主要因素有迭代步長,濾波器階數和濾波器權值的初始值。

7. 什麼是LMS演算法,全稱是什麼

1959年,Widrow和Hof提出的最小均方(LMS )演算法對自適應技術的發展起了極
大的作用。由於LMS演算法簡單和易於實現,它至今仍被廣泛應用。對LMS演算法的性能
和改進演算法已經做了相當多的研究,並且至今仍是一個重要的研究課題。進一步的研究
工作涉及這種演算法在非平穩、相關輸入時的性能研究。當輸入相關矩陣的特徵值分散時,
LMS演算法的收斂性變差,研究的另一個方面在於如何解決步長大小與失調量之間的矛
盾。
全稱 Least mean square

8. 求大神:老師讓寫個基於LMS演算法的自適應濾波器雜訊消除的論文,不會寫代碼啊。誰會呀

LMS自適應濾波器是使濾波器的輸出信號與期望響應之間的誤差的均方值為最小,因此稱為最小均方(LMS)自適應濾波器。其原理及推導見http://download.csdn.net/source/432206

function [yn,W,en]=LMS(xn,dn,M,mu,itr)
% LMS(Least Mean Squre)演算法
% 輸入參數:
% xn 輸入的信號序列 (列向量)
% dn 所期望的響應序列 (列向量)
% M 濾波器的階數 (標量)
% mu 收斂因子(步長) (標量) 要求大於0,小於xn的相關矩陣最大特徵值的倒數
% itr 迭代次數 (標量) 默認為xn的長度,M<itr<length(xn)
% 輸出參數:
% W 濾波器的權值矩陣 (矩陣)
% 大小為M x itr,
% en 誤差序列(itr x 1) (列向量)
% yn 實際輸出序列 (列向量)

% 參數個數必須為4個或5個
if nargin == 4 % 4個時遞歸迭代的次數為xn的長度
itr = length(xn);
elseif nargin == 5 % 5個時滿足M<itr<length(xn)
if itr>length(xn) | itr<M
error('迭代次數過大或過小!');
end
else
error('請檢查輸入參數的個數!');
end

% 初始化參數
en = zeros(itr,1); % 誤差序列,en(k)表示第k次迭代時預期輸出與實際輸入的誤差
W = zeros(M,itr); % 每一行代表一個加權參量,每一列代表-次迭代,初始為0

% 迭代計算
for k = M:itr % 第k次迭代
x = xn(k:-1:k-M+1); % 濾波器M個抽頭的輸入
y = W(:,k-1).' * x; % 濾波器的輸出
en(k) = dn(k) - y ; % 第k次迭代的誤差

% 濾波器權值計算的迭代式
W(:,k) = W(:,k-1) + 2*mu*en(k)*x;
end

% 求最優時濾波器的輸出序列
yn = inf * ones(size(xn));
for k = M:length(xn)
x = xn(k:-1:k-M+1);
yn(k) = W(:,end).'* x;
end

LMS函數的一個實例:

%function main()
close all

% 周期信號的產生
t=0:99;
xs=10*sin(0.5*t);
figure;
subplot(2,1,1);
plot(t,xs);grid;
ylabel('幅值');
title('it{輸入周期性信號}');

% 雜訊信號的產生
randn('state',sum(100*clock));
xn=randn(1,100);
subplot(2,1,2);
plot(t,xn);grid;
ylabel('幅值');
xlabel('時間');
title('it{隨機雜訊信號}');

% 信號濾波
xn = xs+xn;
xn = xn.' ; % 輸入信號序列
dn = xs.' ; % 預期結果序列
M = 20 ; % 濾波器的階數

rho_max = max(eig(xn*xn.')); % 輸入信號相關矩陣的最大特徵值
mu = rand()*(1/rho_max) ; % 收斂因子 0 < mu < 1/rho

[yn,W,en] = LMS(xn,dn,M,mu);

% 繪制濾波器輸入信號
figure;
subplot(2,1,1);
plot(t,xn);grid;
ylabel('幅值');
xlabel('時間');
title('it{濾波器輸入信號}');

% 繪制自適應濾波器輸出信號
subplot(2,1,2);
plot(t,yn);grid;
ylabel('幅值');
xlabel('時間');
title('it{自適應濾波器輸出信號}');

% 繪制自適應濾波器輸出信號,預期輸出信號和兩者的誤差
figure
plot(t,yn,'b',t,dn,'g',t,dn-yn,'r');grid;
legend('自適應濾波器輸出','預期輸出','誤差');
ylabel('幅值');
xlabel('時間');
title('it{自適應濾波器}');

9. lms演算法是什麼

LMS(Least mean square)演算法,即最小均方誤差演算法。

lms演算法由美國斯坦福大學的B Widrow和M E Hoff於1960年在研究自適應理論時提出,由於其容易實現而很快得到了廣泛應用,成為自適應濾波的標准演算法。在濾波器優化設計中,採用某種最小代價函數或者某個性能指標來衡量濾波器的好壞,而最常用的指標就是均方誤差,也把這種衡量濾波器好壞的方法叫做均方誤差准則。

lms演算法的特點

根據小均方誤差准則以及均方誤差曲面,自然的我們會想到沿每一時刻均方誤差 的陡下降在權向量面上的投影方向更新,也就是通過目標函數的反梯度向量來反 復迭代更新。由於均方誤差性能曲面只有一個唯一的極小值,只要收斂步長選擇恰當, 不管初始權向量在哪,後都可以收斂到誤差曲面的小點,或者是在它的一個鄰域內。

熱點內容
新名圖配置怎麼樣 發布:2024-05-19 09:31:30 瀏覽:94
php獲取子節點 發布:2024-05-19 09:21:18 瀏覽:160
php生成html 發布:2024-05-19 09:20:24 瀏覽:795
keil編譯步驟 發布:2024-05-19 08:58:12 瀏覽:702
ipad有哪些好用的c語言編譯器 發布:2024-05-19 08:41:56 瀏覽:767
征途手游版腳本 發布:2024-05-19 08:38:11 瀏覽:165
安卓咪咕音樂怎麼錄制視頻 發布:2024-05-19 07:56:06 瀏覽:838
如何搞出超大聲的聽聲辨位安卓版 發布:2024-05-19 07:46:21 瀏覽:927
linux安全模式 發布:2024-05-19 07:27:25 瀏覽:176
為什麼安卓手機安裝不了cpk 發布:2024-05-19 07:22:21 瀏覽:313