前面学习的LMS自适应滤波器的核心思想是最速下降法,并根据当前输入信号和期望输出对代价函数的瞬时梯度进行估计。但LMS只使用了当前时刻的输入和期望信号,没有充分利用过去的信息。这就导致LMS自适应滤波器误差大、收敛慢。
  一个直接的想法就是,如果能把过去的信息也都利用起来,那么梯度估计的误差就会大大减小,算法便会很快收敛。最小二乘(Least Squares,LS)算法正好就实现了这一过程,它旨在使期望输出与滤波器实际输出的残差平方和最小。

1. 最小二乘法

1.1 从维纳滤波器引出集平均

    在前面介绍的维纳滤波器中提到,维纳滤波器是基于最小均方误差准则的,准则可表示为:
  自适应神经网络控制器 径向基函数 神经网络自适应滤波器_RLS   (1)
  其中e(n)是估计误差,
  自适应神经网络控制器 径向基函数 神经网络自适应滤波器_最小二乘_02      (2)
  这里自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应滤波器_03仅是基于当前时刻的信号。对自适应神经网络控制器 径向基函数 神经网络自适应滤波器_维纳滤波器_04求期望,是基于维纳滤波器要求已知估计量(即不带噪信号)的前两阶矩这一事实。因此,维纳滤波器的优化准则本质上是仅基于当前时刻信号的统计意义上的最优,即集平均。

1.2 集平均自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应滤波器_05时间平均

    集平均又称统计平均,是对一族样本进行均值估计。除了集平均外,还有一种平均方法——时间平均,它是对同一样本进行多次观察后进行均值估计。

    二者区别与联系如下图所示:

自适应神经网络控制器 径向基函数 神经网络自适应滤波器_最小二乘_06


    集平均需要已知信号的统计特性(最起码要知道信号的一阶矩)。而时间平均则不需要知道信号的统计特性,因为它是靠多次观察来得到的。

1.3 从时间平均引出最小二乘法

    和引入LMS自适应滤波器类似,重新回到前面介绍的最速下降法在维纳滤波器中的应用
  时刻自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应神经网络控制器 径向基函数_07的估计误差再一次列出来:
  自适应神经网络控制器 径向基函数 神经网络自适应滤波器_RLS_08
  最速下降法用于维纳滤波器时,是基于维纳滤波器的集平均思想,构造了基于线性最小均方误差(LMMSE)的代价函数,即需要使自适应神经网络控制器 径向基函数 神经网络自适应滤波器_维纳滤波器_09最小。
  这里,将集平均思想改为时间平均,构造新的代价函数:
  自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应神经网络控制器 径向基函数_10
  式(4)便是最小二乘法的核心思想。除了这里介绍的自适应滤波外,它还有很多其它应用,比如曲线拟合、最优化等。

2.递归最小二乘(RLS)自适应滤波器

2.1 RLS的代价函数

    若将前述最小二乘法直接用于滤波,所做的将是批处理(Batch),每一次接受到新测量值的时候,需要整个模型重新计算。这样的方法需要耗费大量内存存储所有历史数据,并且计算量很大,无法进行实时滤波。
  递归最小二乘法(RLS)便是为解决实时滤波问题的,其代价函数为:
  自适应神经网络控制器 径向基函数 神经网络自适应滤波器_最小二乘_11
  说明:

  1. 式(5)的第一项表示为残差的加权平方和。自适应神经网络控制器 径向基函数 神经网络自适应滤波器_维纳滤波器_12是呈指数衰减的加权系数,加入权值是为了保证“遗忘”掉久远的过去数据,而更及时的跟踪最新数据,自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应神经网络控制器 径向基函数_13。事实上,经典最小二乘法假设每一时测量数据的权重相同,这样并不合理。假如一个测量值已经过去很久,那么它对计算结果的影响就应该削弱,反之影响应该加强。
  2. 式(5)的第二项是为了RLS算法推导方便加入的正则化项,随着时间的推移,自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应神经网络控制器 径向基函数_14趋向于0,正则化项的影响越来越小。自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应神经网络控制器 径向基函数_15是正则化系数。

