目录

一.LMS算法

1.滤波器——改变信号频谱

模拟滤波器:

数字滤波器:

2.自适应滤波器简介

自适应滤波器:

非自适应滤波器:

自适应滤波器应用:

自适应滤波场景:

自适应滤波处理逻辑(处理非平稳信号):

3.N阶线性系统:

4.维纳滤波器(Wiener)

基本推导:

优缺点:

5.基本LMS算法

动机:

标准LMS算法的执行流程:

LMS算法的基本思想——梯度下降

LMS算法的优缺点:

LMS算法的改进思路:

6.Block LMS

Block LMS梯度计算公式推导:

Block LMS滤波器系数更新公式推导:

7.Block LMS的两个核心运算:

两个序列的线性卷积和线性相关

8.Block LMS——线性卷积和线性相关变换到频域进行优化计算:

8.1 计算线性卷积:

8.2 计算线性相关

8.3 滤波器系数更新

8.4 FDAF框架:

9.关于LMS算法的问题讨论?

Q1: LMS算法对输入信号有什么要求?

Q2: 什么是归一化LMS、功率归一化LMS?

Q3: 学习速率如何选取?

作业:


Table of Contents

- 一.LMS算法

- 1.滤波器——改变信号频谱

- 模拟滤波器:

- 数字滤波器:

- 2.自适应滤波器简介

- 自适应滤波器:

- 非自适应滤波器:

- 自适应滤波器应用:

- 自适应滤波场景:

- 自适应滤波处理逻辑(处理非平稳信号):

- 3.N阶线性系统:

- 4.维纳滤波器(Wiener)

- 基本推导:

- 优缺点:

- 5.基本LMS算法

- 动机:

- 标准LMS算法的执行流程:

- LMS算法的基本思想——梯度下降

- LMS算法的优缺点:

- LMS算法的改进思路:

- 6.Block LMS

- Block LMS梯度计算公式推导:

- Block LMS滤波器系数更新公式推导:

- 7.Block LMS的两个核心运算:

- 两个序列的线性卷积和线性相关

- 8.Block LMS——线性卷积和线性相关变换到频域进行优化计算:

- 8.1 计算线性卷积:

- 计算时域的线性卷积通常简化到频域上计算两个序列的相乘。

- 为什么采用圆周运算?

- Overlap-save method(频域)

- 为什么圆周卷积后 N1-N2+1 点与线性卷积结果相同?

- 如何构造长度2N的序列?

- Overlap-save method流程:

- 8.2 计算线性相关

- 8.3 滤波器系数更新

- 8.4 FDAF框架:

- 9.关于LMS算法的问题讨论?

- Q1: LMS算法对输入信号有什么要求?

- Q2: 什么是归一化LMS、功率归一化LMS?

- Q3: 学习速率如何选取?

- 作业:

一.LMS算法

1.滤波器——改变信号频谱

模拟滤波器:

由R、L、C(电阻、电感、电容)构成的模拟电路,A/D前的抗混叠滤波器

数字滤波器:

由数字加法器、乘法器、延时器构成,基于数字信号运算实现

2.自适应滤波器简介

自适应滤波器:

一种能够根据输入信号自动调整参数的数字滤波器

非自适应滤波器:

具有静态滤波器系数的数字滤波器,这些静态系数构成了滤波器的传递函数。

自适应滤波器应用:

应用在如系统辨识、预测、噪声消除等

自适应滤波场景:

无法事先知道需要进行操作的参数,必须使用自适应的系数进行处理,通常使用自适应滤波器。

自适应滤波处理逻辑(处理非平稳信号):

自适应滤波器处理语音信号时,不需要事先知道输入信号和噪声的统计特性,滤波器自身能够在工作过程中学习或估计信号的统计特性,并以此为依据调整自身参数,达到某种准则或代价函数下的最优滤波效果。

一旦输入信号统计特性发生变化,还可以跟踪变化,重新调整参数,使得滤波器性能达到最优。

