第八章快速横向LMS滤波算法8.1简介在大量的算法解决最小二乘问题递归形式的方法中快速横向递归最小二乘(FTRLS)算法是非常具有吸引力,因为其能减少计算复杂度。FTRLS算法可以通过求解同时向前和向后的线性预测问题,连同其他两个横向过滤器:过程估计量和一个辅助滤波器的期望信号向量有一个作为其第一和唯一的非零元素(例如,d(0)=1)。与格型算法相比,FTRLS算法只需要时间递归方程。然而,需要得到一些FTRLS算法的关系,可参考前面一章LRLS算法。FTRLS算法考虑快速的横向滤波器RLS的算法更新的解决方法。因为顺序固定,更新横向自适应滤波器系数向量在每个计算中都迭代。格型算法的向后和向前的派生关系可以用于预测所派生的FTRLS算法。由此产生的算法计算复杂度在实际中实现N使它们特别具有吸引力。相比格型算法,FTRLS算法的计算复杂度较低,由于没有权向量更新方程。特别是,FTRLS算法通常需要7n到11n每输出样本,乘法和除法则需要LRLS14n到29n计算。因此,FTRLS算法被认为是最快的解决方案的实现RLS的问题[1]-[7]。在工程实践领域相继提出几种不同的FTRLS算法,所谓的快速卡尔曼算法[1],这的确是一个早期的快速横向RLS算法,计算11n次乘法和除法的复杂运算在每次输出示例。在后面的研究阶段开发领域的快速横向算法,快速后验误差序列的技术(fa)[2],快速横向滤波器(FTF)[3]算法提出了要求,同样需要7n乘法和每次除法的输出样本。FTF算法是具有最低的复杂性的RLS算法,不幸的是,这些算法对量子化效应非常敏感,如果有一些步骤没被采取将会变得不稳定。在这一章,FTRLS算法的一种特殊形式将被提到,基于那些被提的网格算法所派生出来的。众所周知,量子化错误在FTRLS算法中是指数发散[1]-[7]。自从FTRLS算法不稳定的行为用有限精度算法实现的时候,我们讨论实现FTRLS数值稳定的算法,并提供一个特定算法的描述[8],[10]。8.2递归最小二乘预测快速算法探索一些结构性的信息数据以达到低计算的复杂性。在特定情况下的快速RLS算法本文中讨论达到减少计算复杂度的情况下,由输入信号连续推迟样本中相同的信号。在本例中,模式的快速算法是相似的,向前和向后预测这些过滤器是必不可少的部分算法。建模的预测执行任务的输入信号,因此允许替换矩阵方程的矢量和标量关系。派生的FTRLS算法,解决方案的RLS向前和向后的预测问题需要权向量递归方程。在本节中,这些解决方案进行了综述强调FTRLS算法相关的结果。如前所述,我们将借一些派生的前一章对点阵算法。是值得的提及,FTRLS可以被介绍通过一个独立的推导,基于格型的推导在这点可能更加深刻的当然更直截了当的。8.2.1向前预测关系瞬时向前后验Nth-order预测作为预测误差后验和先验的向前预测误差之间的关系,首次提出了方程(7-49)和为了方便在这里重复一个简单的处理方程(7.73),导致以下的最小加权最小二乘误差时间的更新,这种方法将用于FTRLS算法:同样的从等式(7.73),我们可以获得,需要的等式在FTRLS算法中可以通过执行前一章的方程(7.40)提出更新方程预测抽头系数矢量在这里将会看到,向量的更新φ(k−1,N)φ(k,N+1)是需要更新落后的预测系数向量。同时,最后一个元素的φ(k,N+1)是用于更新反向预测先验误差和获得γ(k,N)。向量φ(k,N+1)可以通过自右乘方程(7.56),双方在即时k和系数N通过x(k,N+1)=[x(k)TX(k−1,N)]。结果可以表示为然而,不方便使用FTRLS算法因为上面的方程产生反向预测部分,它将导致额外的计算。解决方案是使用另一种递归涉及1,)1,(1,NkNkNk代替1,Nk(具体参照问题7)后产生的递归可以派生一些代数运算方程(8.6)和(8.3)(8.5),得到正向预测抽头系数向量应该被更新使用,这样8.2反向预测关系在本节中,关系涉及用于FTRLS反向预测问题算法。后验概率预测与先验概率预测误差之间的关系可以表示为我们也知道对于不同转换因素的比率表示为见前一章的方程(7.79)我们为了方便重写了最后的平等方程(7.70),得到这个等式也可以这样写现在我们回想一下,反向预测滤波器的更新的时间可以写成以下类似的方法,得到方程(8.7),首先两边的方程(7.59),在即后乘时k和N,通过x(k,N+1)=((k,N)TXx(k−N)),并使用关系(8.10),(8.11),(8.13),我们有注意,在这个等式的最后一个元素1,Nk已经在方程(8.7)计算。在任何情况下,值得一提的是,最后一个元素的1,Nk或者可以表达通过方程(8.9),(8.15),在方程(8.12)和(8.10),我们可以得到将方程(8.9)代入上面的方程,我们可以归纳出更新方程,并用于FTRLS算法有关后验与先验的预测问题和转换因子γ(k,N)的更新方程现在可用。我们可以通过期望信号d(k)进行派生解决估计的更一般的问题相关的过程,称为过程评估。8.3过程评估对于所有先前提出了自适应滤波器算法,得到FTRLS算法是很有用的,可以匹配一个期望信号d(k)的最小化加权方差。从先验误差我们可以计算后验误差在传统的RLS算法,更新的时间输出联合过程的抽头系数估计量可以执行现在所有的更新方程可用来描述快速横向RLS算法。的FRLS算法由方程(8.1)-(8.3),(8.7)-(8.8)和(8.4)提出相关预测;方程(8.15),(8.17),(8.9),(8.11),(8.14)和(8.13)相关的预测和落后的东西转换因子;(8.18)-(8.20)与过程估计量有关。FTRLS算法在逐步形成算法8.1。FTRLS算法的计算复杂度7(N)+14乘法/输出示例。FTRLS算法的关键特性是它不需要矩阵乘法。正因为如此,FTRLS算法的实现每输出样本顺序相乘N的复杂性。初始化过程包括设置反向预测的抽头系数,前进预测和过程评估过滤器为零,即向量N,1设置0假设的输入和期望信号零k0,即prewindowed数据。转换因子应该初始化算法8.1快速横向RLS算法因为在初始化期间先验和后验误差之间没有区别。加权最小二乘误差应该初始化与一个正的常数。为了避免除零在第一次迭代。引入这个初始化参数的原因表明,它应该是一个小的价值。原因,然而,对于稳定的价值不应小(见本章末尾的例子)。应该提到,有确切的初始化程序的快速横向RLS过滤器,目的是最小化目标函数的瞬间在初始化期间[3]。这些程序在初始化期间探索事实数据样本的数量在d(k)和x(k)小于N+1。因此,目标函数可以是零,因为比需要更多的参数。[3]的确切的初始化过程取代了计算密集型回来时相当简单替换算法和自适应滤波器系数和零初始化。这个过程也可以广义的情况下一些非零抽头系数的初始值是可用的。正如前面提到的,一些快速RLS算法基于横向实现存在,这里介绍的一个对应于所谓的在[3]提出了FFT。大量的替代算法引入的问题。8.4稳定快速横向RLS算法尽管速度横向算法提出了文学提供一个不错的解决方案固有的计算复杂度负担传统的RLS算法,这些算法用有限精度算法实现时不稳定。增加字并不能解决不稳定的问题。唯一的采用更长的字的效果是,该算法将不再有分歧。解决这个问题早些时候由重新启动算法选择的累积误差变量时达到规定的阈值[3]。虽然过去再启动过程将使用信息,由此产生的表现不佳是由于不连续的信息在相应的确定性的相关矩阵。不稳定行为的原因快速横向算法固有的正反馈机制。这个解释了这个想法,如果一些特定的测量数值错误,他们可以方便地反馈为了使负面反馈误差传播动力学中占主导地位。幸运的是,一些测量的数值错误可以通过引入快速算法计算冗余。这种计算冗余可能涉及使用两个不同的公式计算一个给定的数量。在有限精度实现中,结果的数量通过这些公式计算值不相等和他们的区别是一个很好的测量数量的累积误差。这个错误可以反馈为了稳定算法。关键问题是确定的数量应该引入计算冗余的误差传播动力学可以稳定。早期提出的解决方案[6][7],只有一个数量选择引入冗余。之后,这是表明,至少有两个量要求为了保证稳定的FTRLS算法[9]。另一个相关的问题是,这个错误应该内反馈算法。注意,任何时候可以选择在不影响算法的行为实现无限精度时,自反馈误差为零。自然选择是错误反馈回相关的物理量的表达式。这意味着对于每个数量,介绍了冗余,其最终价值是计算的两种形式的组合。FTRLS算法可以看作是一个离散时间非线性动态系统[9]:有限精度实现中使用时,量化误差将会上升。在这种情况下,内部的数量将摄动与无限精确数量相比。非线性系统建模误差传播时,可以被描述,如果适当的线性化,允许误差传播机制的研究。使用一个平均分析,这是有意义的固定的输入信号,可以得到一组系统的特点是它的特征值的动态行为类似于k时的误差传播行为→∞和(1−λ)→0。通过这些特征值,可以确定反馈参数以及数量选择引入冗余。这里的目标是修改不稳定模式通过错误的反馈以让他们稳定[9]。幸运的是,它被发现在[9],可以修改和稳定不稳定模式引入错误的反馈。不稳定模式可以修改通过引入冗余γ(k,N)和eb(k,N)。这些数量可以计算使用不同的关系,以便区分它们包含在一个额外的索引他们的描述。先验向后误差可以被描述的替代形式第一种形式是受雇于FTRLS算法和第二种形式对应的内积实现先验向后误差。第三形式对应于一个线性组合的两种形式,这些形式反馈确定数值差别的最终值,w(k,N,3),它将使用在不同的地方稳定算法。对于每个iK,i=1,2,3中,我们选择一个不同的值,以保证相关特征值小于1。转换因子γ(k,N)可能是第一个参数显示算法变得不稳定的迹象。这个参数也可以通过不同的计算关系。必须保证所有这些替代关系模式的误差传播系统变得稳定。第一个方程给出在1,Nk里的第一个元素是1,0Nk。上述等式源于(8.4),(8.3),(8.2)和(8.7)等式以及迭代。第二个表达式的转换因子来源于方程(8.14)和给出的第三个表达式是在方程(8.27),转换因子是用不同的方式表达,这是第一个提出FTRLS算法[9]。第二种形式已经使用一个先验落后的错误和冗余。第三种形式可由方程(7.48)晶格RLS算法(参见问题10)。另一种关系稳定快速横向算法利用涉及到最低最小二乘误差。从方程(8.3)和(8.7),我们可以写从(8-6)我们可以推断出,带有这个关系,我们可以获得所需的方程选择的γ(k,N+1,1)是用来保持系统错误的工作状态的稳定[9]。使用方程转换因子和冗余的先验向后误差,我们可以获得稳定的快速横向RLS算法(SFTRLS)逐步实现给定的算法8.2。参数iK,i=1,2,3确定通过计算机模拟搜索[9]的最佳值发现1,5.2,5.1321KKK。在[9]还发现,数值表现对于iK的最优值毫无反应,选择最佳值对于一个给定的情况对各种环境和工作算法设置情况(例如,对于不同的遗忘因子的选择)。SFTRLS算法相关的另一个问题涉及的范围值λ的稳定保证。大量仿真实验结果[9]表明,该范围这里的N是滤波器的阶数,实验验证最优数值选择当λ的值选择算法8.2稳定快速横向RLS算法λ值的范围以及它可以非常接近最优值高阶滤波器。这可能是一个潜在的限制SFTRLS算法的使用,特别是在不稳定环境中较小值λ是必需的。SFTRLS算法的计算复杂度是订单9n乘法/输出示例。有另一种算法计算复杂度的订8n(参见问题9)。在离开之前这一节中,值得一提的是快速横向RLS算法的一个很好的解释。FTRLS算法可以看作四个横向滤波器并行工作,互相交换数量,如在图8.1。第一个过滤器是远期预测滤波器,利用x(k−1,N)作为输入信号矢量,wf(k,N)系数向量,并提供数量εf(k,N),英孚(k,N),ξdfmin(k,N)作为输出。第二个过滤器反向预测滤波器,利用x(k,N)作为输入信号矢量,世行