【数字信号去噪】基于matlab自适应滤波LMS数字信号去噪【含Matlab源码 2490期】

⛄一、自适应滤波算法简介

1 最小均方算法
LMS是基于最小均方误差准则的一种自适应滤波算法, 其优点是它的简单性。一般来说, LMS算法包括2个基本过程:一个是滤波过程, 另一个是自适应过程。在滤波过程中, 滤波器计算其对输入信号的响应, 并且通过与期望响应比较, 得到估计的误差信号。在自适应过程中, 系统自动调整滤波器的权系数。其原理如图1。
在这里插入图片描述
图1 LMS原理框图
其中:x (t) 是输入信号;y (t) 是系统输出信号;d (t) 为期望信号;e (t) 为误差信号。计算方法如下:
在这里插入图片描述
其中:μ是用来控制稳定性和收敛速度的步长因子;ω (t) 为系统的权系数;e* (t) 为e (t) 的共轭转置。通过 (5) 式求出y (t) , 代入 (6) 式求出e (t) , 再将e (t) 代入 (7) 式调整权系数, 直到‖e (t) ‖2最小时停止。

2 归一化最小均方算法
NLMS是为了解决LMS算法面临梯度噪声放大问题而提出的, 是对LMS算法的改进[5]。在NLMS算法中, 步长迭代方程为:
在这里插入图片描述

⛄二、部分源代码

clear;

%输入信号
subplot(4,1,1);
t =0:0.001:8;
d=[0 0 ;0.5 1;1 1;1.5 0;2 1;2.5 1;3 0;3.5 0;4 0;4.5 1 ;5 1 ;5.5 0 ;6 1 ;6.5 1 ;7 0 ;7.5 0];
s=pulstran(t-0.25,d,‘rectpuls’,0.5);plot(t,s) ;
axis([0 8 -0.5 1.5]);
text(0.25,1.2,‘0’) ;
text(0.75,1.2,‘1’) ; text(1.25,1.2,‘1’) ; text(1.75,1.2,‘0’) ;
text(2.25,1.2,‘1’) ;
text(2.75,1.2,‘1’) ; text(3.25,1.2,‘0’) ; text(3.75,1.2,‘0’) ;
text(4.25,1.2,‘0’) ;
text(4.75,1.2,‘1’) ; text(5.25,1.2,‘1’) ; text(5.75,1.2,‘0’) ;
text(6.25,1.2,‘1’) ;
text(6.75,1.2,‘1’) ; text(7.25,1.2,‘0’) ; text(7.75,1.2,‘0’) ;

% I路信号
subplot(4,1,2);
t=0:0.001:8;
a=1/sqrt(2);
d=[0 -a ;1 +a;2 -a;3 +a; 4 -a;5 +a;6 -a;7 +a];
s=pulstran(t-0.5,d,‘rectpuls’);plot(t,s) ;
axis([0 8 -2 2]);
text(0.5,1.5,‘-0.7’) ;
text(1.5,1.5,‘+0.7’) ;text(2.5,1.5,‘-0.7’) ;text(3.5,1.5,‘+0.7’);
text(4.5,1.5,‘-0.7’) ;
text(5.5,1.5,‘+0.7’) ;text(6.5,1.5,‘-0.7’) ;text(7.5,1.5,‘+0.7’);

⛄三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]石岩岩,苟正品,张榆锋,张燕,陈秋英.基于经验模态分解自适应滤波的胎儿心电信号提取[J].生物医学工程与临床. 2010,14(01)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

猜你喜欢

转载自blog.csdn.net/TIQCmatlab/article/details/129903358