3.N阶线性系统:

如下图:

w(n)表示N阶线性系统N个参数组成的向量。当有输入x后,则输出是输入和参数的线性卷积的结果。

3.1,X 与 W 的运算,满足转置的交换律.

3.4,e表示  n时刻的后验误差,因为计算过程中把n时刻的参数w当作了已知。

问题:

N阶线性系统的公式为什么是3.1 公式那样表示?

4.维纳滤波器(Wiener)

【均方误差准则下的最优解】

推导如下,延续上一节N阶线性系统计算出的误差。

基本推导:

有了误差的定义后,接下来是找一个最优化准则和基于准则下的目标函数。常用最小均方误差(MMSE)。如下图:

3.6,为了最小化误差函数J(w),需要计算J(w)对w的导数,令导数为0。R是输入x(n)的自相关矩阵,r是相关向量。

3.7,是基于MMSE准则下的最优解。

问题:

3.6,是计算J(w)对w的导数令导数为零的结果,具体是怎么计算的?

优缺点:

优点:

维纳滤波器的优点是适应面较广,无论平稳随机过程是连续的还是离散的,是标量的还是向量的,都可应用。对某些问题,还可求出滤波器传递函数的显式解,并进而采用由简单的物理元件组成的网络构成维纳滤波器。

缺点:

维纳滤波器的缺点是,要求得到半无限时间区间内的全部观察数据的条件很难满足,同时它也不能用于噪声为非平稳的随机过程的情况,对于向量情况应用也不方便。因此,维纳滤波在实际问题中应用不多。 实现维纳滤波的要求是:①输入过程是广义平稳的;②输入过程的统计特性是已知的。根据其他最佳准则的滤波器亦有同样要求。然而,由于输入过程取决于外界的信号、干扰环境,这种环境的统计特性常常是未知的、变化的,因而难以满足上述两个要求。这就促使人们研究自适应滤波器。

5.基本LMS算法

(根据输入,动态更新滤波器系数)

动机:

由于涉及数学期望,实际应用中,绝大多数情况下我们无法获得信号真实的自相关矩阵,以及输入信号与期望输出之间的互相关向量。因此,实际用3.5 式中的瞬时梯度代替数学期望,采用不断逼近最优解,如下图公式3.8:

3.8,是由公式3.5去掉期望,对w求导后结果。

通过负梯度方向更新滤波器系数,

3.9,谬是更新步长

标准LMS算法的执行流程:

LMS算法的基本思想——梯度下降

负梯度方向更新

瞬时梯度是真实梯度的无偏估计。

LMS算法的优缺点:

优点:

算法简单,易实现

缺点:

收敛速度慢,每个采样点更新

LMS算法的改进思路:

Block LMS,样本更多估计方差也会相应减小。

梯度噪声

6.Block LMS

(单样本到多样本一次计算梯度更新滤波器系数)

基于公式推导多样本时,梯度计算公式和滤波器更新公式

Block LMS梯度计算公式推导:

Block LMS滤波器系数更新公式推导:

更新公式,单个样本w(n+L)和mini-batch(block)数据后 滤波器系数 w 的更新推导:

3.11, 中e(n+m)表示第 n+m  个样本的误差。

3.13和3.8对比,3.8表示单个样本的根据labal计算的梯度,3.13表示推导出的mini-batch(block)的梯度。

3.12和3.9对比,3.9表示单个样本时,w的更新公式,3.12表示mini-batch(block)数据后的w更新公式。

7.Block LMS的两个核心运算:

两个序列的线性卷积和线性相关

把求解Block LMS的核心问题,拆解成了求取两个序列的线性卷积和线性相关两个问题。

y(n+m)是一个序列。

梯度向量是定义了一个线性相关运算,输入信号x 与误差信号e之间求线性相关。

线性卷积

线性卷积(linear convolution) 在时域描述线性系统输入和输出之间关系的一种运算。这种运算在线性系统分析和信号处理中应用很多,通常简称卷积。

