【优化算法】改进型的LMS算法
发布日期:2021-05-04 12:56:05 浏览次数:14 分类:技术文章

本文共 1938 字,大约阅读时间需要 6 分钟。

一、简介

最小均方(LMS, Least Mean Squares)是最基本的自适应滤波算法。

LMS算法是自适应滤波器中常用的一种算法与维纳算法不同的是其系统的系数随输入序列而改变。维纳算法中截取输入序列自相关函数的一段构造系统的最佳系数。而LMS算法则是对初始化的滤波器系数依据最小均方误差准则进行不断修正来实现的。因此理论上讲LMS算法的性能在同等条件下要优于维纳。但是LMS是在初始值下逐步调整的,因此在系统稳定前,会有一段调整时间,调整时间受步长因子的控制,一定范围内,步长因子越大,调整时间越小,步长因子的最大取值为R的迹。LMS采用平方误差最小的原则代替均方误差最小的原则,信号基本关系如下:
在这里插入图片描述
在这里插入图片描述

二、源代码

%一种变步长lms 算法clear allclose allhold off    sysorder = 5 ; %抽头数t = 0:1/5000:1-0.0001;s = sin(2*pi*t); %不带噪声的信号N = size(t);M = length(t);% %计算自相关矩阵的最大特征值% xx=rcorr(length(s),s);% [V,D]=eig(xx);% Dmax=max(max(D));n = randn(N);   %产生高斯白噪声[b,a] = butter(2,0.25);Gz = tf(b,a,-1); %逆变换函数y = lsim(Gz,s);  %加入正弦信号z = n * std(y)/(10*std(n));  %标准差为0的噪声信号x = s + z;      %实际输入信号dd = s; %期望输出信号%算法的开始w = zeros(1,sysorder);%权向量初始化umax=0.45;   %设置步长最大值umin=0.0003; %设置步长最小值for i=1:2          u = umax;          y(i) = x(i:i+4)* w' ; %系统输出          e(i) = dd(i) - y(i);%误差            w = w + u * e(i) * x(i); %迭代方程endfor i = 3:M-4     if ((u >= umin)&&(u <= umax))       y(i) = x(i:i+4)* w' ;  %系统输出        e(i) = dd(i) - y(i);  %误差       w = w + u * e(i) * x(i);  %迭代方程       u = ((e(i) * e(i-1)/((dd(i))^2)))* umax;  %步长更新公式    end       if    u > umax          u = umax;                    y(i) = x(i:i+4)* w' ; %系统输出             e(i) = dd(i) - y(i);   %误差           w = w + u * e(i) * x(i);  %迭代方程                      u = ((e(i) * e(i-1)/((dd(i))^2)))* umax;  %步长更新公式    end       if     u < umin          u = umin;          y(i) = x(i:i+4)* w' ;  %系统输出          e(i) = dd(i) - y(i); %误差             w = w + u * e(i) * x(i);  %迭代方程             u = ((e(i) * e(i-1)/((dd(i))^2)))* umax; %步长更新公式   endend %计算均方误差 st = 0; i = 1;while i <= M-4             a = (e(i))^2;     st = st+a;    out = (1/i)*st;    yy(1,i) = out;    i = i+1;  end% %作图hold on;%不带噪声的信号subplot(3,1,1)plot(s)      title('纯净的输入信号') %噪声subplot(3,1,2)plot(z,'g')     title('噪声') %带噪声的输入信号  subplot(3,1,3)plot(x,'c')      title('带噪声的输入信号')figure

三、运行结果

在这里插入图片描述

在这里插入图片描述

四、备注

完整代码添加QQ1575304183

转载地址:https://blog.csdn.net/qq_34763204/article/details/116310964 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【车辆计数】基于形态学实现停车场车辆计数matlab源码
下一篇:【信号处理】改进型的LMS算法-NLMS算法

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月05日 12时23分13秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章