⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rls.m

📁 最小二乘法推广为一种自适应算法
💻 M
字号:
clc;
clear all;
close all;
hold off
hh=5;                     %滤波权数
M=500;                  
w=randn(1,M);
x=zeros(1,M);             %期望响应
xx=zeros(1,M+4);
xx(1,1)=0;xx(1,2)=0;xx(1,3)=0;xx(1,4)=0;
for i=5:M+4
    xx(1,i)=w(1,i-4)+1.352*xx(1,i-1)-1.338*xx(1,i-2)+0.662*xx(1,i-3)-0.240*xx(1,i-4);
end
x(1,1:M)=xx(1,5:M+4);
v=randn(1,M);              %白噪声 
y=x+v;                     %滤波器输入
%RLS算法
Lambda = 0.98 ;            %设置遗忘因子
Delta = 0.001 ; 
P = Delta * eye ( hh, hh ) ;
w = zeros ( hh, 1 ) ;       %w初始化
for n = hh : M ;
u = y(n:-1:n-hh+1) ;
s(n)= w' * u';              %系统输出
pi_ = u * P ;
k = Lambda + pi_ * u';
K = pi_'/k;
e(n) = x(n) - w' * u';
w = w + K * e(n) ;
end;
%画图
subplot(211);
plot(x,'b-')
hold on;
plot(s,'r');
title('RLS的期望输出和实际输出对比');
subplot(212);
plot((abs(e))) ;
title('RLS的误差值');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -