資源簡介
為了達到最佳的濾波效果,使自適應濾波器在工作環境變化時自動調節其單位脈沖響應特性,提出了一種自適應算法:最小均方算法(LMS算法)。這種算法實現簡單且對信號統計特性變化具有穩健性,所以獲得了極為廣泛的應用。采用Matlab工具對基于LMS算法的自適應語音去噪進行了仿真試驗。仿真結果
表明,應用LMS算法的自適應濾波器實現了對信號噪聲的自適應濾除。
代碼片段和文件信息
function?[ynWen]=filter_LMS(xndnMmu)
%?輸入參數:
%?????xn???輸入的信號序列??????(列向量)
%?????dn???所期望的響應序列????(列向量)
%?????M????濾波器的階數????????(標量)
%?????mu???收斂因子(步長)??????(標量)?????要求大于0小于xn的相關矩陣最大特征值的倒數????
%?????itr??迭代次數????????????(標量)?????默認為xn的長度M %?輸出參數:
%?????W????濾波器的權值矩陣?????(矩陣)
%??????????大小為M?x?itr
%?????en???誤差序列(itr?x?1)????(列向量)??
%?????yn???實際輸出序列?????????????(列向量)
itr?=?length(xn);
en?=?zeros(itr1);?????????????%?誤差序列en(k)表示第k次迭代時預期輸出與實際輸入的誤差
W??=?zeros(Mitr);?????????????%?每一行代表一個加權參量每一列代表-次迭代初始為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
%?求最優時
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1123??2013-12-30?10:42??filter\filter_LMS.m
?????文件???????1168??2013-12-31?13:14??filter\process_LMS.m
?????目錄??????????0??2014-05-11?18:48??filter
-----------?---------??----------?-----??----
?????????????????2291????????????????????3
評論
共有 條評論