LMS自适应滤波器算法及其改进
——
年初DSP课程期末设计时为了答辩做的PPT,内容背的滚瓜烂熟,给老师留下了深刻的印象,想必整个系也没有第二个人像我这么上心了,因此最后决定把PPT放到博客上;此外因为不希望PPT上有太多字,所以还额外写了一份讲稿,将收集到的各种论文资料中的相关内容在逻辑上仔仔细细的理顺。只可惜DSP过于高深,各种滤波算法的推演已经完全超出了我的能力,想必以后也不会接触了。
正文
为了方便阅读,这里将PPT内的图片和讲稿内容缝合在一起。
1要点
1.自适应滤波器原理
2.LMS自适应滤波算法及代码体现
3.变步长LMS算法
2自适应滤波器原理
自适应滤波是由滤波算法通过调整滤波器系数实现的。
自适应滤波器分为两部分:滤波结构、自适应算法。
自适应滤波器的自适应在于滤波系数随信号环境的改变而自动调节,经过一段时间自动达到最佳滤波要求。
在LMS滤波算法中输出信号和期望信号应满足最小均方误差条件。
3LMS自适应算法
LMS算法基于根据最小均方误差准则调整权矢量实现滤波的维纳滤波器提出。
具体流程:
- 确定参数
- 滤波器初始值初始化
算法运算过程:
- 滤波输出
- 误差信号
- 权矢量更新
4滤波输出
本课程设计为FIR自适应滤波器。
设其单位脉冲响应为h(0),h(1)…h(N-1) ,那么它在时刻n 的输出:
在LMS滤波算法中,经变换可得:
代码体现:
5权矢量更新
在输入信号和参考响应都是平稳随机信号的情况下,均方误差:
LMS算法基于维纳滤波,而维纳滤波基于最小均方误差准则调整权矢量实现滤波。在输入信号和参考响应都是平稳随机信号的情况下,均方误差是权矢量各分量的二次函数,均方误差的图形是L+2维空间中一个中间下凹的超抛物面有唯一最低点,该曲面称性能曲面。自适应过程就是调整权矢量,使均方误差达到最小值的过程。可借用最陡下降法沿性能曲面最陡方向搜索曲面最低点,由于该方法每次迭代都需知道性能曲面某点梯度值,由于上梯度值只能根据观测数据进行估计,而LMS算法能用平方误差代替均方误差的方法估计梯度。
梯度近似:
最抖下降法计算权矢量:
ms算法用前者取代后者:
代码体现:
6基于最陡下降法的最小均方误差(LMS)算法的迭代公式为:
7 LMS自适应算法的改进
衡量自适应滤波算法优劣的三个指标:收敛速度、跟踪能力、收敛精度。
在非平稳随机信号下,提高收敛速度和跟踪能力需要较大步长,提高收敛精度需要较小步长,传统LMS算法使用固定步长因子,存在缺陷,为此提出变步长的改进方法。
改进步长公式:
该公式由sigmoid函数演变而来。sigmoid函数可以将变量映射到0,1之间,函数体现为当0<β<1/λmax(输入信号自相关矩阵的最大值)时,此时算法一定收敛。
公式中α用来提高收敛速度,β用来确定步长最大值;e(n)-e(n-1)噪声信号有弱相关性(信号间的相似度),可以相互抑制。
最终结果:(公式)
在实际运用中需要通过大量仿真实验确定αβ最优值,基本原则:未误差信号大时,步长大;误差信号小时步长小。
后记
因为最后提交的是纸质稿,所以和博文所讲的内容有所出入;此外由于只在纸质稿中记录了参考文献,因此内容有所缺失。
LMS自适应滤波器算法及其改进相关推荐
- 自适应滤波器算法综述以及代码实现
作者:凌逆战 文章地址:自适应滤波器算法综述以及代码实现 - 凌逆战 - 博客园 并不是每个自适应滤波器的的代码我都实现了,我需要一定的时间,一有时间我就会来更新代码,记得关注我,如果有问题记得反馈 ...
- 传统语音增强——最小均方(LMS)自适应滤波算法
一.语音降噪的意义 语音降噪主要研究如何利用信号处理技术消除信号中的强噪声干扰,从而提高输出信噪比以提取出有用信号的技术.消除信号中噪声污染的通常方法是让受污染的信号通过一个能抑制噪声而让信号相对不变 ...
- 基于LMS自适应滤波器的QPSK信号均衡器matlab仿真
目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 在自适应滤波器设计中,最小均方(Least Mean Square,LMS)算法使用随机梯度下降的方法实现代价函数的最小化,具 ...
- 回声消除(AEC)原理、算法及实战——频域块LMS自适应滤波算法(FDAF)
块LMS自适应滤波算法中的线性卷积和线性相关均可以采用快速傅里叶变换(FFT)来实现.因此,块LMS自适应滤波算法的有效实现方法实际上是利用FFT算法在频域上完成滤波器系数的自适应.这样实现的块LMS ...
- lms自适应滤波器实现噪声干扰的语音恢复_ZLG深度解析语音识别技术
语音识别已成为人与机器通过自然语言交互重要方式之一,本文将从语音识别的原理以及语音识别算法的角度出发为大家介绍语音识别的方案及详细设计过程. 语言作为人类的一种基本交流方式,在数千年历史中得到持续传承 ...
- LMS自适应滤波算法的 matlab实现
算法思路 1LMS算法实现步骤: 1).令起始时刻 i=0自适应滤波器的系数矢量W(0)为任意值: 2).根据输入信号矢量X(i) ,利用期望信号d(i) 和滤波器的输出信号 y(i)计算误差信号e( ...
- 基于Simulink的RBF神经网络的LMS自适应滤波器设计仿真
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 LMS(Least Mean Square), 由 Widrow 和 Hoff 于1960年提出,也 ...
- LMS 自适应滤波算法原理和实现(不使用自带函数库)
1.基本原理 y(n)=x(n)wTe(n)=d(n)−y(n)w(n+1)=w(n)+μe(n)x(n)\begin{aligned} &y(n)=\pmb{x}(n)\pmb{w}^T\\ ...
- lms自适应滤波器实现噪声干扰的语音恢复_使用VoiceFliter-Lite改进设备上的语音识别...
作者 / Wang Quan 原文链接 / https://ai.googleblog.com/2020/11/improving-on-device-speech-recognition.html ...
最新文章
- 子组件跟随父组件re-render
- 三张內存变化图揭秘基本类型数组的初始化
- PHP高级应用视频教程大全学习
- 如何把word文档转换成markdown格式
- SQL点滴27—性能分析之执行计划
- C#开发微信公众平台-就这么简单(附Demo)
- CodeForces 615C
- Arcengine实现创建网络数据集札记(二)
- 句句真研—每日长难句打卡Day10
- 变压器符号_变压器规格型号有哪些?这篇文章看完全都了解了
- PS长阴影生成工具 Long_Shadow_Generator_v1.2_for_CS6.zxp
- 关于X^(T)Ax,,求关于X的导数。
- JavaSE基础笔记——字符串常用类/ArrayList(集合)
- C#语言实例源码系列-实现XML文件操作
- 4.4.1小问题集锦
- Sqoop1和Sqoop2的刨析对比
- video output protection内容输出保护技术
- 如何将mkv格式电影转换为MP4格式
- 2018年最好的软件开发、云计算、大数据分析和机器学习工具
- 如何选择可转债?可转债是否能带来暴利?