变步长LMS算法归类

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

为步长因子的上下限,ξ 、η 为权重系数,参数ξ 为原步长因子的权重系数,η 为误差信号 的权重系数,系数越大代表系数之后的重要性越大,如果 ξ 越大,则说明迭代过程步长因子 变化越稳定,ξ 参数的取值范围为[0,1]。如果η 越大,则误差信号的贡献率越大。η 同时影
响收敛速度和稳态误差,取一个较小的值。同时为了兼顾算法的收敛速率与稳定性,通过设
种是步长调整与输入信号 x (n) 关联,另一种是步长调整关公式与误差信号 e(n) 关联,第三种
为步长调整公式同时与误差信号 e(n) 和输入信号 x(n) 相关联。为描述直观方便,本论文中
采用这种分类方法,把所用的变步长方法按照其步长调节算法所需关联的信号分类分为三 组。为统一符号,规范表述,将各类算法中的参数统一如表 2.4-1:
当误差小的时候减小步长来限制稳态误差。典型算法有 Li 的算法,Yan 的算法,Kwong 的
算法,Aboulnasr 的算法。
(1) VSS-LMS-B1 Kwong 在 1992 年提出一种 VSS-LMS 算法[53],这是一类通过迭代递归方式求得步长因
子的方法,新的步长因子通过原步长因子根据作为参考的误差信号调整求得,更新步长更新
其他
(2.4.6)
VSS-LMS-B2 算法中包含五个需要设置的参数初始化常量,参数 λ 的取值范围为[0,1]并
且接近于 1。参数ξ 和η 为步长更新的权重系数,其取值可以和 Kwong 算法相同,步长的上
下界限也可以参考 Kwong 算法中的设定值。公式中 p ( n) 的引入是将误差信号进入步长因
变步长 LMS 算法
LMS 算法是自适应领域的实际需求中常用的算法之一。 虽然该算法具有简单,快速的 特点,并具有良好的鲁棒性,方法较简便,但 LMS 算法的完整数学分析以及步长调整的精 确规则目前还尚不清楚,这可能是由于其高度非线性的特点造成的,就 LMS 算法本身而言
仍有改进的空间。由上一节中根据 LMS 算法的公式(2.3.4)得出,LMS 算法中的步长因子 µ
近于最大步长因子值,从而加快收敛速率,在误差接近于 0 处时,由于 Sigmoid 函数具有
缓慢变化的特性,步长因子也将取较小值,保证算法的收敛效果,同时该算法也通过建立
e (n) 和 e (n −1) 的自相关性,增强了算法对误差信号突变的抵抗性。
(4) VSS-LMS-B4
( ) Li 在 2009 年提出一种 VSS-LMS 算法[56],迭代步长与误差信号 e n 相关。相比于 Yan
( ) 值大于 0 时,该函数取值为 1,η 用于控制收敛速度。该算法用 sign e (n −1) 替代了 Kwong
的算法中的 e2 (n) ,使得算法的计算量得到减小,提高算法收敛速度。
2.4.3 基于输入与误差的变步长 LMS 算法(C 类)
将步长调整方式同时与误差信号 e (n) 和输入信号 x (n) 相关联归类为第三类算法,即 C
( ) 提出的算法与后面章节 Karin 的算法,该算法将 µmax 和参数ν 的取值与误差信号 e n 相关
联,解除最大步长的局限性,步长更新公式如式(2.4.9)、(2.4.10):
( ) = µ (n) µ′(n) 1+exp(−ν (n) e(n) )
(2.4.9)
µ′(n) =λµ′(n −1) + (1− λ ) e(n −1)e(n)
公式如式(2.4.2)所示:
µ′(= n) ξµ′(n −1) +ηe2 (n −1)
(2.4.2)
步长因子需满足条件(2.4.3):
= µ (n)
µµmmainx
µ ′ ( n )
if µ′(n) > µmax if µ′(n) < µmin
其他
(2.4.3)
VSS-LMS-B1 算法中共包含四个固定参数初始值 µmax 、µmin 、ξ 、η ,其中 µmax 、µmin
由 Nagumo 和 Albert 在 1967 年提出的 NLMS(Normalized LMS,NLMS)算法被认为 是最早的 VSS-LMS 算法,也是现在常用的一种 VSS-LMS 算法 [28, 29]。NLMS 算法的步长更 新公式如式(2.4.1)所示:
∑ = µ (n) x= T (nµ) x (n)
对 FXLMS 算法性能具有关键作用。步长选择的问题可以总结如下:大的步长因子满足自适 应收敛的快速性,但也会产生大的过量均方误差 EMSE(Excess Mean Square Error),如果步 长过大,可能会导致系统失去使用 LMS 算法的稳定性。 另一方面,步长过小会导致收敛速 度缓慢,这就导致即使均方误差很小,但也不能被许多实际应用所接受。从另一个角度看, 一方面,没有固定的步长 LMS 算法可以既影响均方意义上的收敛特性,另一方面,根据步 长大小,又可以将 EMSE 限制在一定范围内。因此,新的 VSS-LMS(Variable Step Size Least Mean Square)变步长 LMS 算法相继出现在实际应用研究中。
µ
L−1 x2 (n − i)
i=0
(2.4.1)
VSS-LMS-A1 算法中需要调整的参数因子为 µ ,其取值为大于 0 的常量,在一些情况
下可以取值为 2,但在通常的应用中都取一个较小的值。
VSS-LMS-A1 算法核心是把输入信号作为步长因子更新的参考量,对输入信号做归一
化处理,步长因子将随输入变量而变化,其中 NLMS 对于输入信号 x(n) 的能量变化是鲁棒
参数
e
L k T x α
ε
η µ µ µ max µ min ν ρ
σ
λ
τ
ξ
sign()
表2.4-1 变步长FXLMS算法符号说明 描述
误差信号 自适应滤波器的长度
自由控制参数 自适应滤波器的部分长度
输入信号 缩放因子 远小于输入信号的常量 接近于 0 的常量
步长 均值步长 步长上界限 步长下界限 阻尼因子 输入信号和误差信号关联度的估计 先验误差 遗忘因子 阻尼跳变阈值参数 取值区间为[0,1]且接近于 1 的常量 取符函数
式如式(2.4.7)所示:
( ) ( ) µ (n) = µmax 1−1 1+exp ν e(n) e(n −1)
(2.4.7)
VSS-LMS-B3 算法中需要调整的初始化系数为两个,其更新过程不需要引入原步长因子
的大小,步长因子的更新只跟随误差信号, µmax 为最大步长因子,ν 为阻尼因子,ν 越小,响应曲线越平坦。
与 VSS-LMS-B2 算法的区别,此算法中引入 Sigmoid 函数作为步长因子更新形式,其
函数图像为 S 型曲线,Sigmoid 基本函数式为式(2.4.8):
b
=
1
1 + e−
a
(2.4.8)
由于其数值特性,Sigmoid 函数通常被用在神经网络中,将目标变量映射为 0、1 两个
值,在本应用中,Sigmoid 函数从数学形式上具有良好的特性,e (n) 很大时,步长因子取接
的。在实际使用中,为了避免由于输入信号趋于零的时候步长会突然间调节至很大,影响算
法稳定性甚至导致发散,所以对算法实际应用时设定好初始条件至关重要。
2.4.2 基于误差的变步长 LMS 算法(B 类)
将步长调整方式与误差信号 e(n) 关联的变步长算法定义为 B 类算法,此类改进算法的
本质为:根据误差信号为输入参考调整步长因子,当误差大的时候增大步长来加快收敛速度,
式(2.4.4)、(2.4.5)所示:
µ′(= n) ξµ′(n −1) +η p2 (n −1)
(2.4.4)
p (n) =λ p (n −1) + (1− λ ) e (n) e (n −1)
(2.4.5)
步长因子需满足条件(2.4.6):
= µ (n)
µµmmainx
µ ′ ( n )
if µ′(n) > µmax if µ′(n) < µmin
法的简化版本。步长与瞬时误差 e (n) 的符号相关联,步长因子更新公式为(2.4.12):
µ′(n) =ξµ′(n −1) +ηsign (e(n −1))
(2.4.12)
其步长因子需满足条件(2.4.13):
= µ (n)
µµmmianx
µ ′ ( n )
if µ′(n) > µmax if µ′(n) < µmin
就是为了解决这一问题,当误差信号发生激变时,跳变阻尼因子也随之变大,起到降低突变
影响的作用,在初始化时赋值为ν1 ,当比值ν (n) ν (n −1) 大于一个设定阈值τ 时,ν (n)
跳变到取值ν 2 ,用以加快收敛速度。
(5) VSS-LMS-B5
这是 Haweel 在 2004 年提出一种 VSS-LMS 算法[57],该算法可以认为是 Kwong 提出算
(2.4.10)
阻尼因子为式(2.4.11)所示:
ν (n) = e(n) e(n −1)
(2.4.11)
VSS-LMS-B4 算法中,需要调整的权重系数只有 λ ,其为遗忘因子。与 Yan 的算法相
( ) 比, µ(n) 取代了 µmax ,ν n 为跳变阻尼因子。这一方法主要是将(2.4.7)中的 µmax 引入 误差信号与这一参数的联系,加强相关性,同时也建立起ν (n) 与误差信号 e (n) 的联系。在 上述算法当中提到误差信号发生激变可能会对控制器产生失控或超调的影响,ν (n) 的引入
初始w(n)
读取 (x n) d(n)
L −1
∑ 计算 = y(n) wi ⋅ xn−i i=0
计算 e= (n) d (n) − y(n)
w(n +1=) w(n) − 2µ ⋅ e(n) ⋅ (x n)
更新 µ
图 2.4-1 变步长 LMS 自适应算法流程图
VSS-LMS 算法可以按照调整步长的不同技术进行方法分组,如可以依据其运行所需调 节的参数数量,或者是依据其步长为独立步长还是统一步长,也可以依据其算法的函数特点 进行分类等。通常,将 VSS-LMS 算法按照其步长调节所关联的信号分类,可分为三类:一
如图 2.4-1,为 LMS 算法的流程框图,以初始化 w(n) 开始,读取输入信号 x(n) 与期望 信号 d (n) ,计算滤波器的输出信号 y(n) ,计算输出信号 y(n) 与期望信号 d (n) 的误差 e(n) ,然后更新权值系数向量 w(n) ,同时用于更新权值系数向量的步长因子 µ 。
类变步长算法,C 类算法不仅考虑误差信号,还考虑在产生误差信号前所产生的参考信号,
两者的关联性对算法具有重要作用,这种类型的典型算法有 Shan 的算法,Ramadan 的算法,
Yuan 的算法,Karin 的算法,Benveniste 的算法,Mathews 的算法。
子迭代过程前,先通过 e (n) 和 e (n −1) 的自相关性对 p (n) 进行迭代更新,避免了单一误差
信号的突变作用,将误差信号减少了误差信号突变带来的干扰。
(3) VSS-LMS-B3
Yan 在 2010 年提出一种 VSS-LMS 算法[55],其步长迭代与误差信号 e(n) 相关,更新公
其他
(2.4.13)
VSS-LMS-B5 算法中需要调整的参数有两个: ξ 与η 。同 Kwong 提出的相比,此算法
对误差信号做取符运算,其中,ξ 为接近于 1 的常数, sign 是取符号函数,当误差信号取
值小于 0 时,该函数取值为-1,当误差信号取值等于 0 时,该函数取值为 0,当误差信号取
2.4.1 基于输入的变步长 LMS 算法(A 类)
将步长调整方式与输入信号 x(n) 关联的算法归类为 FX-A 类变步长算法,与输入信号 x(n) 相关联的改进算法的主要目标是:使算法稳定性尽可能少的受输入信号能量突变的影
响。这种类型的代表算法是 NLMS(Normalized LMS, NLMS)归一化算法。 (1) VSS-LMS-A1
定 µmax 、 µmin 两个值来限制步长因子的变化范围。
(2) VSS-LMS-B2 由于 Kwong 的算法在误差信号瞬时突变的情况下有可能会引起算法不稳定,Aboulnasr
在 1995 年围绕这一缺陷对 Kwong 的算法进行了改进[54]。Aboulnasr 用 e (n) 和 e (n −1) 的自 相关估计来替代 Kwong 算法中的 e2 (n) ,此算法含有两项迭代过程,步长因子更新公式如
相关文档
最新文档