目前常见的自适应算法研究与比较

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

目前常见的自适应算法研究与比较

常见自适应滤波算法有:递推最小二乘算法,最小均方误差算法,归一化均方误差算法,快速精确最小均方误差算法,子带滤波,频域的自适应滤波等等。

其中最典型最有代表性的两类自适应算法就是递推最小二乘算法和最小均方误差算法,以下对几种较常用的算法进行介绍:

1、递归最小二乘法(RLS)

RLS 算法的基本方法为:

^

^33()()(1)

()()()

(1)()()()(1)()

1()[(1)()()(1)]

()(1)()()

T T T d n X n H n e n d n d n P n X n k n X n P n X n P n P n K n X n P n H n H n K n e n λλ=-=--=+-=---=-+ K(n) 称为Kalman 增益向量,λ是一个加权因子,其取值范围0 <λ< 1 ,该算法的初始化一般令H( - 1) = 0及P( - 1) = 1/δI,其中δ是小的正数。

2、最小均方误差算法(LMS )

最小均方误差算法(LMS )是一种用瞬时值估计梯度矢量的方法,即

2[()]()2()()()n e n e n n n ∂∇==-∂X h (1)

按照自适应滤波器滤波系数矢量的变化与梯度矢量估计的方向之间的关系,可以写出LMS 算法调整滤波器系数的公式如下所示:

1(1)()[()]2n n n μ+=+-∇h h

()()()n e n n μ=+h X (2)

上式中的μ为步长因子。μ值越大,算法收敛越快,但稳态误差也越大;μ值越小,算法收敛越慢,但稳态误差也越小。为保证算法稳态收敛,应使μ在以下范围取值:

212

0()

N i x i μ=<<∑

从收敛速度来看,RLS 算法明显优于LMS 算法,但RLS 算法在运算上却比LMS 算法复杂得多,为了减小计算复杂度,并保留RLS 的收敛性能,人们提出了

一些改进的RLS 算法。如RLS 格型算法,快速RLS 算法,梯度格型算法,快速横向滤波器算法等。总的来看,这些以收敛法都是以运算速度换取运算复杂性。

于是人们研究介于两者之间的一种算法, 如共轭梯度法、自仿射投影算法 等。共轭梯度法不需要RLS 中的矩阵运算,也没有某些快速RLS 算法存在的不稳定问题,但它的缺点是稳态误差比较大。

而LMS 算法的优点是运算简便,但它只有一个可调整参数,即步长因子μ ,可以用来控制收敛速率, 由于μ 的选择受系统稳定性的限制, 因此, 算法的收敛速度受到很大限制。为了加快收敛速度人们提出许多改进的LMS 算法。

(1)块处理LMS 算法(BLMS )

为了对付LMS 运算量大的问题,在LMS 基础上提出了块处理LMS (BLMS )。它与LMS 算法不同的是:LMS 算法是每来一个采样点就调整一次滤波器权值;而BLMS 算法是每K 采样点才对滤波器的权值更新一次。这样BLMS 算法的运算量就比LMS 的运算量要小的多,但它的收敛速度却与LMS 算法相同,具体算法如下:

由(2)式可知,那么可以推出

()(1)(1)(1)n n e n n μ=-+--h h X (3)

将(3)式带入(2)式得:

(1)(1)()()(1)(1)n n e n n e n n μμ+=-++--h h X X

依次类推可得:

(1)()()()()()n K n e n K n K e n n μμ++=++++⋅⋅⋅+h h X X

(2)能量归一化LMS 算法(NLMS )

针对算法收敛时间依赖输入信号功率的问题,将自适应滤波器系数的调整量用输入信号的功率进行归一化,称为归一化的最小均方算法(NLMS ),具体算法如下:

1

01

2

_()()

(1)()()()

()()((()))N k k k k y y estimated echo i a y i k a i a i e i y i k P i P i average y i β-==-+=+-=∑ 其中a(k)为滤波器的系数,e(n)为误差信号,1β为固定环路增益,N 为滤波器系数,()y P i 为参考信号的能量估计。

(3)归一化块处理LMS 算法(BNLMS )

结合以上NLMS 和BLMS 两者的特点则有归一化块处理LMS (BNLMS )。

(4)变步长LMS 算法

而针对μ 值, 人们研究了许多变步长LMS 算法,一般是在滤波器工作的开始阶段采用较大的μ值,以加快收敛速度,而在后阶段采用较小的μ值,可以减小稳态误差。这类算法的关键是确定在整个过程中μ值如何变化或μ值在何种条

件满足下才改变。

综合以上,自适应算法中最简单、运算量最小的是以LMS为代表的一类算法,如NLMS、BLMS算法等,但同时他们也存在着收敛慢的缺点;与之相反的是另一个极端,是以RLS等为代表的各种算法,他们虽收敛速度很快,但运算量很大;近些年兴起的AP(仿射投影),CG(共轭梯度),FN(快速牛顿)等算法,则是在运算量和收敛速度之间作适当折衷,从而获得了广泛的应用。

相关文档
最新文档