1. 自适应滤波器及变量含义介绍
    LMS是典型且常用的自适应算法之一。如图1,这是一个通用的自适应滤波器结构, LMS算法就属于其中自适应方法的部分,是用来动态调整滤波器系数的部分。

    图中:
    1、输入为带噪信号:
    (1)
    一系列输入信号构成输入向量,其中k表示时间上的序列,1到n表示n个输入。
    2、权向量为 ,权向量的迭代公式为:
    (2)
    3、输出信号为y(k) ,
    (3)
    4、期望响应d(k) ,误差为:
    (4)
    于是定义瞬时平方误差:

    5、定义

自适应过程:搜索性能函数最小值的过程。也就是寻找合适的权向量使得性能函数达到最小,因此我们使用性能函数对权向量求偏导得到梯度:

梯度为0的地方即可得到最优权向量:

那么此时出现一个问题
Q1:既然我们这里直接出现了最优权向量,为什么不直接带入进行计算,还要选择自适应算法呢?
A1:
原因1:R是输入相关矩阵,本身随着输入的维度增加其计算量暴增,对其求逆更是计算量极大。另外实际中也会出现R不满秩的情况,这种时候无法求逆。
原因2:此时的最佳权向量也不过是针对k时刻输入的一个,随着外界输入的不断变化,需要存储的数据极大且计算速度慢。

  1. LMS算法
    实际中往往选用不同的自适应算法来逼近这个最优权向量。其中梯度搜索算法沿着梯度的反方向进行搜索,也即是式(2)中的权变化量是梯度的线性函数。
    LMS算法,又称最小均方误差算法,使用误差的瞬时平方值代替其均方误差值:

    由此得到权迭代公式:

    其中 μ为步长。
    注意:这里主要是为了前后的推导连贯性,在实际仿真中我们直接将2μ 看作步长。

  2. 收敛条件与滤波效果评价

LMS算法的自适应过程是带噪收敛的。计算梯度估计值的期望:
(6)
即估计值的期望与梯度本身相等,估计是无偏的。
对权向量求期望:
(7)
等式两边同时减去权值的最优估计 :
(8)
要使权逐渐逼近最优权,就要随着k的增大,式(8)逐渐趋于0,所以-1< I-2μλ<1.,得到收敛条件:

由于R的最大特征值计算复杂,常常采用以下近似(L+1指输入信号维度):

学习曲线一般指均方误差瞬态值随迭代次数的变化曲线。比如下图:

3、对该过程的理解
Q2:既然已知期望信号了,那为什么还需要滤波?
A2:这个自适应过程的目的不是获得期望信号,而是获得一个较为理想的权向量,这个过程称为训练过程。在通过一段已知的期望信号得到这个较为理想的权系数,我们就可以用这个权系数对相似干扰下的未知随机信号进行滤波。

4、仿真思路
如果我们需要设计一个LMS滤波器函数,那么我们需要的首先是输入信号、期望信号,然后是输出权向量、输出信号和均方误差值。
抽头:在实际仿真中,我们常常采用横向滤波器来仿真,也就是输入采用一个输入经过一系列时延得到。滤波器每一级都保存了一个经过延时的输入样值,各级的输入连接和输出连接被称为抽头。一个M阶的滤波器将有M+1个抽头。

