• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-08
  • 语言: Matlab
  • 标签: LMS  

资源简介

为了达到最佳的滤波效果,使自适应滤波器在工作环境变化时自动调节其单位脉冲响应特性,提出了一种自适应算法:最小均方算法(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


评论

共有 条评论