2.2 计算步骤

    RLS自适应滤波器的推导过程很复杂,这里直接给出推导结果,也就是实际工程应用时的计算步骤。
  考虑同最速下降法用于维纳滤波同样的滤波器结构(滤波器系数长度为自适应神经网络控制器 径向基函数 神经网络自适应滤波器_最小二乘_16),计算步骤如下:

  1. 算法初始化
    自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应滤波器_17
    自适应神经网络控制器 径向基函数 神经网络自适应滤波器_最小二乘_18
    其中,当SNR较高时,自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应神经网络控制器 径向基函数_19取小正数;当SNR较低时,自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应神经网络控制器 径向基函数_19取大正数。
    对每一时刻自适应神经网络控制器 径向基函数 神经网络自适应滤波器_RLS_21,按如下步骤迭代计算
  2. 计算中间量 自适应神经网络控制器 径向基函数 神经网络自适应滤波器_最小二乘_22
    自适应神经网络控制器 径向基函数 神经网络自适应滤波器_最小二乘_23
  3. 计算增益向量自适应神经网络控制器 径向基函数 神经网络自适应滤波器_最小二乘_24
    自适应神经网络控制器 径向基函数 神经网络自适应滤波器_RLS_25
  4. 计算先验估计误差自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应滤波器_26
    自适应神经网络控制器 径向基函数 神经网络自适应滤波器_RLS_27
  5. 更新滤波器系数自适应神经网络控制器 径向基函数 神经网络自适应滤波器_最小二乘_28
    自适应神经网络控制器 径向基函数 神经网络自适应滤波器_维纳滤波器_29
  6. 更新逆相关矩阵自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应滤波器_30
    自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应神经网络控制器 径向基函数_31

说明如下:

  1. 自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应神经网络控制器 径向基函数_32维矩阵自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应滤波器_30叫做逆相关矩阵,是输入信号相关矩阵加权和自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应神经网络控制器 径向基函数_34(考虑正则项)。自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应神经网络控制器 径向基函数_34的计算公式为:
        自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应神经网络控制器 径向基函数_36
      虽然自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应滤波器_30是逆相关矩阵,但因为迭代算法的存在,实际计算时并不需要矩阵求逆。
  2. 自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应滤波器_38维向量自适应神经网络控制器 径向基函数 神经网络自适应滤波器_最小二乘_24
  3. 自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应滤波器_40是先验估计误差,计算时用到的时上一时刻的滤波器系数。不同于维纳滤波器中用到的后验估计误差。后验估计误差的计算公式为自适应神经网络控制器 径向基函数 神经网络自适应滤波器_最小二乘_41
  4. 自适应神经网络控制器 径向基函数 神经网络自适应滤波器_维纳滤波器_42是计算的中间量,一般自适应神经网络控制器 径向基函数 神经网络自适应滤波器_最小二乘_24按2~3两个步骤分开计算,可减轻有限精度计算带来的问题。

2.3 RLS 自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应滤波器_05

    RLS自适应滤波器比LMS计算复杂,但也还好,没有矩阵求逆(LMS也没有),只有大量的乘法运算。
  RLS和LMS的主要区别如下:LMS算法中的步长参数自适应神经网络控制器 径向基函数 神经网络自适应滤波器_维纳滤波器_45自适应神经网络控制器 径向基函数 神经网络自适应滤波器_最小二乘_46[即输入向量自适应神经网络控制器 径向基函数 神经网络自适应滤波器_自适应神经网络控制器 径向基函数_47的相关矩阵的逆]代替,它对输入信号有白化作用。
  这一改进对平稳环境下RLS算法的收敛性能产生如下影响:

  1. RLS算法的收敛速率比LMS快一个数量级。
  2. 随着迭代次数自适应神经网络控制器 径向基函数 神经网络自适应滤波器_RLS_21趋于无线大,RLS算法的额外均方误差收敛于零。

参考文献:


  1. 郑宝玉 等译,自适应滤波器原理,第四版,第8章、第9章
  2. 罗鹏飞 等译,统计信号处理基础——估计理论和检测理论,第8章