精华内容
下载资源
问答
  • LMS算法matlab实现

    2013-01-12 14:27:22
    LMS算法matlab实现,包含matlab代码,图像,和DSP实现程序
  • LMS算法matlab程序

    2009-04-28 22:47:26
    LMS算法matlab程序,非常简单,但很实用
  • LMS算法MatLab实现

    万次阅读 多人点赞 2008-04-27 06:00:00
    LMS算法MatLab实现 LMS自适应滤波器是使滤波器的输出信号与期望响应之间的误差的均方值为最小,因此称为最小均方(LMS)自适应滤波器。其原理及推导见http://download.csdn.net/source/432206 function [yn,W,en]...

          LMS算法MatLab实现 

        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{自适应滤波器} ' );

           运行后的结果如下:

    展开全文
  • rls与lms算法Matlab程序-LMSnew.m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %RLS自适应滤波器性能分析 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear %clc %close all %%%%%%%%%%%%%%参数设置%%%%%%%%%%%%%...
  • rls与lms算法Matlab程序-RLSnew.m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %RLS自适应滤波器性能分析 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear %clc %close all %%%%%%%%%%%%%%参数设置%%%%%%%%%%%%%...
  • 精品文档 LMS 算法 function [yn,W,en]=LMS(xn,dn,M,mu,itr) % LMS(Least Mean Squre) 算法 % 输入参数 : % xn 输入的信号序列 (列向量 ) % dn 所期望的响应序列 (列向量 ) % M 滤波器的阶数 (标量 ) % mu 收敛因子 ...
  • lms算法matlab代码

    2016-04-06 10:19:54
    LMS算法matlab代码
  • Lms算法matlab

    热门讨论 2011-09-15 19:50:03
    一个lms算法matlab程序,用于预失真技
  • LMS算法matlab仿真

    2015-03-20 09:28:37
    LMS算法matlab仿真程序,简单易懂,初学者使用
  • 学习维纳滤波原理及自适应算法时,编写的SD算法和LMS算法在统一条件下的仿真,有画SD算法的学习曲线和权值变化曲线,LMS算法的多次实验下的学习曲线和权系数更新曲线。参考教材:现代数字信号处理及其应用(何子述、...
  • LMS算法MATLAB代码

    2009-05-17 09:19:43
    快速变步长LMS算法,提高原来LMS算法收敛速度!
  • LMS算法 matlab编程

    2009-05-15 09:49:30
    matlab 编写的LMS算法。其中包含了滤波器的建立及仿真,以及滤波前后的比较
  • lms算法matlab仿真

    2011-07-03 16:06:56
    lms自适应均衡方法的matlab仿真程序
  • LMS算法实现。 LMS 的修改代码。 我认为这是最简单的。 告诉我是否有任何问题。 非常感谢...
  • lms算法matlab程序

    2013-12-13 15:17:22
    自己编写的一个lms算法matlab程序实现,简单易懂
  • LMS算法及归一化LMS算法MATLAB代码
  • LMS算法:lms-matlab开发

    2021-05-30 04:35:01
    LMS 算法 - 霍夫曼编码
  • LMS算法matlab源代码

    2017-12-19 19:28:05
    LMS算法matlab源代码LMS算法matlab源代码LMS算法matlab源代码LMS算法matlab源代码LMS算法matlab源代码LMS算法matlab源代码LMS算法matlab源代码LMS算法matlab源代码
  • LMS算法MATLAB实现

    2017-12-21 10:35:41
    最小均方算法MATLAB实现,完成了自适应滤波算法的仿真。
  • LMS-MATLAB\基于LMS算法的自适应均衡器的MATLAB实现
  • 自适应噪声抵消LMS算法Matlab仿真,DSP计算机作业 数字信号处理 自适应 1) 借助MATLAB画出误差性能曲面和误差性能曲面的等值曲线; 2) 写出最陡下降法, LMS算法的计算公式( ); 3) 用MATLAB产生方差为0.05,...
  • 这是一个有关LMS算法MATLAB程序,表示了不同的步长对LMS算法的影响。
  • LMS算法matlab实现

    2009-12-04 11:14:53
    使用matlab实现LMS算法,收敛速度,MMSE
  • LMS算法MATLAB实现

    2010-09-17 16:00:37
    LMS算法即最小均方算法,通常应用在预失真 自适应中,此算法用MATLAB语言描述。
  • 最新最小均方差(LMS)算法Matlab程序及DSP程序,适合入门级学习,代码解释详细,参考价值极高,适合刚接触LMS算法的学生及工作人员学习参考
  • MATLAB实现lms算法MATLAB实现lms算法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,143
精华内容 457
关键字:

lms算法matlab实现

matlab 订阅