資源簡(jiǎn)介
自適應(yīng)的最小均方(LMS)算法:只要自適應(yīng)線性組合器每次迭代運(yùn)算時(shí)都知道輸入信號(hào)和參考響應(yīng),選用LMS算法很合適。

代碼片段和文件信息
function?[ynWen]=LMS(xndnMmuitr)
%?LMS(Least?Mean?Squre)算法
%?輸入?yún)?shù):
%?????xn???輸入的信號(hào)序列??????(列向量)
%?????dn???所期望的響應(yīng)序列????(列向量)
%?????M????濾波器的階數(shù)????????(標(biāo)量)
%?????mu???收斂因子(步長(zhǎng))??????(標(biāo)量)?????要求大于0小于xn的相關(guān)矩陣最大特征值的倒數(shù)????
%?????itr??迭代次數(shù)????????????(標(biāo)量)?????默認(rèn)為xn的長(zhǎng)度M %?輸出參數(shù):
%?????W????濾波器的權(quán)值矩陣?????(矩陣)
%??????????大小為M?x?itr
%?????en???誤差序列(itr?x?1)????(列向量)??
%?????yn???實(shí)際輸出序列?????????????(列向量)
%?參數(shù)個(gè)數(shù)必須為4個(gè)或5個(gè)
if?nargin?==?4?????????????????%?4個(gè)時(shí)遞歸迭代的次數(shù)為xn的長(zhǎng)度?
????itr?=?length(xn);
elseif?nargin?==?5?????????????%?5個(gè)時(shí)滿足M ????if?itr>length(xn)?|?itr ????????error(‘迭代次數(shù)過(guò)大或過(guò)小!‘);
????end
else
????error(‘請(qǐng)檢查輸入?yún)?shù)的個(gè)數(shù)!‘);
end
%?初始化參數(shù)
en?=?zeros(itr1);?????????????%?誤差序列en(k)表示第k次迭代時(shí)預(yù)期輸出與實(shí)際輸入的誤差
W??=?zeros(Mitr);?????????????%?每一行代表一個(gè)加權(quán)參量每一列代表-次迭代初始為0
%?迭代計(jì)算
for?k?=?M:itr??????????????????%?第k次迭代
????x?=?xn(k:-1:k-M+1);????????%?濾波器M個(gè)抽頭的輸入
????y?=?W(:k-1).‘?*?x;????????%?濾波器的輸出
????en(k)?=?dn(k)?-?y?;????????%?第k次迭代的誤差
????
????%?濾波器權(quán)值計(jì)算的迭代式
????W(:k)?=?W(:k-1)?+?2*mu*en(k)*x;
end
%?求最優(yōu)時(shí)濾波器的輸出序列
yn?=?inf?*?ones(size(xn));
for?k?=?M:length(xn)
????x?=?xn(k:-1:k-M+1);
????yn(k)?=?W(:end).‘*?x;
end
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????1461??2009-10-11?16:17??LMS.m
?????文件???????16384??2009-10-11?16:18??一個(gè)實(shí)例.doc
評(píng)論
共有 條評(píng)論