lms算法matlab实现道客巴巴_自适应算法matlab代码

lms算法matlab实现道客巴巴_自适应算法matlab代码LMS算法MatLab实现LMS自适应滤波器是使滤波器的输出信号与期望响应之间的误差的均方值为最小,因此称为最小均方(LMS)自适应滤波器。其原理及推导见http://download.csdn.n

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

      LMS算法MatLab实现 

    LMS自适应滤波器是使滤波器的输出信号与期望响应之间的误差的均方值为最小,因此称为最小均方(LMS)自适应滤波器。其原理及推导见http://download.csdn.net/source/432206

lms算法matlab实现道客巴巴_自适应算法matlab代码
function [yn,W,en]
=
LMS(xn,dn,M,mu,itr)
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
 LMS(Least Mean Squre)算法
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
 输入参数:
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
     xn   输入的信号序列      (列向量)
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
     dn   所期望的响应序列    (列向量)
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
     M    滤波器的阶数        (标量)
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
     mu   收敛因子(步长)      (标量)     要求大于0,小于xn的相关矩阵最大特征值的倒数    
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
     itr  迭代次数            (标量)     默认为xn的长度,M
<
itr
<
length(xn)
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
 输出参数:
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
     W    滤波器的权值矩阵     (矩阵)
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
          大小为M x itr,
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
     en   误差序列(itr x 
1
)    (列向量)  
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
     yn   实际输出序列             (列向量)
lms算法matlab实现道客巴巴_自适应算法matlab代码
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
 参数个数必须为4个或5个
lms算法matlab实现道客巴巴_自适应算法matlab代码

if
 nargin 
==
 
4
                 
%
 4个时递归迭代的次数为xn的长度 
lms算法matlab实现道客巴巴_自适应算法matlab代码    itr 

=
 length(xn);
lms算法matlab实现道客巴巴_自适应算法matlab代码elseif nargin 

==
 
5
             
%
 5个时满足M
<
itr
<
length(xn)
lms算法matlab实现道客巴巴_自适应算法matlab代码    

if
 itr
>
length(xn) 
|
 itr
<
M
lms算法matlab实现道客巴巴_自适应算法matlab代码        error(


迭代次数过大或过小!

);
lms算法matlab实现道客巴巴_自适应算法matlab代码    end
lms算法matlab实现道客巴巴_自适应算法matlab代码

else

lms算法matlab实现道客巴巴_自适应算法matlab代码    error(


请检查输入参数的个数!

);
lms算法matlab实现道客巴巴_自适应算法matlab代码end
lms算法matlab实现道客巴巴_自适应算法matlab代码
lms算法matlab实现道客巴巴_自适应算法matlab代码
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
 初始化参数
lms算法matlab实现道客巴巴_自适应算法matlab代码en 

=
 zeros(itr,
1
);             
%
 误差序列,en(k)表示第k次迭代时预期输出与实际输入的误差
lms算法matlab实现道客巴巴_自适应算法matlab代码W  

=
 zeros(M,itr);             
%
 每一行代表一个加权参量,每一列代表

次迭代,初始为0
lms算法matlab实现道客巴巴_自适应算法matlab代码
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
 迭代计算
lms算法matlab实现道客巴巴_自适应算法matlab代码

for
 k 
=
 M:itr                  
%
 第k次迭代
lms算法matlab实现道客巴巴_自适应算法matlab代码    x 

=
 xn(k:

1
:k

M
+
1
);        
%
 滤波器M个抽头的输入
lms算法matlab实现道客巴巴_自适应算法matlab代码    y 

=
 W(:,k

1
).

 * x;        % 滤波器的输出

lms算法matlab实现道客巴巴_自适应算法matlab代码

    en(k) 
=
 dn(k) 

 y ;        
%
 第k次迭代的误差
lms算法matlab实现道客巴巴_自适应算法matlab代码    
lms算法matlab实现道客巴巴_自适应算法matlab代码    

%
 滤波器权值计算的迭代式
lms算法matlab实现道客巴巴_自适应算法matlab代码    W(:,k) 

=
 W(:,k

1

+
 
2
*
mu
*
en(k)
*
x;
lms算法matlab实现道客巴巴_自适应算法matlab代码end
lms算法matlab实现道客巴巴_自适应算法matlab代码
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
 求最优时滤波器的输出序列
lms算法matlab实现道客巴巴_自适应算法matlab代码yn 

=
 inf 
*
 ones(size(xn));
lms算法matlab实现道客巴巴_自适应算法matlab代码

for
 k 
=
 M:length(xn)
lms算法matlab实现道客巴巴_自适应算法matlab代码    x 

=
 xn(k:

1
:k

M
+
1
);
lms算法matlab实现道客巴巴_自适应算法matlab代码    yn(k) 

=
 W(:,end).

* x;

lms算法matlab实现道客巴巴_自适应算法matlab代码

end
lms算法matlab实现道客巴巴_自适应算法matlab代码    

        LMS函数的一个实例:

lms算法matlab实现道客巴巴_自适应算法matlab代码
%
function main()
lms算法matlab实现道客巴巴_自适应算法matlab代码close  all
lms算法matlab实现道客巴巴_自适应算法matlab代码
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
 周期信号的产生 
lms算法matlab实现道客巴巴_自适应算法matlab代码t

=
0
:
99
;
lms算法matlab实现道客巴巴_自适应算法matlab代码xs

=
10
*
sin(
0.5
*
t);
lms算法matlab实现道客巴巴_自适应算法matlab代码figure;
lms算法matlab实现道客巴巴_自适应算法matlab代码subplot(

2
,
1
,
1
);
lms算法matlab实现道客巴巴_自适应算法matlab代码plot(t,xs);grid;
lms算法matlab实现道客巴巴_自适应算法matlab代码ylabel(


幅值

);
lms算法matlab实现道客巴巴_自适应算法matlab代码title(


it{输入周期性信号}

);
lms算法matlab实现道客巴巴_自适应算法matlab代码
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
 噪声信号的产生
lms算法matlab实现道客巴巴_自适应算法matlab代码randn(


state

,sum(
100
*
clock));
lms算法matlab实现道客巴巴_自适应算法matlab代码xn

=
randn(
1
,
100
);
lms算法matlab实现道客巴巴_自适应算法matlab代码subplot(

2
,
1
,
2
);
lms算法matlab实现道客巴巴_自适应算法matlab代码plot(t,xn);grid;
lms算法matlab实现道客巴巴_自适应算法matlab代码ylabel(


幅值

);
lms算法matlab实现道客巴巴_自适应算法matlab代码xlabel(


时间

);
lms算法matlab实现道客巴巴_自适应算法matlab代码title(


it{随机噪声信号}

);
lms算法matlab实现道客巴巴_自适应算法matlab代码
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
 信号滤波
lms算法matlab实现道客巴巴_自适应算法matlab代码xn 

=
 xs
+
xn;
lms算法matlab实现道客巴巴_自适应算法matlab代码xn 

=
 xn.

 ;   % 输入信号序列

lms算法matlab实现道客巴巴_自适应算法matlab代码

dn 
=
 xs.

 ;   % 预期结果序列

lms算法matlab实现道客巴巴_自适应算法matlab代码

M  
=
 
20
   ;   
%
 滤波器的阶数
lms算法matlab实现道客巴巴_自适应算法matlab代码
lms算法matlab实现道客巴巴_自适应算法matlab代码rho_max 

=
 max(eig(xn
*
xn.

));   % 输入信号相关矩阵的最大特征值

lms算法matlab实现道客巴巴_自适应算法matlab代码

mu 
=
 rand()
*
(
1
/
rho_max)   ;    
%
 收敛因子 
0
 
<
 mu 
<
 
1
/
rho
lms算法matlab实现道客巴巴_自适应算法matlab代码
lms算法matlab实现道客巴巴_自适应算法matlab代码[yn,W,en] 

=
 LMS(xn,dn,M,mu);
lms算法matlab实现道客巴巴_自适应算法matlab代码
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
 绘制滤波器输入信号
lms算法matlab实现道客巴巴_自适应算法matlab代码figure;
lms算法matlab实现道客巴巴_自适应算法matlab代码subplot(

2
,
1
,
1
);
lms算法matlab实现道客巴巴_自适应算法matlab代码plot(t,xn);grid;
lms算法matlab实现道客巴巴_自适应算法matlab代码ylabel(


幅值

);
lms算法matlab实现道客巴巴_自适应算法matlab代码xlabel(


时间

);
lms算法matlab实现道客巴巴_自适应算法matlab代码title(


it{滤波器输入信号}

);
lms算法matlab实现道客巴巴_自适应算法matlab代码
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
 绘制自适应滤波器输出信号
lms算法matlab实现道客巴巴_自适应算法matlab代码subplot(

2
,
1
,
2
);
lms算法matlab实现道客巴巴_自适应算法matlab代码plot(t,yn);grid;
lms算法matlab实现道客巴巴_自适应算法matlab代码ylabel(


幅值

);
lms算法matlab实现道客巴巴_自适应算法matlab代码xlabel(


时间

);
lms算法matlab实现道客巴巴_自适应算法matlab代码title(


it{自适应滤波器输出信号}

);
lms算法matlab实现道客巴巴_自适应算法matlab代码
lms算法matlab实现道客巴巴_自适应算法matlab代码

%
 绘制自适应滤波器输出信号,预期输出信号和两者的误差
lms算法matlab实现道客巴巴_自适应算法matlab代码figure 
lms算法matlab实现道客巴巴_自适应算法matlab代码plot(t,yn,


b

,t,dn,

g

,t,dn

yn,

r

);grid;
lms算法matlab实现道客巴巴_自适应算法matlab代码legend(


自适应滤波器输出

,

预期输出

,

误差

);
lms算法matlab实现道客巴巴_自适应算法matlab代码ylabel(


幅值

);
lms算法matlab实现道客巴巴_自适应算法matlab代码xlabel(


时间

);
lms算法matlab实现道客巴巴_自适应算法matlab代码title(


it{自适应滤波器}

);

       运行后的结果如下:

lms算法matlab实现道客巴巴_自适应算法matlab代码

lms算法matlab实现道客巴巴_自适应算法matlab代码

lms算法matlab实现道客巴巴_自适应算法matlab代码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167475.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • phpstrom激活码(JetBrains全家桶)

    (phpstrom激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • 算法基础课acwing下载_十进制数135转换为八进制数

    算法基础课acwing下载_十进制数135转换为八进制数杭州人称那些傻乎乎粘嗒嗒的人为 62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有 4 或 62 的号码。例如:62315,73418,88914 都属于不吉利号码。但是,61152 虽然含有 6 和 2,但不是 连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照号区间 [n,m],推断出交管局今后又要实际上给多少辆新的士车上牌

  • 大数据技术原理与应用-林子雨版-课后习题答案

    大数据技术原理与应用-林子雨版-课后习题答案第一章1.试述信息技术发展史上的3次信息化浪潮及具体内容。 信息化浪潮 发生时间 标志 解决问题 代表公司 第一次浪潮 1980年前后 个人计算机 信息处理 Intel、AMD、IBM、苹果…

  • NPS监控体系详解

    NPS监控体系详解1.NPS监控原理及意义原理:通过定期调研市场用户的净推荐值,牵引质量在具体领域的改进;优势:践行绝对的用户导向将品牌影响力、产品销量、市场份额与历史数据表现联系起来2.NPS数据回收以手机产品为例,从用户使用产品之日起的整个使用体验周期分三次发送调研问卷:首月,6月,18月;3.NPS监控指标体系NPS:产品NPSNPS1,NPS2,NPS3:按生命周期阶段分NPS1,NPS2,NPS3δNPS:阶段差值为δNPS=NPSM-NPS1领域NPSM关注度好评率差评率**用户

  • 卡巴斯基2月病毒及恶意软件排行榜

    卡巴斯基2月病毒及恶意软件排行榜互联网“热门”木马病毒排名下面显示了在2009年2月期间,中国地区的互联网上木马病毒的活跃情况。表中所列的都是最常遇到的恶意程序。这些恶意程序会在用户上网的同时给用户带来危害。(下表中的数据根据卡巴斯基产品检测情况统计得出)Nameofmalware % pp1. not-a-virus:AdWare.Win32.BHO.fay     7.69 +102. HEUR:Trojan…

  • 什么是债券久期[通俗易懂]

    什么是债券久期[通俗易懂]在做债券的投资分析中经常出现的一个词汇——债券久期,之前更多地是专注于开发,并不明白数字背后的业务含义,今天特意梳理下并做个记录。百度百科的解释:久期也称持续期,是1938年由F.R.Macaula

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号