8.Block LMS——线性卷积和线性相关变换到频域进行优化计算:

8.1 计算线性卷积:

计算时域的线性卷积通常简化到频域上计算两个序列的相乘。

首先时域卷积等于频域相乘。

为什么采用圆周运算?

将线性卷积和线性相关对应到圆周卷积,圆周相关,因为时域信号是离散在频域上带有周期性。  且圆周卷积和圆周相关是和傅立叶变换后的乘积一一对应的。

基于频域计算两个序列的线性卷积

这里y(n+m)是一个序列,m属于【0,N-1】

Overlap-save method(频域)

圆周卷积后 N1-N2+1 点与线性卷积结果相同

为什么圆周卷积后 N1-N2+1 点与线性卷积结果相同?

答:见博文1)数字信号及其基本运算。 因为N1大于N2, 当N2滑动从左往右进入,没有完全跟N1重合,对于未重合部分,圆周卷积的值由于进行了周期延拓,所以大于线性卷积。当N2开始跟N1重合,从开始到结束的  N1 - N2 + 1个点全部为有效值,结果一致。

所以输入信号N1通常取2N

所以基于block序列,圆周卷积和线性卷积计算结果得出的结论与单个样本计算结果结论一致。即当N个点线性卷积后输出与圆周卷积的后N个点输出相等。

如何构造长度2N的序列

Overlap-save method流程:

8.2 计算线性相关

(线性相关计算作用是去更新滤波器系数)

如下图,线性相关是计算梯度向量。

计算输入信号的共轭谱(虚部取反)与误差信号做乘积。

3.19,表示梯度向量在频域的表达形式,是一个长度为2N序列的梯度向量,等号右边第一个X表示 输入信号的功率谱。

8.3 滤波器系数更新

8.4 FDAF框架:

基于频域计算线性卷积和线性相关。

频域自适应滤波是出发点是基于Block LMS,在频域上计算更高效。

从LMS出发,从单样本到Block引出了Block LMS,为了计算高效介绍了频域自适应滤波。

9.关于LMS算法的问题讨论?

Q1: LMS算法对输入信号有什么要求?

答:

解相关LMS上指,对输入信号应用LMS算法之前,先降低输入信号的相关性。

Q2: 什么是归一化LMS、功率归一化LMS?

答:

Q3: 学习速率如何选取?

答:

作业:

问题1:

为什么计算线性卷积时,是将滤波器系数向量后面补N个0,而计算线性相关时,是在误差向量前面补N个0?

答:输入信号计算有效部分是后N个点,线性卷积过程需要进行翻折,所以是后面补N个0,同理线性相关只有移位、相乘、相加没有翻折,所以前面补0。

问题2:

为什么时域上卷积结果会等于频域上相乘后?

答:见采样定理章节

ref:

线性相关与线性卷积:https://blog.csdn.net/dujuancao11/article/details/105968580

https://zh.m.wikipedia.org/zh/%E7%BB%B4%E7%BA%B3%E6%BB%A4%E6%B3%A2

