RLS自适应滤波上海中学官网
1、RLS自适应算法
最小二乘(LS)法是一种典型的有效的数据处理方法,既可用于静态系统,又可用于动态系统:既可用于线性系统,又可用于非线性系统;既可用于离线估计,又可用于在线估计。递归最小二乘(Recursive Least Square,RLS)是最小乘法的一种快速算法,它包含时间递归最小二乘(TRLS)算法和阶数递归最小二乘(ORES)算法两方面内容,一般前者适用于动态系统辨识和在线估计,后者适用于静态系统辨识和离线估计。与LMS算法相比,RLS算法有着非常快的收敛速度。
在快速收敛算法的推导中,我们采用最小二乘法。因此,将直接处理接收数据,使二次性能指数最小,而以前是使平方误差的期望值最小。这意味着,用时间平均而不是统计平均来表示性能指数。
基于时间平均的最小平方误差被定义如下:
fyi
(1)
式中,λ是接近1,但是小于1的加权因子,称作遗忘因子。其中估计误差定义为
(2)
且
(3)
式中,x(i)是i时刻的输入数据向量,w(n)是n时刻的新的抽头增益向量。因而e(i)是用n时刻的抽头增益向量测试i时刻的旧数据所得的误差,J(n)是在所有旧数据上用新抽头增益所得的累计平方误差。
要完成RLS算法就要找到均衡器的抽头增益向量w(n),使得累计平方误差J(n)最小。为了测试新的抽头增益向量,会用到那些先前的数据。而因子λ会在计算时更依赖于新近的数据,也就是说,J(n)会丢掉非稳定环境中的较旧的数据。如果信道是稳定的,那么λ可以设为1。
为了获得J(n)的最小值,可使J(n)的梯度为0,即,通过运算可知:
英文金额大写
(4)
式中,是RLS均衡其的最佳抽头增益向量。
(5)
(6)
式(5)中的方阵R(n)是输入数据向量x(i)的确定相关矩阵,式(6)中向量r(n)是输入向量x(i)和期望输出d(n外教网)之间的确定互相关矩阵。要用式(4)计算均衡器的抽头增益向量,就需要计算。
中译英 从式(5)中R(n)的定义可知,我们可以得到关于R(n-1)的递归公式。
(7)normal什么意思
由于式(7)中的三项都是N×N的方阵,我们可以使用方程倒数的引理得到递归公式:
(8)
式中
(9)
根据上述递归公式,可知:
(10)
式中
(11)
综上所推导可以得出RLS直接算法,其步骤如下:
步骤一 初始化:
是一个正常数
步骤二 更新:n=1,2…
RLS直接算法流程图如下图1。
图1 RLS算法流程图
2、MATLAB实验仿真
实验仿真为从噪声中提取信号,程序如下:
clear all;
clc;
N=1000;
n=0:N-1;
a=0.5; %遗忘因子
t=n/N;
d=(sin(12*pi*t))'; %参考信号
xn=(0.8*randn(1,length(t)))'; %随机噪声信号
x=d+xn; %加噪声输入信号
N=10;
M=length(x);
w=(zeros(1,N))';
p=0.1*eye(N,N);
y=(zeros(1,M))';
e=(zeros(1,M))';
%RLS自适应滤波算法
for n=N:M
u=x(n:-1:n-N+1);
e(n)=d(n)-w'*u;武汉出国中介
k=(p*u)/(a+u'*p*u);
p=(1/a)*(p-k*u'*p);
w=w+k*conj(e(n));
y(n)=w'*u;
cet 6
end
%作图
figure(1)
subplot(2,1,1);
plot(xn),grid;
xlabel('Samples');
ylabel('Amplitude');
title('xn noi signial');
subplot(2,1,2);
blitz
tomor
plot(d,'r'),grid;