资源简介
通过matlab编程来实现LMS 与RLS 算法的实现,在相同的参数下,通过matlab图表观察两者收敛速度的快慢,是自适应信号学习者很好的参考
代码片段和文件信息
close all;
clear all;
clc;
DataLength=600;
RunTimes=500;
NoiseVar=0.001;
FilterStep=11;
Delay=6;
w=[2.9 3.1 3.3 3.5];
u=0.038;
Colors=[100;010;001;000;1.51;0.2.80.4;0.30.60.1;00.30.5];
for t=1:4
h=0.5*(1+cos((2*pi/w(t))*((1:3)-2)));
TempNo=DataLength+FilterStep;
E1=zeros(DataLength1);
E2=zeros(DataLength1);
for iter=1:RunTimes
OriSig=randsrc(TempNo1[-11;0.50.5]);
ConvSig=conv(OriSigh);
ConvSig=ConvSig(1:TempNo);
Signal=ConvSig+sqrt(NoiseVar)*randn(length(ConvSig)1);
X=zeros(1FilterStep);
Y=OriSig(Delay:Delay+DataLength-1);
W=zeros(1FilterStep);
for n=1:DataLength
X=Signal(n:n+FilterStep-1)‘;
Epshino(n:)=Y(n:)-X*W‘;
W=W+2*u*Epshino(n:)‘*X;
end
E1=E1+Epshino.^2;
W1=zeros(1FilterStep);
Q=eye(FilterStep);
for n=1:DataLength
X=Signal(n:n+FilterStep-1)‘;
R=Q*X‘/(1+X*Q*X‘);
Epshino(n:)=Y(n:)-X*W1‘;
W1=W1+R‘*Epshino(n:);
Q=Q-R*(X*Q);
end
E2=E2+Epshino.^2;
end
E1=E1/RunTimes;
E2=E2/RunTimes;
figure(1);
semilogy(E1‘color‘Colors(t:));
title(‘The Competetion Between LMS-RLS‘);
hold on;
semilogy(E2‘color‘Colors(t+4:));
str=[‘LMS(w=2.9)‘;‘LMS(w=3.1)‘;‘LMS(w=3.3)‘;‘LMS(w=3.5)‘;‘RLS(w=2.9)‘;‘RLS(w=3.1)‘;‘RLS(w=3.3)‘;‘RLS(w=3.5)‘];
legend(str);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1481 2011-04-13 18:35 LMS-RLS.m
----------- --------- ---------- ----- ----
1481 1
- 上一篇:相空间重构代码-matlab
- 下一篇:matlab实现的基于颜色直方图的特征匹配
相关资源
- LMS程序算法
- 基于反正切函数的变步长LMS算法的M
- LMS和RLS算法
- RLS自适应滤波器的matlab设计与仿真
- RLS_算法matlab实现
- LMS算法及归一化LMS算法的MATLAB代码
- 单神经元自适应PID代码
- RLS语音信号去噪matlab代码
- 自适应遗传算法MATLAB程序170784
- LMS自适应波束形成MATLAB程序
- matlab图像处理自适应中值滤波
- LMS自适应波束形成算法
- 心电信号R峰检测
- RBF神经网络在线自适应源码带注释
- 维纳自适应滤波器设计及Matlab实现
- 神经元 自适应 PID MATLAB
- 一个简单的自适应控制matlab
- 基于二维DCT的自适应水印算法matlab实
- rls算法自适应均衡器matlab实现
- 自适应滤波-matlab完整程序
- 采用LMS算法利用自适应滤波器进行系
- 模型参考自适应MATLAB仿真程序
- matlab开发-自适应调制fdmltegeneralcode
- 自适应信道的matlab实现
- matlab 自适应控制程序
- 主动噪声控制FxLMS算法
- 信道均衡matlab代码
- 参数自适应差分进化算法
- 自适应动态规划matalab简单代码实现
- 自适应分数阶偏微积分去噪
评论
共有 条评论