4)自适应滤波(一)[LMS算法]相关推荐

  1. 自适应滤波器之 LMS 算法

    本文对 LMS 算法作以介绍,如有表述不当之处欢迎批评指正.欢迎任何形式的转载,但请务必注明出处. 目录 1. 引言 2. 基本概念 2.1. 横向滤波器 2.2. 误差性能曲面 2.3. 最陡下降法 ...

  2. 【语音信号处理】自适应滤波方法——LMS算法

    LMS 算法(最小均方算法) 滤波器--改变信号频谱 模拟滤波器: 由R.L.C构成的模拟电路. 数字滤波器: 由数字加法器.乘法器.延时器构成,基于数字信号运算实现. 自适应滤波器: 一种能够根据输 ...

  3. matlab lms自适应滤波,基于LMS算法的自适应滤波收敛性的Matlab仿真

    Author :Jeffrey 白噪声经过AR模型的输出作为LMS滤波器的输入,已知:a1=1.558:a2=-0.81:白噪声方差为1.0,均值为0:u=0.002:利用Matlab实现: (1)给 ...

  4. Matlab算法DSP移植验证,DSP计算机作业 自适应噪声抵消LMS算法Matlab仿真

    [实例简介] 自适应噪声抵消LMS算法Matlab仿真,DSP计算机作业 数字信号处理 自适应 1) 借助MATLAB画出误差性能曲面和误差性能曲面的等值曲线: 2) 写出最陡下降法, LMS算法的计 ...

  5. 自适应滤波(LMS,RLS)

    1.背景及相关知识介绍 自适应滤波存在于信号处理.控制.图像处理等许多不同领域,它是一种智能更有针对性的滤波方法,通常用于去噪. 图中x(j)表示 j 时刻的输入信号值,y(j)表示 j 时刻的输出信 ...

  6. 传统语音增强——最小均方(LMS)自适应滤波算法

    一.语音降噪的意义 语音降噪主要研究如何利用信号处理技术消除信号中的强噪声干扰,从而提高输出信噪比以提取出有用信号的技术.消除信号中噪声污染的通常方法是让受污染的信号通过一个能抑制噪声而让信号相对不变 ...

  7. rls lms 对比 matlab,自适应均衡器的LMS和RLS两种算法的特性与仿真分析

    自适应均衡属于自适应信号处理的应用范畴,各种各样的自适应均衡算法如迫零(ZF)算法.最小均方(LMS)算法.递归最小二乘(RLS)算法.变换域均衡算法.Bussgang算法.高阶或循环统计量算法.基于 ...

  8. LMS自适应滤波matlab仿真

    目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 LMS(Least Mean Square), 由 Widrow 和 Hoff 于1960年提出,也称Δ规则.该算法与感知器网 ...

  9. 基于matlab的LMS自适应滤波仿真

    目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 LMS(Least Mean Square), 由 Widrow 和 Hoff 于1960年提出,也称Δ规则.该算法与感知器网 ...

  10. lms算法的verilog实现_基于FPGA和LMS算法的系统建模

    © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.    http://www.c ...

最新文章

  1. 高通与华为短暂和解,理智看待国内5G现状
  2. cmd命令行导出的txt文本文档编码格式转换
  3. window tool
  4. matlab 三维转二维,求助,二维图像如何绕轴旋转成为三维图像
  5. C基础——文本格式和二进制格式的区别
  6. [PAT B1020] 月饼
  7. Premiere视频导出格式
  8. LeetCode 246. 中心对称数
  9. 短网址生成-nodejs实现
  10. 想转行学IT!0基础应该要学习哪个技术
  11. 计算机网络基础知识之应用层篇
  12. 前端技术之SVG图片(图标)创建
  13. [转]Cisco小失误,大麻烦
  14. 计算机应用基础模块三项目二,计算机应用基础 高职计算机大类专业 刁爱军模块三 项目二 海报的制作.pptx...
  15. 语音合成TTS(Text-To-Speech,从文本到语音)
  16. MVC 图片上传 带进度条(转)
  17. matlab 图像尺寸 批量,matlab 图像批量修改图像大小
  18. 工业树莓派的应用:助力构建智慧能源管理系统
  19. 为什么远程计算机没反应,谁能解释下远程计算机无反应是怎么个意思?
  20. OpenCV入门(十一)——图像平滑技术

热门文章

  1. 微信群运营怎么做?一文讲透社群活跃技巧及发展模式
  2. pool(三)——Timer
  3. 训练营四教官打死网瘾少年案今开庭审理
  4. SSM项目-我爱我家(二)
  5. fortran---说实话,不知道记录有什么用 写着玩吧
  6. python 给word动态添加水印
  7. MSDC 4.3 接口规范(16)
  8. [机器学习与scikit-learn-15]:算法-决策树-分类问题代码详解
  9. 理解区块链的“非对称加密”
  10. sim的准确识别技术