现代数字信号处理数字信号处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现代数字信号处理实验报告
题目:基于LMS和RLS的自适应滤波器
应用仿真
基于LMS 和RLS 的自适应滤波器应用仿真
一、自适应滤波器
自适应滤波器是指利用前一时刻的结果,自动调节当前时刻的滤波器参数,以适应信号和噪声未知或随机变化的特性,得到有效的输出,主要由参数可调的数字滤波器和自适应算法两部分组成,如图1.1所示
图1.1 自适应滤波器原理图
x(n)称为输入信号,y(n)称为输出信号,d(n)称为期望信号或者训练信号,e(n)为误差僖号,其中,e(n)=d(n)-y(n),自适应滤波器的系数(权值)根据误差信号e(n),通过一定的自适应算法不断的进行更新,以达到使滤波器实际输出y(n)与期望响应d(n)之间的均方误差最小。 1.1 自适应滤波器原理
图中参数可调的数字滤波器和自适应算法组成自适应滤波器。自适应滤波算法是滤波器系数权值更新的控制算法,根据输入信号与期望信号以及它们之间的误差信号,自适应滤波算法依据算法准则对滤波器的系数权值进行更新,使其能够使滤波器的输出趋向于期望信号。 记数字滤波器脉冲响应为:
h(k)=[h 0(k) h 1(k) … h n-1(k)]T
输入采样信号为:
x(k)=[x(k) x(k-1) … x(k -n-1)]
误差信号为:
)()()(^
k y k y k e -=
()()()()T e k y k h k x k =-
优化过程就是最小化性能指标J(k),它是误差的平方和:
21
()[()()()]k
T i J k y i h k x i ==-∑
求使J(k)最小的系数向量h(k),即使J(k)对h(k)的导数为零,也就是0)
()
(=k dh k dJ 。把J(k)的表达式代入,得:
12[()()()]()0k
T i y i h k x i x i =-=∑
和
1
1
()()()()()k
k
T
T
T i i x
i y i h k x i x i ===∑∑
由此得出滤波器系数的最优向量:
11
()()
()()()
k
T
T i k T
i x
i y i h k x i x
i ===
∑∑
这个表达式由输入信号自相关矩阵()xx c x 和输入信号与参考信号的相关矩阵
()yx c k 组成,如下所示,维数都为(n,n ):
1()()()k
T xx i c k x i x i ==∑
1
()()()k
T yx i c k x i y i ==∑
系数最优向量也可以写成如下形式:
1
()()()T opt yx xx h k c k c k -=
自相关和互相关矩阵的递归表达式如下:
()(1)()()T xx xx c k c k x k x k =-+
()(1)()()T yx yx c k c k y k x k =-+
把()yx c k 的递归表达式代入系数向量表达式,得:
1
()()()T yx xx h k c k c k -=
即
1
()[(1)()()]()T T yx xx h k c k x k y k c k -=-+
考虑到
(1)(1)(1)T yx xx c k h k c k -=--
可以记
1()()[(1)(1)()()]xx xx h k c x c k h k y k x k -=--+
用前面得到的表达式求出(1)xx c k -,并代入上式:
1
()(){[()()()](1)()()}T xx xx h k c x c k x k x k h k y k x k -=--+
或 1
()(1)()[()()()()
(1)]
T xx h k h k c x y k x k x k x k h k -=-+-- 则滤波器系数的递归关系式可以记作
1
()(1)()[()()()()(1)]T xx h k h k c x y k x k x k x k h k -=-+--
其中
()()()(1)T e k y k x k h k =--
e(k)表示先验误差。只因为它是由前一个采样时刻的系数算出的,在实际中,很多时候由于h(k)计算的复杂度而不能应用于实时控制。用δ,I 代换()xx c k ,其中:δ为自适应梯度,I 为辨识矩阵(n ,n )这时
()(1)()()x h k h k k e k δ=-+
这时就是一个最小均方准则问题。
二、自适应算法
自适应算法中使用最广的是下降算法,下降算法的实现方式有两种:自适应梯度算法和自适应高斯-牛顿算法。自适应高斯-牛顿算法包括RLS 算法及其改进型,自适应梯度算法的典型例子即是LMS 算法[1]。 2.1 LMS 算法
最陡下降算法不需要知道误差特性曲面的先验知识,其算法就能收敛到最佳维纳解,且与起始条件无关。但是最陡下降算法的主要限制是它需要准确测得每次迭代的梯度矢量,这妨碍了它的应用。为了减少计算复杂度和缩短自适应收敛时间许多学者对这方面的新算法进行了研究。1960年,美国斯坦福大学的
Windrow 等提出了最小均方(LMS )算法,这是一种用瞬时值估计梯度矢量的方法,即
2[()]()2()()
()e n n e n x n w n ∧
∂∇==-∂
可见,这种瞬时估计法是无偏的,因为它的期望值E[)(n ∇∧
]确实等于矢量
)(n ∇。所以,按照自适应滤波器滤波系数矢量的变化与梯度矢量估计的方向之间的关系,可以先写出LMS 算法的公式如下:
1
(1)()[()]()()()2w n w n n w n e n x n μμ∧∧∧∧+=+-∇=+
将式e(n)=d(n)-y(n)和e(n)=d(n)-w H x(n)代入到上式中,可得到
(1)()()[()()()]
[()()]()()()H
H
w n w n x n d n w n x n I x n x n w n x n d n μμμ∧
∧
∧∧
+=+-=-+
图2.1 自适应LMS 算法信号流图
由上式可以得到自适应LMS 算法的信号流图,这是一个具有反馈形式的模型,如图2.1所示。如同最陡下降法,我们利用时间n=0的滤波系数矢量为任意的起始值w(0),然后开始LMS 算法的计算,其步骤如下。
(1) 由现在时刻n 的滤波器滤波系数矢量估值)(n w ∧
,输入信号矢量x(n)以及期望信号d(n),计算误差信号:
()()()()H
e n d n x n w n ∧
=-
(2) 利用递归法计算滤波器系数矢量的更新估值:
)()()()1(n x n e n w n w μ+=+∧
∧
将时间指数n 增加1,回到步骤(1),重复上述计算步骤,一直到达稳态为止。由此可见,自适应LMS
算法简单,它既不要计算输入信号的相关函数,又不要