其中 为一纯量。 矩阵 式(2.2.2.4)
N维矢量 , 为增益系数 式(2.2.2.5)
由式2.2.2.4和式2.2.2.5逆推式2.2.2.3可得
式(2.2.2.6)
利用式2.2.2.6,就可以用递推的方式求m m维矩阵 的逆,使运算量降低。
式2.2.2.6两端乘以 ,利用式2.2.2.5可得
式(2.2.2.7)
另外,根据式2.2.1.6可得 式(2.2.2.8)
将式2.2.2.4,式2.2.2.6,式2.2.2.8代入式2.2.1.11就可以得到
式(2.2.2.9)
利用式2.2.2.5和式2.2.2.9的最后两项可简化为 ,而式2.2.2.9的前两项中的 即为 。所以由式2.2.2.9可得
式(2.2.2.10)
这即为递推最小二乘(RLS)算法的递推公式。
下图为RLS算法的流程图:
2.2.3 RLS算法的参数分析
RLS算法具体实现需要以下计算式 ; ;
; = ;
;其中 个参数意义与LMS相同,新增个参数意义为 :反相关矩阵; (n):增益向量; :遗忘因子。
在RLS算法中遗忘因子是一个接近1但是小于1的正数,一般来说介于0.95到1之间。使用遗忘因子的目的在于把接近目前时间点的信息乘上越大的权值,而离目前时间点越远的信息乘上越小的权值,也就是说,我们重视较近时间点的信息甚与较远时间点的信息。若等于1,则表示对所有的信息都一样,其权值都是相同的。
2.2.4 RLS算法Matlab仿真分析
图2.2.4.1
上图分别为输入信号,输出信号和误差信号的曲线,可以看出输出信号在经过一段时间的自适应调整后,便能基本达到跟踪,滤波的效果。从误差信号曲线也可以看出这点,误差输出经过一段时间就趋于稳定。
图2.2.4.2
上图为误差平方的均值曲线,大约在t=300时,误差趋于收敛,系统完成自适应过程。
以上就是围绕对RLS算法的分析,着重讨论了RLS算法推导,具体实现的相关公式以及运用matlab软件对其进行仿真。
2.2.5 RLS算法与LMS算法的比较分析
RLS算法能够在很短的时间内就趋于收敛,而LMS算法则有一个比较长的渐变过程,所以RLS的跟踪性能要优于LMS,这可以从图2.1.5.1和图2.2.4.1看出。换句话说,RLS比LMS的收敛速度要快。可以通过下图看出:
上图蓝色是LMS收敛曲线,红色为RLS收敛曲线。可以看出明显RLS收敛性要优于LMS算法。
而且LMS在收敛后波形还有较大波动,而RLS就要小的多,基本没有波动,这说明RLS的稳态误差也是小于LMS的,从图2.1.5.3和图2.2.4.2可以看出。但是由于LMS计算量简单,适合于硬件实现,这是RLS无法相比的。所以二者各有优劣。(以上LMS和RLS算法仿真均采用相同的外界信号及采样时间点)