• 大小: 762B
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: Matlab
  • 标签: rls  自适应  matlab  

资源简介

该算法用matla进行了仿真,绝对可用!

资源截图

代码片段和文件信息

% RLS算法
randn(‘seed‘ 0) ;
rand(‘seed‘ 0) ;
NoOfData =1000; % Set no of data points used for training
Order = 10; % 自适应滤波权数
Lambda = 0.98 ; % 遗忘因子
Delta = 0.001 ; % 相关矩阵R的初始化
x = randn(NoOfData 1) ;%高斯随机系列
h = rand(Order 1) ; % 系统随机抽样
d = filter(h 1 x) ; % 期望输出
t=1:NoOfData;
% RLS算法的初始化
P = Delta * eye ( Order Order ) ;%相关矩阵
w = zeros ( Order 1 ) ;%滤波系数矢量的初始化
% RLS Adaptation
for n = Order : NoOfData ; 
u = x(n:-1:n-Order+1) ;%延时函数
pi_ = u‘ * P ;%互相关函数
k = Lambda + pi_ * u ;
K = pi_‘/k;%增益矢量
e(n) = d(n) - w‘ * u ;%误差函数
w = w + K * e(n) ;%递归公式
PPrime = K * pi_ ;
P = ( P - PPrime ) / Lambda ;%误差相关矩阵
w_err(n) = norm(h - w) ;%真实估计误差
end ;
error=e.^2; 
% 作图表示结果
figure
subplot
plot(terror‘r‘)
figure ;
plot(20*log10(abs(e))) ;%| e |的误差曲线
title(‘学习曲线‘) ;
xlabel(‘迭代次数‘) ;
ylabel(‘输出误差估计‘) ;
figure ;
semilogy(w_err) ;%作实际估计误差图
title(‘矢量估计误差‘) ;
xlabel(‘迭代次数‘) ;
ylabel(‘误差权矢量‘) ;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1068  2009-07-22 15:38  quanjirls.m

----------- ---------  ---------- -----  ----

                 1068                    1


评论

共有 条评论