自适应滤波器原理——稀疏类自适应算法(PNLMS)

通过对回声路径模型的分析,发现回声能量中较活跃系数均在时域聚集,且比重很小,其数值只有很少不为零的有效值,大多数都是零值或者接近零值,这就是回声路径具有的稀疏特性(基于时域对信号进行处理的一种特性)

回声脉冲响应具有稀疏特性,其系数绝对值只在短时间内大于零,其余则无限趋近于零。上千阶的滤波器系数中实则只有几百个发挥实际作用,且决定着回声路径估计的准确性。因此,在回声路径具有长脉冲响应的情况下,基本的 LMS 及 NLMS 算法的收敛速度一般不能达到要求,必须研究出一种拥有较快收敛速度的自适应滤波算法,在此背景下,根据回声路径的稀疏性,Duttweiler引入了比例自适应的思想,提出了比例归一化最小均方算法(Proportionate Normalized Least Mean Square, PNLMS)按比例分配滤波器的权值向量大小,该算法对回声消除的发展具有非常重要的意义。 

PNLMS 算法拥有初始收敛速度的优势,尤其在回声路径具有稀疏性条件下,其收敛速度则更加明显。PNLMS算法采用与滤波器抽头稀疏成正比的可变步长参数来调整算法收敛速度,利用其抽头稀疏的比例值来判断当前权重稀疏所属的活跃状态,根据状态的不同,所分配的步长大小也有所差异,活跃抽头系数分配较大的步长参数,这样可以加速其收敛,而不活跃的抽头系数则相反,通过分配其较小的步长参数来提高算法的稳态误差。每个滤波器抽头被分别赋予了不同估计值,算法的稳态收敛性得到了明显改善。滤波器权值更新公式可表示为: 

式中G(n)为N维的对角增益矩阵,以对滤波器各权值系数分配步长权重,表示为

其中

 

式中

 

 

优点:使算法对于稀疏的回声路径,在初始阶段拥有快速的收敛速率,与此同时降低了稳态误差,

缺点

  1. 比例步长参数的选择引入了定值,这会导致估计误差累积,最后可能出现算法后期收敛速度慢、不能及时收敛的情况
  2. 相比于NLMS算法增加了算法的复杂度
  3. 另外在回声路径非稀疏情况下,收敛速度会变得比NLMS算法更慢

改进的PNLMS

PNLMS 算法的收敛速度提升是以回声路径脉冲响应具有高稀疏程度为前提条件的,因此在一些低稀疏度的场景下,其效果甚至没有 NLMS 算法表现好,且随着迭代的进一步进行,其收敛速度会发生显著减缓的情况。为了解决这一问题,P.A.Naylor提出了改进的IPNLMS(Improved IPNLMS,IIPNLMS)算法。结合了PNLMS 和 NLMS 算法的优势,IPNLMS 算法在二者的基础上采取了可调整算法比重的参数θ 

则公式1右半部分第一项可以看成是 IPNLMS 算法的 NLMS 成分,而第二项可以是PNLMS 成分。当θ=1时 IPNLMS 算法退化为 PNLMS 算法,当θ=−1时 IPNLMS 算法退化为 NLMS 算法。IPNLMS 算法内部包含了 NLMS 算法和 PNLMS 算法的成分,且由于调整算法比重参数的存在使得其内部两种算法的成分达到协调,因此使得其收敛速度保持在适中的状态。

PNLMS++ 

PNLMS ++算法,在每个采样周期内,通过将NLMS算法和PNLMS算法之间进行交替来实现收敛速度方面的提升。但是PNLMS ++算法只在回声路径稀疏或高度非稀疏的情况下表现良好。

参考链接:

https://www.cnblogs.com/LXP-Never/p/11773190.html

猜你喜欢

转载自blog.csdn.net/qq_42233059/article/details/131351264