%% 初始化
U = zeros(1,order+1);      % 输入长度
namda=abs(max(eig(x*x.')));%输入相关矩阵特征值最大值
mu =2*1/namda;
% 步长*2,这里取的是步长的上限,最快收敛,也可以根据上面的推导自行设置
W = 0*U;                   % 初始权向量
%% 迭代
for k = 1 : epochfor n = 1 :1: N-orderU(1,2:end) = U(1,1:end-1);  U(1,1) = x(n);              %  进行一步时延
%% LMS            y = (W)*U';            % 输出信号e = x(n+order) - y;    % 残差W = W +  mu * e * U;   %mu是二倍步长,也可以直接看成步长                  J(k,n) =  e'*e;        % 瞬时平方误差     end
end
MSE = mean(J,2);               % 均方误差

运行结果如图:

具体代码可以参见我的资源下载:https://download.csdn.net/download/Xujing1143/85626948

LMS原理推导及代码实现相关推荐

  1. ICA原理推导及代码实现

    1.概述 ICA (IndependentComponent Analysis) 又名独立成分分析,是20世纪90年代发展起来的一种新的信号处理技术,它是从多维统计数据中找出隐因子或独立成分的方法.从 ...

  2. (各种均衡算法在MIMO中的应用对比试验)最小均方误差(MMSE)原理推导以及在MIMO系统中对性能的改善。

    文档和程序地址:下载地址 各种均衡算法在MIMO中的应用对比试验,内附原理推导,对比实验说明和结果等.包括MMSE,ZF,ZF-SIC等.代码附有原理推导小论文.仅供参考

  3. 深入理解XGBoost,优缺点分析,原理推导及工程实现

    本文的主要内容概览: 1. XGBoost简介 XGBoost的全称是eXtreme Gradient Boosting,它是经过优化的分布式梯度提升库,旨在高效.灵活且可移植.XGBoost是大规模 ...

  4. 从计算机视觉(slam)和摄影测量两个维度进行BA算法原理推导

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 摄影测量作为历史悠久的学科,在3D视觉里面很多算法发挥着重要的作用:而slam 的出现对摄影测量是某种 ...

  5. 彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进

    视觉三维重建 = 定位定姿 + 稠密重建 + surface reconstruction +纹理贴图.三维重建技术是计算机视觉的重要技术之一,基于视觉的三维重建技术通过深度数据获取.预处理.点云配准 ...

  6. layer output 激活函数_一文彻底搞懂BP算法:原理推导+数据演示+项目实战(下篇)...

    在"一文彻底搞懂BP算法:原理推导+数据演示+项目实战(上篇)"中我们详细介绍了BP算法的原理和推导过程,并且用实际的数据进行了计算演练.在下篇中,我们将自己实现BP算法(不使用第 ...

  7. 深度学习(神经网络) —— BP神经网络原理推导及python实现

    深度学习(神经网络) -- BP神经网络原理推导及python实现 摘要 (一)BP神经网络简介 1.神经网络权值调整的一般形式为: 2.BP神经网络中关于学习信号的求取方法: (二)BP神经网络原理 ...

  8. 由递推关系式用差分方程的方法得到通项公式实现求斐波那契数列的第n项;迭代、递归、栈、差分方程之间的本质联系以及由推广的迭代法解决“变态青蛙跳台阶”问题;汉诺塔问题的数字特征以及用递归解决的原理推导。

    最近几天在研究算法中一个比较基础且突出的问题,就是关于"递推关系式.递归.迭代.序列前k项和"之间的区别与联系. 一.斐波那契数列与差分方程 首先我们考察一个经典的算法,求斐波那契 ...

  9. 从实现原理谈谈低代码

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...

最新文章

  1. R语言基于可视化进行多变量离群(Mulltivariate outliers)点检测识别:散点图可视化多变量离群点、模型平滑多变量异常检测、使用平行坐标图查看钻石数据集中的异常值
  2. R语言ggplot2时间序列可视化并在特定日期处添加竖线实战
  3. Python命名空间
  4. Deep Metric Learning for Person Re-Identification
  5. Django框架(十八)—— auth框架:用户登录、注册、认证
  6. 【BZOJ3894】文理分科
  7. Amazon Web Service 雲端運算平台攻略 【2】
  8. 深层神经网络——多层网络解决异或运算
  9. Linux下修改系统时间的简单方法
  10. G1手机上的VOIP之旅 - SIP Server + SipDroid
  11. Windows server 2019 - Raid5 搭建+测试
  12. 通过FTP实现上传和下载
  13. 机器人应用(Skill)精选丨让HEXA机器人成为直播网红,还可以接收红外信号
  14. 泪目!java面试八股文是哪些
  15. 阿里平头哥发布首个产品玄铁910 但这并不是CPU
  16. [源码阅读]解析Anime(JS动画库)核心(2)
  17. 微信小程序基础(一) 文件结构配置项
  18. Spring 读取properties文件key+value方式
  19. 经典语录,至理名言,人生百态
  20. 招聘人员最喜欢问的问题有哪些

热门文章

  1. 学考计算机上sci怎么消,已接收的SCI稿件,想要去掉一个作者,怎么和编..._网络编辑_帮考网...
  2. 全球及中国有机食品市场供需规模与未来竞争态势研究报告2022版
  3. Android向:实现同一局域网内两台手机之间的文件互传
  4. 【python】回归评价指标体系
  5. Linux 有关时间日期和时区设置
  6. 力扣 731. 我的日程安排表 II
  7. 目标检测评价指标(一文看懂)
  8. 数论函数 - 莫比乌斯函数与莫比乌斯反演 - 基础杜教筛
  9. Office365 - 如何查询email是否发送成功
  10. ATJ2157ATJ2127音乐按文件名拼音排序---标案是按内码进行排序