我正在尝试修改 LMS 算法,使其收敛速度更快,均方误差也会更小。 谈到 LMS 的缺点之一,它只有一个可控参数“mu”,从设计的角度来看,它的值的选择是最关键的。 因此,我想以步长适应每次迭代中发生的错误的方式实现 LMS。
我提出的是二进制步长 LMS 算法。这里,我们有两个步长,由 2 个值计算,增量和偏差。 当误差比之前的 error 值增加时,步长为(delta+deviation)。 当误差从其先前的值减小时,步长为(delta-deviation)。 我使用 BS-LMS 算法实现了一个自适应均衡器。 发现这比 LMS 算法收敛得更快。
此外,考虑到步长始终为(输入信号的增量/能量)的 NLMS(Normalized LMS)算法,NLMS 的收敛速度比 LMS 快。 将二进制步长概念与 NLMS 结合起来,我发现 BS-NLMS 和 NLMS 的收敛速度几乎相等,但是
2022-04-11 14:32:56
72KB
matlab
1