自适应滤波器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LMS 自适应算法
LMS 自适应滤波算法是一种广泛使用的算法,下面从LMS 算法的结构和运算入
手研究该算法。
1 最小均方算法的结构和运算概述
LMS 算法是自适应滤波算法。一般来说,它包含两个基本过程:
(1)滤波过程(filtering process )包括计算线性滤波器输出对输入信号的响应
以及通过比较输出结果与期望响应产生估计误差。
(2)自适应过程(adaptive process )根据估计误差自动调整滤波器参数。
这两个过程一起工作组成一个反馈环,如图1.1所示。首先,我们有一个横
向滤波器(围绕它构造LMS 算法),该部件的作用在于完成滤波过程。其次,我
们有一个对横向滤波器抽头权值进行自适应控制过程的算法,即图1.1中标明的
“自适应权值控制算法”部分。
u (n ) d ˆ(n )
-
e (n ) +
d (n )
图1.1 自适应横向滤波结构图
图1.1中u (n )表示输入信号值,)(ˆn d
表示输出信号估计值,输入信号)(n u 通过滤波器后产生输出信号)(ˆn d ,将其与参考信号(或称期望响应))(n d 进行比较,
形成误差信号)(n e 。e (n )通过某种自适应算法对滤波器参数进行调整,最终使e (n )横向滤波器
自适应权值控制
算法 ∑
的均方值最小。在设计时不需要事先知道关于输入信号和噪声的统计特性的知识,它能够在自己的工作过程中逐渐“了解”或估计出所需的统计特性,并以此为依据自动调整自己的参数,最终达到最佳滤波效果。一旦输入信号的统计特性发生变化,它又能够跟踪这种变化,使滤波器性能重新达到最佳。
2最速下降概述
最速下降算法是一种基于梯度的自适应方法,这种方法是理解各种基于梯度的自适应方法的基础。它可用反馈系统来表示,滤波器的计算是一步一步迭代进行的。在平稳过程这个特殊情况下,给定任意初始抽头权向量,问题的解将随迭代次数的增加而改善。值得一提是,在适当条件下,上述方法的解收敛于维纳解(即集平均误差曲面的极小点)而不需要求输入向量相关矩阵的逆矩阵。
最速下降算法的的基本思想:
考虑一个代价函数J(w),它是某个未知向量w 的的连续可微函数。函数J(w)将w 的元素映射为实数。这里,我们要寻找一个最优w 0使得它满足如下条件
J(w 0)≤J(w) 对所有的w
(3.1)
这是无约束最优化的数学表示。
特别适合于自适应滤波的一类无约束最优化算法基于局部迭代下降的思想:从某一初始猜想w(0)出发,产生一系列w(1),w (2)……使得代价函数J(w (n))在算法的每一次迭代都是下降的,即
J(w(n+1)) 其中w (n)是权向量的过去值,而w(n+1)是权向量的更新值。 最速下降算法是迭代下降法的一种简单形式,该方法是沿最速下降方向(又称负梯度方向,即代价函数J(w)的梯度方向▽J(w)的反方向)连续调整权向量w 0。为方便起见,将梯度向量表示为 ()()J w g J w w ∂=∇=∂ ()()J w g J w w ∂=∇=∂ (3.3) 因此,最速下降算法可以表示为 w(n+1)=w(n)- 1/2*μg(n) (3.4) 其中n 表示迭代进程,μ是正长数,称为步长参数,1/2因子的引入是为了数学处理上的方便。在从n 到n+1的迭代中,权向量的调整量为 δw(n)=w(n+1)-w(n) =-1/2*μg(n) (3.5) 为了证明最速下降算法满足式(4.2),在w(n)处进行一阶泰勒(Taylor )展开,得到 J(w(n+1))≈J(w(n))+ ()()H g n w n δ max S (3.6) 此式对于μ较小时是成立的。在式(4.6)中假设为复值向量,因为梯度向量也为复值向量,所以使用埃尔米特转置。将式(4.5)用到式(4.6)中,得到 J(w(n+1))≈J(w(n))- ()212g n μ (3.7) 这表明当μ为正数时,J(w(n+1))< J(w(n))。因此,随着n 的增加,代价函数J(n)减小,当n=∞时,代价函数趋于最小值J min 。 最速下降算法应用于维纳滤波器 考虑一个横向滤波器,其抽头输入为u(n),u(n-1),…,u(n-M+1),对应的抽头权值为w 0(n),w 1(n),…,w 1-M (n)。抽头输入是来自零均值、相关矩阵为R 的广义平稳随机过程的抽样值。d(n)为滤波器的期望响应。在时刻n 抽头输入向量表 示为u(n),滤波器输出端期望响应的估计值为()ˆd n ,通过比较期望响应d(n)及其估计值,可以得到一个估计误差,即 e(n)=d(n)-()ˆd n = d(n)-w H (n)u(n) (3.8) 这里w H (n)u(n)是抽头权向量w(n)与抽头输入向量u(n)的内积。w(n)可进一步表示成 w(n)=[ w 0(n),w 1(n),…,w 1-M (n)]T 同样,抽头输入向量u(n)可表示为 u(n)=[ u(n),u(n-1),…,u(n-M+1)]T 如果抽头输入向量u(n)和期望响应d(n)是联合平稳的,此时均方误差或在时刻n 的代价函数J(n)是抽头权向量的二次函数,于是可以得到 J(n)=E[e(n)e * (n)] 把式(3.8)代入上式中,得 J(n)=2d σ-()H w n E[u(n)d *(n)]-E[u *(n)d(n)]w(n)+()H w n E[u(n)()H u n ]w(n) = ()()()()2H H H d w n p p w n w n Rw n σ--+ (3.9) 其中,2d σ =目标函数d(n)的方差。 p =抽头输入向量u(n)与期望响应d(n)的互相关向量。 R=抽头输入向量u(n)的相关矩阵。 又梯度向量可以写为 ∇J(n)=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∂∂+∂∂∂∂+∂∂∂∂+∂∂)()(j )()()()(j )()()()(j )()(1100n b n J n a n J n b n J n a n J n b n J n a n J 1-M 1 -M (3.10) =-2p+2Rw(n) 其中在列向量中()()k J n a n ∂∂和()() k J n b n ∂∂分别是代价函数J(n)对第k 个抽头权值,w k (n)的实部()k a n 和虚部()k b n 的偏导数,k =1,2,3,…M -1。对最速下降算法应用而言,假设式(3.10)中相关矩阵R 和互相关向量p 已知,则对于给定的抽头权向量w(n),可以计算出梯度向量∇J(n)。因此,将式(3.10)代入式(3.4),可得更新的抽头向量, w(n+1)为 w(n+1)= w(n)+μ[p-Rw(n)] n=0,1,2, (3.11) 它描述了维纳滤波中最速下降法的数学表达式。 根据式(3.11),在时刻n+1应用到抽头权向量的调整量()w n δ等于μ[p-Rw(n)]。这个调整量也可以表示成抽头输入向量u(n)和估计误差内积期望的μ倍。这表明可以用一组互相关器来计算抽头权向量w(n)的较正量()w n δ,较