文档库 最新最全的文档下载
当前位置:文档库 › 几种横向自适应滤波算法及其改进研究

几种横向自适应滤波算法及其改进研究

几种横向自适应滤波算法及其改进研究
几种横向自适应滤波算法及其改进研究

第三章 几种横向自适应滤波算法及其改进研究

3.1 自适应横向滤波器的定义及其性能函数

3.1.1 横向自适应滤波器

横向自适应滤波器是一类基本的自适应滤波器形式[8]。所谓自适应实现是指:M 阶滤波器的抽头权系数01,...,M w w -,可以根据估计误差()e n 的大小自动调节,使得某个代价函数最小。

令()W n 表示图2.1中的滤波系数矢量,011()[(),(),...,()]M W n w n w n w n -=,滤波器抽头输入信号矢量()[(),(1),...,(1)]U n u n u n u n M T =--+,显然,输出信号()y n 为

1

0()()()()M i i y n wu n i W n U n -T ==-=∑ (3-1)

式中T 表示转置。利用图2.5中的输出信号和输入信号之间的关系,误差序列

()()()()e n d n W n U n H =- (3-2)

显然,自适应滤波器的控制机理是用误差序列()e n 按照某种准则和算法对其系数()W n 进行控制的,最终使自适应滤波的目标(代价)函数最小化,达到最佳滤波效果。

按照均方误差(MSE )准则所定义的目标函数是:

22()(){|()|}{|()()|}def

J n n E e n E d n W U n ξH ===- (3-3) 将式(3-1)代入式(3-3),目标函数可以重新写为

2[()]2[()()()][()()()()]E d n E d n W n U n E W n U n U n W n ξH H H =-+ (3-4) 当滤波器的系数固定时,目标函数可以写为

2[()]2E d n W P W RW ξT T =-+ (3-5)

其中,[()()]R E U n U n T =是输入信号的自相关矩阵,[()()]P E d n U n =是期望信号和输入信号的互相关矢量。

3.1.2 自适应滤波器的性能函数

习惯上称均方误差2[|()|]E e n 为自适应滤波器的性能函数,并记为ξ、J 或者MSE ,即

2[|()|]J MSE E e n ξ=== (3-6)

由式(3-5)知,当输入信号()u n 与期望信号()d n 为平稳随机过程时,性能函数ξ为权矢量W 的二次函数。二次均方误差函数的曲面形式为一碗状抛物面,当权矢量的维数大于2时,性能函数为一抛物面形式,且其抛物面上有唯一的全局最优点。当自相关矩阵为正定的,超抛物面向上凹起(即碗口朝上),表示均方误差函数有唯一的最小值,该最小值所对应的权系数矢量为自适应滤波器的最佳权系数opt w ,即等于维纳滤波器的权矢量。

3.1.3 二次型性能表面的搜索

在性能表面上搜索的目的是找出性能函数的最小值,并由此得到最小值所对应的最佳权矢量。这样,二次型性能表面搜索最小值的问题,在数学上就转化为求取曲线和曲面的机制问题。常用的性能表面搜索的方法为梯度下降的迭代算法,例如牛顿法和最速下降法[9]。

1. 最速下降法

最速下降法是一种古老而又非常有用的通过迭代寻找极值的方法。从几何意义上讲,迭代调整权矢量的结果是使系统的均方误差延梯度的反方向下降,并最终达到最小均方误差min ξ。在最小均方误差实现时,权矢量变为最佳权矢量opt w 。它的优点是简单,但需要大量的迭代,才能使算法收敛于充分接近最优解的点。

2. 牛顿法

牛顿法是一种通过迭代寻找函数()f x 的过零点的数学方法,即求()0f x =的解。假定()f x 为变量x 的一元函数,牛顿法的求解过程为:由初始估值0x 开始,利用()f x 的一阶导数在0x 点的值'0()f x 来计算新值1x ,即

010'0()()

f x x x f x =- (3-7) 然后,再利用1x 的导数'0()f x 和()f x 来计算下一步的估值2x ,其一般的迭代公式为

1'()()k k k k f x x x f x +=-

,0,1,k

= (3-8) 而'11()()()k k k k k f x f x f x x x ---=

-

这样牛顿法可以表示为

111()()()k k k k k k k x x x x f x f x f x -+--=--,0,1,k

= (3-9)

要注意的是牛顿法的收敛对一大类函数是相当快的,但它的缺点是计算量大。

3.2 最小均方算法

3.2.1 最小均方算法

最小均方(LMS )算法是一种梯度最速下降算法,它以期望响应()d n 和滤波器输出信号*()()()y n u n w w u n T H ==之间误差的均方值2[|()|]E e n 最小为准则,依据输入信号在迭代过程中估计梯度矢量,并更新权系数达到最优的自适应迭代算法。

()()()e n d n w x n H =- (3-10)

LMS 算法进行梯度估值的方法是以误差信号每一次迭代的瞬时平方值代替均方值,并以此来估计梯度,即

22201()()()()[,,,]()()()

M e n e n e n n w n w n w n Λ????=??? (3-11) 若写成矢量形式,有

2()()()e n n w n Λ

??=? (3-12) 将式(3-10)代入式(3-11)得到

()()2()

2()()()e n n e n e n x n w n Λ??==-? (3-13) 用梯度估值()n Λ?来代替最速下降法中的梯度真值()n ?,有

(1)()(())()2()()w n w n n w n e n x n μμΛ

+=+-?=+ (3-14) 式中,μ为自适应滤波器的收敛因子。上式即为著名的LMS 算法滤波器权矢量迭代公式。可以看出,自适应迭代下一时刻的权系数矢量可以由当前时刻的权系数矢量加上以误差函数为比例因子的输入矢量得到。图3.1给出了实现LMS 算法的流程图。

图3.1 LMS 算法的流程图[9]

3.2.2 LMS 算法性能分析

1. LMS 算法的收敛性

式(3-14)中的收敛因子μ应满足以下收敛条件

max 1

0μλ<< (3-15)

式中,max λ为自相关矩阵R 的最大特征值。由于max ()tr R λ≤,因此,上式可以改写为

10()tr R μ<<

(3-16) 或者

10(1)in

M P μ<<+ (3-17) 式中,in P 为输入信号的功率。通常式(3-17)比式(3-16)常用。因为输入信号的功率比其自相关矩阵的特征值更容易估计。

2. 自适应学习曲线

若将代价函数式(3-5)中权向量作代换,即

opt V W W =- (3-18)

并称它为权偏差向量。于是

2()[()][][]2[]H opt opt opt V E d n V W R V W P V W ξT =+++-+

2[()][]2H H opt opt opt E d n P W V R V W W RV P V T T =-+++-

min H V RV ξ=+ (3-19)

自适应权值的调整过程对系统的输出有影响,假定ξ就表示权固定在k w 时的输出均方误差,则由上式知:

2min ()k opt w w ξξλ=+- (3-20)

通常把权值迭代索引器的均方误差由初值0ξ到最小值min ξ的弛豫过程称为自适应系统的“学习”过程,而把由此产生的均方误差瞬时值变化曲线称为“学习曲线”,它表明了迭代过程中均方误差减小并趋于最小值的变化情况。

LMS 自适应滤波器自问世以来,受到人们普遍的重视,得到了广泛的应用。这种滤波器的主要优点是收敛性能稳定,且算法比较简单。然而,作为梯度算法的一种,LMS 算法有其固有的缺点,首先,这种算法一般来说不能从任意初始点通过最短的路径到达极值点;其次,当输入信号自相关阵R 的特性值在数值上分散性较大时,这种方法的性能趋于恶化。

3.3 关于LMS 算法性能的仿真验证

我们结合自适应滤波器的应用来对LMS 算法的性能进行仿真验证。

仿真(一):我们使用一阶自回归过程来研究实时数据集平均对LMS 算法瞬

态特征的影响。

考虑一阶AR 过程,其差分方程为

()(1)()u n au n v n =--+ (3-21) 这里a 是这个过程的参数,()v n 是零均值方差为2v δ的白噪声。为了估计参数

a ,我们使用图3.2的一阶自适应预测器,预测器抽头权值的LMS 自适应算法形式表示如下

(1)()(1)()w n w n u n f n μ∧∧

+=+- (3-22)

其中

()()()(1)f n u n w n u n ∧

=-- (3-23)

是预测误差

图3.2一阶自适应预测器

实验条件为:1)AR 参数:a =-0.99;

2)AR 过程()u n 的方差:2v δ=0.93627。

图3.3为均方预测误差2()

f n与迭代次数n的关系图,其中μ=0.05。由图3.1可见,LMS算法单一实现的学习曲线呈现严重噪声的形式。这幅图也包括100次独立实验后集平均得到的2

[()]

E f n的相应图形。LMS算法学习曲线集平均的平滑效应体现的一清二楚。

图3.3 LMS算法的学习曲线

图3.4是在变步长参数μ[所用的μ为0.01、0.05、0.1]的情况下,LMS算法的学习曲线的图形。而且,集平均在100次独立试验后完成。

图3.4 不同步长对LMS算法收敛特性的影响

从图3.4可看到如下结果:

(1) 当步长参数μ减小时,LMS算法的收敛率响应减小。

(2) 步长参数μ减小也影响学习曲线的变化。

仿真(二):自适应均衡。

用于研究LMS算法性能的自适应均衡系统仿真模型如图2.9所示。仿真时,

信道采用升余弦脉冲响应来模拟[6]:

20.51cos (2)1,2,30()n n W h n π+-==?????????????????

其他 (3-24) 该脉冲响应关于2=n 对称。参数W 是一个可调参数,调整W 可以改变信道

性。 表3.1给出了自适应均衡器为11抽头,不同W 对应的特征值分散。信道失真增大,特征值扩散度变大。

表3.1 W 值与特征值分散的对应关系

1 信道失真参数W (特征值扩散度)对系统的收敛性和稳态性的影响。 步长参数固定为μ=0.075。选择这个值的根据是:μ必须小于max 1λ,其中

max λ表示相关矩阵R 的最大特征值。对于每一个特征值扩散度,经过200次独立实验,通过瞬时均方误差2()e n 与n 的关系曲线平均,可获得自适应滤波器集平均学习曲线。这个计算结果如图3.5所示。

平均M S E 迭代次数特征值扩散度的影响

图3.5 不同特征值扩散度对应的LMS 算法的学习曲线

由图3.5可见,特征值扩散度变化范围的扩大降低了均衡器的收敛速率,同时也提高了平均平方误差的稳态值。例如,当R χ()

=6.0254时,自适应滤波器以平方方式收敛大约要80次迭代,收敛后的稳态均方误差也是最小的;另一方面,当R χ()

=46.2178时(即均衡器输入处在不恰当的条件下),均衡器在均方意义上收敛大约要200次,而且收敛后仍然出现大幅度震荡,迭代500次迭代后的稳态均方误差也也比较大。

2 迭代步长μ对系统的收敛性和稳态性的影响

将特征值扩散度R χ()

固定为11.3256.步长参数分别取为0.075、0.025、0.0075。.

图 3.6示出计算的结果。与前面一样,每一条学习曲线都是瞬态均方误差2()e n 与n 的关系曲线经过200次独立试验后得到的集平均结果。

101010100

101

迭代次数平均 M S E

图3.6不同步长参数对应的LMS 算法学习曲线

这个结果证明了自适应均衡器的收敛速率在很大程度取决于步长参数μ。当步长参数较大时(如μ=0.075),均衡器收敛到稳态需要120次迭代。当μ较小时(如μ=0.0075),收敛速率降低超过一个数量级。该结果也表明平均均方误差的稳态值随着μ的变大而增大。

以上两个仿真实验充分证明了LMS 算法的失调与自适应收敛过程之间存在着矛盾的结论。

3.4 LMS 算法的改进

鉴于传统LMS 算法的矛盾,人们对固定步长的LMS 算法进行了各种各样的改进[10][11][12][13]。其中最简单的一种改进就是归一化LMS (NLMS )算法

3.4.1 归一化LMS 算法

变步长LMS 算法中一个典型的算法就是归一化最小均方误差(NLMS) 算法

[6],它是针对标准LMS 算法的自身矛盾提出的改进,能有效地减小传统LMS 算法在收敛过程中对梯度噪声的放大作用,收敛速度也比LMS 算法快。变步长()n μ的更新公式可以写成:

(1)()()()()()()W n W n n e n X n W n W n μ-

+=+=+? (3-25) 式中,()()()()W n n e n X n μ-

?=表示滤波权矢量迭代更新的调整量。为了达到快速收敛的目的,必须选择合适的变步长()n μ的值,一个可能的策略是尽可能多的减小瞬时平方误差,即用瞬时平方误差作为均方误差MSE 的简单估计,这也是LMS 算法的基本思想。瞬时平方误差可以写成 22()[()()()]e n d n X n W n T =-

2()()()()()2()()()d n W n X n X n W n d n W n X n T T T =+- (3-26)

如果滤波权矢量的变化量'()()()W n W n W n -=+?,则对应的平方误差2

()e n -可以由式(4-22)得到 22()()2()()()()e n e n W n X n X n W n T

--T =+?

()()()()2()()()W n X n X n W n d n W n X n T T ---T +??-? (3-27)

在此情况下,瞬时平方误差的变化量222()()()e n e n e n -?=- 2()()()()()()()W n X n e n W n X n X n W n T T ---

T =-?+?? (3-28)

把()()()()W n n e n X n μ-?=的关系代入式(4-24),得到 22222()2()()()()()()[()()]e n n e n X n X n n e n X n X n μμT T ?=-+ (3-29)

为了增加收敛速度,合适的选取()n μ使平方误差最小化,故将式(4-25)对变系数()n μ求偏导数,并令其等于零,得

1()()()

n X n X n μT = (3-30) 这个步长值()n μ导致2()e n ?出现负值,这对应于2()e n ?的最小点,相当于平方误差2()e n 等于零。为了控制失调量,考虑到基于瞬时平方误差的导数不等于均方误差MSE 求导数值,所以对LMS 算法的更新迭代公式作如下修正:

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

u W n W n e n X n X n X n γT +=++ (3-31) 式中γ是一个很小的正常数,为防止()()X n X n T 过小而引起步长过大,从而导致算法发散。u 为一固定的收敛因子,02u <<。这就是所谓的归一化LMS 算法。

3.4.2 NVSSLMS 算法

在NLMS 基础上,Zayed Ramadan 和Alexander Poularikas 提出了一种归一化变步长LMS(NVSS)算法[14]。NVSS 算法中步长迭代因子与误差量的欧式平方范数有关,可以使得在滤波过程开始阶段能有一个比较大的步长,随着迭代过程进行,步长减小并稳定在一个相当小的数值,提高了算法的收敛速度并减少了稳态误差。

其步长的迭代公式为:

2

()1||()||u n u e n μ=

+ (3-32) 上式中,1220||()||()n k e n e n k -==-∑为误差向量()e n 的欧式平方范数。固定值u 需要精心选择,以便能够在快的收敛速度和小的稳态误差之间达到一种平衡。

下面是该算法的仿真。由于NVSS 算法是针对NLMS 改进的,所以我们用NLMS 和LMS 算法来做对比。仿真条件:参考输入信号()x n 为零均值,方差为1的高斯白噪声经系数不同的二阶AR 模型。其中模型的系数为:a1=-1.5955,a2=0.95,自适应滤波器的阶数L=2;噪声信号()v n 与()x n 不相关的高斯白噪声,均值为零,方差为0.09(即SNR=10dB )。独立试验500次,每次采样1000点。NLMS 算法中α=0.1,=0.3β。NVSS 算法中u=0.1。仿真结果如图3.7所示:

各算法均方误差统计平均收敛曲线相比较

M S E (归一化)迭代次数

图3.7 三种算法收敛性能比较

由图可以看出:LMS 算法、NLMS 算法、NVSS 算法针对该系统都可以达到收敛的作用;但是NVSS 收敛明显快于其他两种算法。

3.4.3 基于S 函数的LMS 算法

由上节可以看出,NVSS 中的步长()n μ不仅与当前误差量()e n 有关,还和n 步迭代之前的所有误差量有关,而且随着迭代过程的进行2||()||e n 会越来越大,步长()n μ是一个平滑下降的函数。在平稳环境中,滤波器收敛到稳态后,()e n 接近于0,步长()n μ基本稳定在一个恒定的值。在非平稳环境中,特别是系统连续跳变的环境中,由于每次跳变都会引起()e n 的增大,导致步长()n μ的分母持续增加,进而导致系统跟踪时变系统速度变慢,所以此算法的缺点就是跟踪时变系统能力差,如果一个时变系统的冲激响应持续改变,会使得算法跟踪系统的速度越来越慢。

综上所述,我们可以得出关于变步长的结论:在初始收敛阶段或位置系统发生变化时,自适应滤波器的权值与最优权值相差较大,所以采用较大的步长,以便有较快的收敛速度和时变跟踪能力;当算法接近收敛或收敛时,权值调整接近于最优权值时,不管主输入端的干扰信号有多大,都要采用小步长以保证达到很小的稳态失调量。

基于以上结论,覃景繁、欧阳景正提出了一种基于Sigmoid 函数的变步长LMS 算法(SVSLMS)[15],步长函数解析式如下:

1()=1+exp -n μβα(-0.5)(e(n))

(3-33) 上式类似于sigmoid 函数,简称S 函数:()m n μ=((1))f n ε-。其中α是控制函数形状的常数,β是控制S 函数范围的常数。()m n μ与e()n 的函数曲线如下图所示。当e()n 较大时,()m n μ也较大,但不会超出界限β/2。这恰恰符合算法在自适应过程中,初始阶段预测误差大,其能量e()n 也大,因此需要大的步长;当快要达到稳态时,预测误差随之减小,为了保证较小失调量和算法稳定性,必须采用小步长。

但sigmoid 函数形式较为复杂,而且在误差接近零时步长变化很大,导致在算法稳态时微小的误差产生较大的步长。针对这一问题,高鹰、谢胜利[16]对该算法进行了改进,提出了 MSVSLMS 算法,步长和估计误差的函数关系为:

21()=(1exp((1))

m n n μβαε---- (3-34)

步长函数图像如图3.8所示:

μ(n )e(n)

图3.8 步长与误差的关系

MSVSLMS 算法的步长-误差曲线在零点附近比较平滑,在误差相同的情况下,MSVSLMS 算法产生的步长波动小于 SVSLMS 算法,因此稳态均方误差也较小比较式(3-33)和式(3-34)可知,MSVSLMS 算法的步长函数比较简单,算法复杂度也较低。

下面用系统辨识模型进行该算法的仿真。系统辨识示意图如第一章图。所示。计算机仿真条件是:

(1) 自适应滤波器阶数L=2;

(2) 未知系统的FIR 系数为W *=[0.8,0.5]T ,在第500个采样点时刻未知系统发生时变,系数矢量变为W *=[0.4,0.2]T ;

(3) 参考输入信号x (n )是零均值,方差为1的高斯白噪声;v(n)为与x(n)不相关的高斯白噪声,其均值为0,方差2v δ=0.04

仿真结果如图3.9所示

迭代次数平均M S E

图3.9 MVSLMS 算法收敛曲线

由以上仿真图,可以得出:基于S 函数的LMS 算法比普通LMS 算法,收敛快,且收敛后的稳态误差较小。

3.4.4 解相关LMS 算法

在LMS 算法中,当自适应滤波器的输入信号矢量)(n x 之间不满足统计独立的条件时,LMS 算法的性能将下降,尤其是收敛速度变慢。大量研究表明[17][18],解相关(解除各时刻输入向量之间的相关性,使它们尽可能的保持统计独立)能够显著加快LMS 算法的收敛速度。解相关可以在时域和频域两种状态下进行。Doherty 与Porayath 提出时域解相关算法[17] 。变换域解相关算法是对输入信号数据矢量)(n x 使用酋变换。对于某些类型的输入信号,使用酋变换可以提高收敛速度,而计算复杂度与LMS 算法相当。常用的酋变换可以使用离散傅氏变换或快速傅氏变换FFT ,离散余弦变换DCT ,沃尔什-哈达姆变换WHT 等。

一 时域解相关算法

在LMS 算法中,我们可以定义类似于投影系数的相关系数:

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

T T x n x n a n x n x n -=-- (3-35) 这里()a n 是()x n 和(1)x n -在采样时刻n 的相关系数。()a n 越大,它们之间的关联性越强。显然()a n 代表了()x n 与(1)x n -相关部分。若从中减去该部分,则这一减法运算相当“解相关”,用解相关的结果作为更新方向向量()z n :

()()()(1)z n x n a n x n =-- (3-36)

即得到时域解相关算法。

二 变化域解相关算法

下面讨论酋变换。基于离散余弦变换[6](DCT )的频域自适应算法-离散余弦变换最小均方算法(DCT-LMS )。

当采用DCT 变换酋矩阵对输入信号矢量进行酋变换,得到

)()(n n Sx u = (3-37) 其中S 是一M M ?的DCT 变换酋矩阵,即

I SS H β= (3-38)

式中,β是一个大于0的标量,上标H 表示矩阵的共轭转置。变换后的输入数据变为)(n u 。对应地,酋变换后的权向量w 变为

Sw w β

1= (3-39) 它就是我们需要更新估计的离散余弦变换域自适应滤波器的权向量。因此原

预测误差)()()(?)()(n n d n y

n d n e H x w -=-=可以改用变换后的输入数据向量)(n u 和滤波器权向量w 写为

)()()(n n d n e H u w -= (3-40)

将变换前后的输入数据向量)(n x 和)(n u 比较知,原信号向量的元素是)1(+-i n x 的移位形式,它们的相关性强,而T M n u n u n u n )](,),(),([)(21 =u 的元素则相当于M 信道的信号,可以期望,它们具有比原信号)(n x 更弱的相关性。换言之,通过DCT 酋变换,在变换域实现了某种程度的解相关。

式(3-37)~(3-40)组成了离散余弦变换最小均方算法(DCT-LMS)。

由于第四章介绍的格型滤波器也具有解相关特性,而横向LMS 解相关算法的收敛性远远不如格型滤波器。故这里不做关于横向LMS 解相关算法的仿真分析。

3.5 本章小结

本章重点分析了基本LMS 算法的性能,并作了详细仿真验证,接下来介绍并仿真分析了三类较为经典变步长LMS 算法,其中基于改进的S 函数的LMS 算法较好地解决了固有步长LMS 算法的矛盾。最后各介绍了时域、变换域解相关LMS 算法,为引出下一章格型滤波器做铺垫。

自适应滤波LMS算法及RLS算法及其仿真.

自适应滤波 第1章绪论 (1) 1.1自适应滤波理论发展过程 (1) 1.2自适应滤波发展前景 (2) 1.2.1小波变换与自适应滤波 (2) 1.2.2模糊神经网络与自适应滤波 (3) 第2章线性自适应滤波理论 (4) 2.1最小均方自适应滤波器 (4) 2.1.1最速下降算法 (4) 2.1.2最小均方算法 (6) 2.2递归最小二乘自适应滤波器 (7) 第3章仿真 (12) 3.1基于LMS算法的MATLAB仿真 (12) 3.2基于RLS算法的MATLAB仿真 (15) 组别:第二小组 组员:黄亚明李存龙杨振

第1章绪论 从连续的(或离散的)输入数据中滤除噪声和干扰以提取有用信息的过 程称为滤波。相应的装置称为滤波器。实际上,一个滤波器可以看成是 一个系统,这个系统的目的是为了从含有噪声的数据中提取人们感兴趣的、 或者希望得到的有用信号,即期望信号。滤波器可分为线性滤波器和非 线性滤波器两种。当滤波器的输出为输入的线性函数时,该滤波器称为线 性滤波器,当滤波器的输出为输入的非线性函数时,该滤波器就称为非线 性滤波器。 自适应滤波器是在不知道输入过程的统计特性时,或是输入过程的统计特性发生变化时,能够自动调整自己的参数,以满足某种最佳准则要求的滤波器。 1.1自适应滤波理论发展过程 自适应技术与最优化理论有着密切的系。自适应算法中的最速下降算法以及最小二乘算法最初都是用来解决有/无约束条件的极值优化问题的。 1942年维纳(Wiener)研究了基于最小均方误差(MMSE)准则的在可加性噪声中信号的最佳滤波问题。并利用Wiener.Hopf方程给出了对连续信号情况的最佳解。基于这~准则的最佳滤波器称为维纳滤波器。20世纪60年代初,卡尔曼(Kalman)突破和发展了经典滤波理论,在时间域上提出 了状态空间方法,提出了一套便于在计算机上实现的递推滤波算法,并且适用于非平稳过程的滤波和多变量系统的滤波,克服了维纳(Wiener)滤波理论的局限性,并获得了广泛的应用。这种基于MMSE准则的对于动态系统的离散形式递推算法即卡尔曼滤波算法。这两种算法都为自适应算法奠定了基础。 从频域上的谱分析方法到时域上的状态空间分析方法的变革,也标志 着现代控制理论的诞生。最优滤波理论是现代控制论的重要组成部分。在控制论的文献中,最优滤波理论也叫做Kalman滤波理论或者状态估计理论。 从应用观点来看,Kalman滤波的缺点和局限性是应用Kalman滤波时要求知道系统的数学模型和噪声统计这两种先验知识。然而在绝大多数实际应用问题中,它们是不知道的,或者是近似知道的,也或者是部分知道的。应用不精确或者错误的模型和噪声统计设计Kalman滤波器将使滤波器性能变坏,导致大的状态估计误差,甚至使滤波发散。为了解决这个矛盾,产生了自适应滤波。 最早的自适应滤波算法是最小JY(LMS)算法。它成为横向滤波器的一种简单而有效的算法。实际上,LMS算法是一种随机梯度算法,它在相对于抽头权值的误差信号平方幅度的梯度方向上迭代调整每个抽头权 值。1996年Hassibi等人证明了LMS算法在H。准则下为最佳,从而在理论上证明了LMS算法具有孥实性。自Widrow等人1976年提出LMs自适应滤波算法以来,经过30多年的迅速发展,已经使这一理论成果成功的应用到通信、系统辨识、信号处理和自适应控制等领域,为自适应滤波开辟了新的发展方向。在各种自适应滤波算法中,LMS算法因为其简单、计算量小、稳定性好和易于实现而得到了广泛应用。这种算法中,固定步长因子μ对算法的性能有决定性的影响。若μ较小时,算法收敛速度慢,并且为得到满意的结果需要很多的采样数据,但稳态失调误差

卡尔曼滤波算法总结

Kalman_Filter(float Gyro,float Accel) { Angle+=(Gyro - Q_bias) * dt; Pdot[0]=Q_angle - PP[0][1] - PP[1][0]; Pdot[1]= - PP[1][1]; Pdot[2]= - PP[1][1]; Pdot[3]=Q_gyro; PP[0][0] += Pdot[0] * dt; PP[0][1] += Pdot[1] * dt; PP[1][0] += Pdot[2] * dt; PP[1][1] += Pdot[3] * dt; Angle_err = Accel - Angle; PCt_0 = C_0 * PP[0][0]; PCt_1 = C_0 * PP[1][0]; E = R_angle + C_0 * PCt_0; K_0 = PCt_0 / E; K_1 = PCt_1 / E; t_0 = PCt_0; t_1 = C_0 * PP[0][1]; PP[0][0] -= K_0 * t_0; PP[0][1] -= K_0 * t_1; PP[1][0] -= K_1 * t_0; PP[1][1] -= K_1 * t_1; Angle += K_0 * Angle_err; Q_bias += K_1 * Angle_err; Gyro_x = Gyro - Q_bias; } 首先是卡尔曼滤波的5个方程: -=--+(1)先验估计 X k k AX k k Bu k (|1)(1|1)() -=--+(2)协方差矩阵的预测(|1)(1|1)' P k k AP k k A Q

自适应滤波器MATLAB仿真

自适应滤波器MATLAB仿真 摘要:本文介绍了自适应滤波器的工作原理,以及推导了著名的LMS(Least mean squares)算法。以一个例子演示了自适应滤波器的滤波效果。实验结果表明,该滤波器滤波效果较好。 关键词:自适应滤波器 MATLAB7.0 LMS算法 Simulate of adaptive filter based on MATLAB7.0 Abstract:This article described the working principle of adaptive filter and deduced the well-known LMS algorithm. Take an example to demonstrate the adaptive filters filtering effects. The results show that the filter has an effective way to filter single. Key words:LMS algorithm Adaptive Filter Matlab7.0 1 引言 由Widrow B等提出的自适应滤波理论,是在维纳滤波、卡尔曼滤波等线性滤波基础上发展起来的一种最佳滤波方法。由于它具有更强的适应性和更优的滤波性能,从而广泛应用于通信、系统辨识、回波消除、自适应谱线增强、自适应信道均衡、语音线性预测和自适应天线阵等诸多领域[1]。自适应滤波器最大的优点在于不需要知道信号和噪声的统计特性的先验知识就可以实现信号的最佳滤波处理。本文通过一个具体例子和结果论证了自适应滤波器的滤波效果。 2 自适应滤波原理及LMS算法 2.1 自适应滤波原理 自适应滤波原理图[2],如图1所示。 图1自适应滤波原理图 在自适应滤波器中,参数可调的数字滤波器一般为FIR数字滤波器,IIR数字滤波器或格型数字滤波器。自适应滤波分2个过程。第一,输入信号想x(n)通过参数可调的数字滤波器后得输出信号y(n),y(n)与参考信号d(n)进行比较得误差信号e(n);第二,通过一种自适应算法和x(n)和e(n)的值来调节参数可调的数字滤波器的参数,即加权系数,使之达到最佳滤波效果。

自适应滤波器设计与Matlab实现

自适应滤波器:根据环境的改变,使用自适应算法来改变滤波器的参数和结构。这样的滤波器就称之为自适应滤波器。 数学原理编辑 以输入和输出信号的统计特性的估计为依据,采取特定算法自动地调整滤波器系数,使其达到最佳滤波特性的一种算法或装置。自适应滤波器可以是连续域的或是离散域的。离散域自适应滤波器由一组抽头延迟线、可变加权系数和自动调整系数的组成。附图表示一个离散域自适应滤波器用于模拟未知离散系统的信号流图。自适应滤波器对输入信号序列x(n)的每一个样值,按特定的算法,更新、调整加权系数,使输出信号序列y(n)与期望输出信号序列d(n)相比较的均方误差为最小,即输出信号序列y(n)逼近期望信号序列d(n)。 20世纪40年代初期,N.维纳首先应用最小均方准则设计最佳线性滤波器,用来消除噪声、预测或平滑平稳随机信号。60年代初期,R.E.卡尔曼等发展并导出处理非平稳随机信号的最佳时变线性滤波设计理论。维纳、卡尔曼-波色滤波器都是以预知信号和噪声的统计特征为基础,具有固定的滤波器系数。因此,仅当实际输入信号的统计特征与设计滤波器所依据的先验信息一致时,这类滤波器才是最佳的。否则,这类滤波器不能提供最佳性能。70年代中期,B.维德罗等人提出自适应滤波器及其算法,发展了最佳滤波设计理论。 以最小均方误差为准则设计的自适应滤波器的系数可以由维纳-霍甫夫方程解得 式中W(n)为离散域自适应滤波器的系数列矩阵(n)为输入信号序列x(n)的自相关矩阵的逆矩阵,Φdx(n)为期望输出信号序列与输入信号序列x(n)的互相关列矩阵。 B.维德罗提出的一种方法,能实时求解自适应滤波器系数,其结果接近维纳-霍甫夫方程近似解。这种算法称为最小均方算法或简称 LMS法。这一算法利用最陡下降法,由均方误差的梯度估计从现时刻滤波器系数向量迭代计算下一个时刻的系数向量 式中憕【ε2(n)】为均方误差梯度估计, k s为一负数,它的取值决定算法的收敛性。要求,其中λ为输入信号序列x(n)的自相关矩阵最大特征值。 自适应 LMS算法的均方误差超过维纳最佳滤波的最小均方误差,超过量称超均方误差。通常用超均方误差与最小均方误差的比值(即失调)评价自适应滤波性能。

卡尔曼滤波算法(C--C++两种实现代码)

卡尔曼滤波算法实现代码 C++实现代码如下: ============================kalman.h================= =============== // kalman.h: interface for the kalman class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_KALMAN_H__ED3D740F_01D2_4616_8B74_8BF57636F2C0__IN CLUDED_) #define AFX_KALMAN_H__ED3D740F_01D2_4616_8B74_8BF57636F2C0__INCLU DED_ #if _MSC_VER > 1000 #pragma once #endif// _MSC_VER > 1000 #include #include "cv.h" class kalman { public: void init_kalman(int x,int xv,int y,int yv); CvKalman* cvkalman; CvMat* state; CvMat* process_noise; CvMat* measurement; const CvMat* prediction; CvPoint2D32f get_predict(float x, float y);

kalman(int x=0,int xv=0,int y=0,int yv=0); //virtual ~kalman(); }; #endif// !defined(AFX_KALMAN_H__ED3D740F_01D2_4616_8B74_8BF57636F2C 0__INCLUDED_) ============================kalman.cpp=============== ================= #include "kalman.h" #include /* tester de printer toutes les valeurs des vecteurs*/ /* tester de changer les matrices du noises */ /* replace state by cvkalman->state_post ??? */ CvRandState rng; const double T = 0.1; kalman::kalman(int x,int xv,int y,int yv) { cvkalman = cvCreateKalman( 4, 4, 0 ); state = cvCreateMat( 4, 1, CV_32FC1 ); process_noise = cvCreateMat( 4, 1, CV_32FC1 ); measurement = cvCreateMat( 4, 1, CV_32FC1 ); int code = -1;

自适应滤波器的dsp实现

学号: 课程设计 学院 专业 年级 姓名 论文题目 指导教师职称 成绩 2013年 1 月 10 日

目录 摘要 (1) 关键词 (1) Abstract (1) Key words (1) 引言 (1) 1 自适应滤波器原理 (2) 2 自适应滤波器算法 (3) 3 自适应滤波算法的理论仿真与DSP实现 (5) 3.1 MATLAB仿真 (5) 3.2 DSP的理论基础 (7) 3.3 自适应滤波算法的DSP实现 (9) 4 结论 ............................................... 错误!未定义书签。致谢 ................................................. 错误!未定义书签。参考文献 ............................................. 错误!未定义书签。

自适应滤波器算法的DSP实现 学生姓名:学号: 学院:专业: 指导教师:职称: 摘要:本文从自适应滤波器的基本原理、算法及设计方法入手。本设计最终采用改进的LMS算法设计FIR结构自适应滤波器,并采用MATLAB进行仿真,最后用DSP 实现了自适应滤波器。 关键词:DSP(数字信号处理器);自适应滤波器;LMS算法;FIR结构滤波器 DSP implementation of the adaptive filter algorithm Abstract:In this article, starting from the basic principles of adaptive filter and algorithms and design methods. Eventually the design use improved the LMS algorithm for FIR adaptive filter,and use MATLAB simulation, adaptive filter using DSP. Key words:DSP;adaptive filter algorithm;LMS algorithm;FIR structure adaptive filter 引言 滤波是电子信息处理领域的一种最基本而又极其重要的技术。在有用信号的传输过程中,通常会受到噪声或干扰的污染。利用滤波技术可以从复杂的信号中提取所需要的信号,同时抑制噪声或干扰信号,以便更有效地利用原始信号。滤波器实际上是一种选频系统,它对某些频率的信号予以很小的衰减,让该部分信号顺利通过;而对其他不需要的频率信号则予以很大的衰减,尽可能阻止这些信号通过。在电子系统中滤波器是一种基本的单元电路,使用很多,技术也较为复杂,有时滤波器的优劣直接决定产品的性能,所以很多国家非常重视滤波器的理论研究和产品开发[1]。近年来,尤其数字滤波技术使用广泛,数字滤波理论的研究及其产品的开发一直受到很多国家的重视。从总的来说滤波可分为经典滤波和现代滤波。经典滤波要求已知信号和噪声的统计特性,如维纳滤波和卡尔曼滤波。现代滤波则不要求己知信号和噪声的统计特性,如自适应滤波。 自适应滤波器是统计信号处理的一个重要组成部分。在实际应用中,由于没有充足的信息来设计固定系数的数字滤波器,或者设计规则会在滤波器正常运行时改变,因此我们需要研究自适应滤波器。凡是需要处理未知统计环境下运算结果所产生的信

几种卡尔曼滤波算法理论

自适应卡尔曼滤波 卡尔曼滤波发散的原因 如果卡尔曼滤波是稳定的,随着滤波的推进,卡尔曼滤波估计的精度应该越来越高,滤波误差方差阵也应趋于稳定值或有界值。但在实际应用中,随着量测值数目的增加,由于估计误差的均值和估计误差协方差可能越来越大,使滤波逐渐失去准确估计的作用,这种现象称为卡尔曼滤波发散。 引起滤波器发散的主要原因有两点: (1)描述系统动力学特性的数学模型和噪声估计模型不准确,不能直接真实地反映物理过程,使得模型与获得的量测值不匹配而导致滤波发散。这种由于模型建立过于粗糙或失真所引起的发散称为滤波发散。 (2)由于卡尔曼滤波是递推过程,随着滤波步数的增加,舍入误差将逐渐积累。如果计算机字长不够长,这种积累误差很有可能使估计误差方差阵失去非负定性甚至失去对称性,使滤波增益矩阵逐渐失去合适的加权作用而导致发散。这种由于计算舍入误差所引起的发散称为计算发散。 针对上述卡尔曼滤波发散的原因,目前已经出现了几种有效抑制滤波发散的方法,常用的有衰减记忆滤波、限定记忆滤波、扩充状态滤波、有限下界滤波、平方根滤波、和自适应滤波等。这些方法本质上都是以牺牲滤波器的最优性为代价来抑制滤波发散,也就是说,多数都是次优滤波方法。 自适应滤波 在很多实际系统中,系统过程噪声方差矩阵Q和量测误差方差阵R事先是不知道的,有时甚至连状态转移矩阵 或量测矩阵H也不能确切建立。如果所建立的模型与实际模型不符可能回引起滤波发散。自适应滤波就是这样一种具有抑制滤波发散作用的滤波方法。在滤波过程中,自适应滤波一方面利用量测值修正预测值,同时也对未知的或不确切的系统模型参数和噪声统计参数进行估计修正。自适应滤波的方法很多,包括贝叶斯法、极大似然法、相关法与协方差匹配法,其中最基本也是最重要的是相关法,而相关法可分为输出相关法和新息相关法。 在这里只讨论系统模型参数已知,而噪声统计参数Q和R未知情况下的自适应滤波。由于Q和R等参数最终是通过增益矩阵K影响滤波值的,因此进行自适应滤波时,也可以不去估计Q和R等参数而直接根据量测数据调整K就可以了。

自适应滤波算法的研究分析

自适应滤波算法的研究 第1章绪论 1.1课题背景 伴随着移动通信事业的飞速发展,自适应滤波技术应用的范围也日益扩大。早在20世纪40年代,就对平稳随机信号建立了维纳滤波理论。根据有用信号和干扰噪声的统计特性(自相关函数或功率谱),用线性最小均方误差估计准则设计的最佳滤波器,称为维纳滤波器。这种滤波器能最大程度地滤除干扰噪声,提取有用信号。但是,当输入信号的统计特性偏离设计条件,则它就不是最佳的了,这在实际应用中受到了限制。到60年代初,由于空间技术的发展,出现了卡尔曼滤波理论,即利用状态变量模型对非平稳、多输入多输出随机序列作最优估计。现在,卡尔曼滤波器己成功地应用到许多领域,它既可对平稳的和非平稳的随机信号作线性最佳滤波,也可作非线性滤波。实质上,维纳滤波器是卡尔曼滤波器的一个特例。 在设计卡尔曼滤波器时,必须知道产生输入过程的系统的状态方程和测量方程,即要求对信号和噪声的统计特性有先验知识,但在实际中,往往难以预知这些统计特性,因此实现不了真正的最佳滤波。 Widrow B等于1967年提出的自适应滤波理论,可使自适应滤波系统的参数自动地调整而达到最佳状况,而且在设计时,只需要很少的或根本不需要任何关于信号与噪声的先验统计知识。这种滤波器的实现差不多象维纳滤波器那样简单,而滤波性能几乎如卡尔曼滤波器一样好。因此,近十几年来,自适应滤波理论和方法得到了迅速发展。[1] 自适应滤波是一种最佳滤波方法。它是在维纳滤波,Kalman滤波等线性滤波基础上发展起来的一种最佳滤波方法。由于它具有更强的适应性和更优的滤波性能。从而在工程实际中,尤其在信息处理技术中得到广泛的应用。 自适应滤波的研究对象是具有不确定的系统或信息过程。“不确定”是指所研究的处理信息过程及其环境的数学模型不是完全确定的。其中包含一些未知因数和随机因数。

自适应滤波器毕业设计论文

大学 数字信号处理课程要求论文 基于LMS的自适应滤波器设计及应用 学院名称: 专业班级: 学生姓名: 学号: 2013年6月

摘要自适应滤波在统计信号处理领域占有重要地位,自适应滤波算法直接决定着滤波器性能的优劣。目前针对它的研究是自适应信号处理领域中最为活跃的研究课题之一。收敛速度快、计算复杂性低、稳健的自适应滤波算法是研究人员不断努力追求的目标。 自适应滤波器是能够根据输入信号自动调整性能进行数字信号处理的数字滤波器。作为对比,非自适应滤波器有静态的滤波器系数,这些静态系数一起组成传递函数。研究自适应滤波器可以去除输出信号中噪声和无用信息,得到失真较小或者完全不失真的输出信号。本文介绍了自适应滤波器的理论基础,重点讲述了自适应滤波器的实现结构,然后重点介绍了一种自适应滤波算法最小均方误差(LMS)算法,并对LMS算法性能进行了详细的分析。最后本文对基于LMS算法自适应滤波器进行MATLAB仿真应用,实验表明:在自适应信号处理中,自适应滤波信号占有很重要的地位,自适应滤波器应用领域广泛;另外LMS算法有优也有缺点,LMS算法因其鲁棒性强特点而应用于自回归预测器。 关键词:自适应滤波器,LMS算法,Matlab,仿真

1.引言 滤波技术在当今信息处理领域中有着极其重要的应用。滤波是从连续的或离散的输入数据中除去噪音和干扰以提取有用信息的过程,相应的装置就称为滤波器。滤波器实际上是一种选频系统,他对某些频率的信号予以很小的衰减,使该部分信号顺利通过;而对其他不需要的频率信号予以很大的衰减,尽可能阻止这些信号通过。滤波器研究的一个目的就是:如何设计和制造最佳的(或最优的)滤波器。Wiener于20世纪40年代提出了最佳滤波器的概念,即假定线性滤波器的输入为有用信号和噪音之和,两者均为广义平稳过程且己知他们的二阶统计过程,则根据最小均方误差准则(滤波器的输出信号与期望信号之差的均方值最小)求出最佳线性滤波器的参数,称之为Wiener滤波器。同时还发现,在一定条件下,这些最佳滤波器与Wiener滤波器是等价的。然而,由于输入过程取决于外界的信号、干扰环境,这种环境的统计特性常常是未知的、变化的,因而不能满足上述两个要求,设计不出最佳滤波器。这就促使人们开始研究自适应滤波器。自适应滤波器由可编程滤波器(滤波部分)和自适应算法两部分组成。可编程滤波器是参数可变的滤波器,自适应算法对其参数进行控制以实现最佳工作。自适应滤波器的参数随着输入信号的变化而变化,因而是非线性和时变的。 2. 自适应滤波器的基础理论 所谓自适应滤波,就是利用前一时刻已获得的滤波器参数等结果,自动地调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。所谓“最优”是以一定的准则来衡量的,最常用的两种准则是最小均方误差准则和最小二乘准则。最小均方误差准则是使误差的均方值最小,它包含了输入数据的统计特性,准则将在下面章节中讨论;最小二乘准则是使误差的平方和最小。 自适应滤波器由数字结构、自适应处理器和自适应算法三部分组成。数字结构是指自适应滤波器中各组成部分之间的联系。自适应处理器是前面介绍的数字滤波器(FIR或IIR),所不同的是,这里的数字滤波器是参数可变的。自适应算法则用来控制数字滤波器参数的变化。 自适应滤波器可以从不同的角度进行分类,按其自适应算法可以分为LMS自适应滤波

卡尔曼滤波简介及其算法实现代码

卡尔曼滤波简介及其算法实现代码 卡尔曼滤波算法实现代码(C,C++分别实现) 卡尔曼滤波器简介 近来发现有些问题很多人都很感兴趣。所以在这里希望能尽自己能力跟大家讨论一些力所能及的算法。现在先讨论一下卡尔曼滤波器,如果时间和能力允许,我还希望能够写写其他的算法,例如遗传算法,傅立叶变换,数字滤波,神经网络,图像处理等等。 因为这里不能写复杂的数学公式,所以也只能形象的描述。希望如果哪位是这方面的专家,欢迎讨论更正。 卡尔曼滤波器– Kalman Filter 1.什么是卡尔曼滤波器 (What is the Kalman Filter?) 在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人! 卡尔曼全名Rudolf Emil Kalman,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获得电机工程学士及硕士学位。1957年于哥伦比亚大学获得博士学位。我们现在要学习的卡尔曼滤波器,正是源于他的博士论文和1960年发表的论文《A New Approach to Linear Filtering and Prediction Problems》(线性滤波与预测问题的新方法)。如果对这编论文有兴趣,可以到这里的地址下载: https://www.wendangku.net/doc/5711148620.html,/~welch/media/pdf/Kalman1960.pdf。 简单来说,卡尔曼滤波器是一个“optimal recursive data processing algorithm(最优化自回归数据处理算法)”。对于解决很大部分的问题,他是最优,效率最高甚至是最有用的。他的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。 2.卡尔曼滤波器的介绍 (Introduction to the Kalman Filter) 为了可以更加容易的理解卡尔曼滤波器,这里会应用形象的描述方法来讲解,而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。但是,他的5条公式是其核心内容。结合现代的计算机,其实卡尔曼的程序相当的简单,只要你理解了他的那5条公式。 在介绍他的5条公式之前,先让我们来根据下面的例子一步一步的探索。 假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的,也就

word完整版自适应滤波器原理 带图带总结word版推荐文档

第二章自适应滤波器原理 2.1 基本原理 2.1.1 自适应滤波器的发展 在解决线性滤波问题的统计方法中,通常假设已知有用信号及其附加噪声的某些统计参数(例如,均值和自相关函数) ,而且需要设计含噪数据作为其输入的线性滤波器,使得根据某种统计准则噪声对滤波器的影响最小。实现该滤波器优化问题的一个有用方法是使误差信号(定义为期望响应与滤波器实际输出之差)的均方值最小化。对于平稳输入,通常采用所谓维纳滤波器( Wiener filter) 的解决方案。该滤波器在均方误差意义上使最优的。误差信号均方值相对于滤波器可调参数的曲线通常称为误差性能曲面。该曲面的极小点即为维纳解。 维纳滤波器不适合于应对信号和/或噪声非平稳问题。在这种情况下,必须假设最优滤波器为时变形式。对于这个更加困难的问题,十分成功的一个解决方案使采用卡尔曼滤波器 (Kalman filter )。该滤波器在各种工程应用中式一个强有力的系统。 维纳滤波器的设计要求所要处理的数据统计方面的先验知识。只有当输入数据的统计特性与滤波器设计所依赖的某一先验知识匹配时,该滤波器才是最优的。当这个信息完全未知时,就不可能设计维纳滤波器,或者该设计不再是最优的。而且维纳滤波器的参数是固定的。 在这种情况下,可采用的一个直接方法是“估计和插入过程”。该过程包含两个步骤,首先是“估计”有关信号的统计参数,然后将所得到的结果“插入( plug into)”非递归公式以计算滤波器参数。对于实时运算,该过程的缺点是要求特别精心制作,而且要求价格昂贵的硬件。为了消除这个限制,可采用自适应滤波器(adaptive filter)。采用这样一种系统,意味着滤波器是自设计的,即自适应滤波器依靠递归算法进行其计算,这样使它有可能在无法获得有关信号特征完整知识的环境下,玩完满地完成滤波运算。该算法将从某些预先确定的初始条件集出发,这些初始条件代表了人们所知道的上述环境的任何一种情况。我们还发现,在平稳环境下,该运算经一些成功迭代后收敛于某种统计意义上的最优维纳解。在非平稳环境下,该算法提供了一种跟踪能力,即跟踪输入数据统计特性随时间的变化,只要这种变化时足够缓慢的。 40年代,N.维纳用最小均方原则设计最佳线性滤波器,用来处理平稳随机

一种卡尔曼滤波自适应算法概要

- 23 - 一种卡尔曼滤波自适应算法 黄波郑新星刘凤伟 (中船重工750试验场,云南昆明 650051

【摘要】自适应滤波是指随着外部信号的变化,滤波器能够自我调节滤波参数,使得滤波器的某一性能指标达到最优。文章以卡尔曼滤波理论为基础,给出一种新的自适应卡尔曼滤波算法。 【关键词】数字信号处理;卡尔曼滤波器;MATLAB 【中图分类号】TP391【文献标识码】A【文章编号】1008-1151(201203-0023-02 An adaptive Algorithm on Kalman Filtering Abstruct:Adaptive-filtering means the filter could adjust filtration parameters by itself and make some performance index optimal when the external signals vary. This paper will give a new Kalman filter algorithm whose base is Kalman filter theory. Key word: Digital Signal Processing;Kalman Filter;MATLAB 1 引言 自适应滤波理论是20世纪60年代开始发展起来的。它 是现代信号处理技术的重要组成部分,对复杂信号的处理具 有独特的功能。自适应卡尔曼滤波算法在很多理论和工程实 践中都取得了广泛的应用[1][2][3]。卡尔曼滤波理论的建立的 标志是1960年卡尔曼发表的用递归的方法解决离散数据线 性滤波问题的论文。在那之后,得益于数字计算技术的进步, 卡尔曼滤波器就成为了推广研究和应用的主题,并且在自主 或协助导航领域取得了长足的发展[4][5]。常见的自适应滤波器

Kalman滤波算法

Kalman 滤波算法 姓名:刘金强 专业:控制理论与控制工程 学号:2007255 ◆实验目的: (1)、掌握klman 滤波实现的原理和方法 (2)、掌握状态向量预测公式的实现过程 (3)、了解Riccati 差分方程实现的过程和新息的基本性质和过程的计算 ◆实验要求: 问题: F=[a1,a2,a3],其中a1=[1.0 0 0]的转置,a2=[0.3 1.0 0]的转置,a3=[0.1 0.2 0.4]的转置,x(0)=[3,-1,2]的转置;C=[b1,b2,b3],其中b1=[0.3 0.5]的转置,b2=[1,0.4]的转置,b3=[0.8 -0.7]的转置;V1(n)=[0 0 n1(n)sin(0.1n)]的转置,V2(n)=[n2(n) n3(n)];n1(n)为均值为零,方差为1的均匀分布白噪声;n2(n),n3(n)为均值为0,方差为0.1的均匀分布白噪声,n1(n),n2(n),n3(n)相互独立,试用卡尔曼滤波器算法估计x^(n). ◆实验原理: 初始条件: 1?(1)x =E{x(1)} K(1,0)=E{[x(1)- (1)x ][x(1)- (1)H x ]},其中(1)x =E{x(1)} 输入观测向量过程: 观测向量序列={y(1),…………y(n)} 已知参数: 状态转移矩阵F(n+1,n) 观测矩阵C(n) 过程噪声向量的相关矩阵1()Q n 观测噪声向量的相关矩阵2()Q n 计算:n=1,2,3,………………. G(n)=F(n+1,n)K(n,n+1) ()H C n 12[()(,1)()()]H C n K n n C n Q n --+ Kalman 滤波器是一种线性的离散时间有限维系统。Kalman 滤波器的估计性能是:它使滤波后的状态估计误差的相关矩阵P(n)的迹最小化。这意味着,kalman 滤波器是状态向量x(n)的线性最小方差估计。 ◆实验结果: ◆程序代码: (1)主程序

自适应滤波算法理解与应用

自适应滤波算法理解与应用 什么是自适应滤波器自适应滤波器是能够根据输入信号自动调整性能进行数字信号处理的数字滤波器。作为对比,非自适应滤波器有静态的滤波器系数,这些静态系数一起组成传递函数。 对于一些应用来说,由于事先并不知道所需要进行操作的参数,例如一些噪声信号的特性,所以要求使用自适应的系数进行处理。在这种情况下,通常使用自适应滤波器,自适应滤波器使用反馈来调整滤波器系数以及频率响应。 总的来说,自适应的过程涉及到将代价函数用于确定如何更改滤波器系数从而减小下一次迭代过程成本的算法。价值函数是滤波器最佳性能的判断准则,比如减小输入信号中的噪声成分的能力。 随着数字信号处理器性能的增强,自适应滤波器的应用越来越常见,时至今日它们已经广泛地用于手机以及其它通信设备、数码录像机和数码照相机以及医疗监测设备中。 下面图示的框图是最小均方滤波器(LMS)和递归最小平方(en:Recursive least squares filter,RLS,即我们平时说的最小二乘法)这些特殊自适应滤波器实现的基础。框图的理论基础是可变滤波器能够得到所要信号的估计。 自适应滤波器有4种基本应用类型:1)系统辨识:这时参考信号就是未知系统的输出,当误差最小时,此时自适应滤波器就与未知系统具有相近的特性,自适应滤波器用来提供一个在某种意义上能够最好拟合未知装置的线性模型 2)逆模型:在这类应用中,自适应滤波器的作用是提供一个逆模型,该模型可在某种意义上最好拟合未知噪声装置。理想地,在线性系统的情况下,该逆模型具有等于未知装置转移函数倒数的转移函数,使得二者的组合构成一个理想的传输媒介。该系统输入的延迟构成自适应滤波器的期望响应。在某些应用中,该系统输入不加延迟地用做期望响应。3)预测:在这类应用中,自适应滤波器的作用是对随机信号的当前值提供某种意义上的一个最好预测。于是,信号的当前值用作自适应滤波器的期望响应。信号的过去值加到滤

自适应滤波器MATLAB仿真

自适应滤波器 MATLAB仿真 摘要 : 本文介绍了自适应滤波器的工作原理,以及推导了著名的LMS( Least mean squares )算法。以一个例子演示了自适应滤波器的滤波效果。实验结果表明,该滤波器滤波效果较好。 关键词:自适应滤波器 MATLAB7.0 LMS 算法 Simulate of adaptive filter based on MATLAB7.0 Abstract: This article described the working principle of adaptive filter and deduced the well-known LMS algorithm. Take an example to demonstrate the adaptive filters filtering effects. The results show that the filter has an effective way to filter single. Key words: LMS algorithm Adaptive Filter Matlab7.0 1引言 由 Widrow B 等提出的自适应滤波理论,是在维纳滤波、卡尔曼滤波等线性滤波基础上发展起来的一种最佳滤波方法。由于它具有更强的适应性和更优的滤波性能,从而广泛应用于通信、系统辨识、回波消除、自适应谱线增强、自适应信道均衡、语音线性预测和自适应天线阵等诸多领域[1]。自适应滤波器最大的优点在于不需要知道信号和噪声的统计特性的先验知识就可以实现信号的最佳滤波处理。本文通过一个具体例子和结果论证了自适应滤波器的滤波效果。 2自适应滤波原理及 LMS算法 2.1 自适应滤波原理 图 1 自适应滤波原理图 在自适应滤波器中,参数可调的数字滤波器一般为 FIR 数字滤波器, IIR 数字滤波器或格型数字滤波器。自适应滤波分 2 个过程。第一,输入信号想 x(n) 通过参数可调的数字滤波器后得输出信号 y(n) ,y(n) 与参考信号 d(n) 进行比较得误差信号 e(n) ;第二,通过一种自适应算法和 x(n) 和 e(n) 的值来调节参数可调的数字滤波器的参数,即加权系

自适应滤波器的设计(终极版)

目录 摘要…………………..………………………………………………………..….............I 第1章绪论....................................................................................................................错误!未定义书签。 1.1引言……………………………………………...…..…………...……………...错误!未定义书签。 1.2课题研究意义和目的 (1) 1.3国内外研究发展状况 (2) 1.4本文研究思路与主要工作 (4) 第2章自适应滤波器理论基础 (5) 2.1自适应滤波器简介 (5) 2.2自适应滤波器的原理 (5) 2.3自适应滤波算法 (7) 2.4TMS320VC5402的简介 (8) 第3章总体方案设计 (10) 3.1无限冲激响应(IIR)滤波器 (10) 3.2有限冲激响应(FIR)滤波器 (11) 3.3电路设计 (11) 4基于软件设计及仿真 (17) 4.3 DSP的理论基础 (17) 4.4自适应滤波算法的DSP实现 (18) 5总结 (21) 参考文献 (22) 致谢 (23) 附录自适应滤波源代码 (24)

第1章绪论 1.1引言 随着微电子技术和计算机技术的迅速发展,具备了实现自适应滤波器技术的各种软硬件条件,有关自适应滤波器的新算法、新理论和新的实施方法不断涌现,对自适应滤波的稳定性、收敛速度和跟踪特性的研究也不断深入,这一切使该技术越来越成熟,并且在系统辨识、通信均衡、回波抵消、谱线增强、噪声抑制、系统模拟语音信号处理、生物医学电子等方面都获得了广泛应用口。自适应滤波器实现的复杂性通常用它所需的乘法次数和阶数来衡量,而DSP强大的数据吞吐量和数据处理能力使得自适应滤波器的实现更容易。目前绝大多数的自适应滤波器应用是基于最新发展的DSP 来设计的. 滤波技术是信号处理中的一种基本方法和技术,尤其数字滤波技术使用广泛,数字滤波理论的研究及其产品的开发一直受到很多国家的重视。从总的来说滤波可分为经典滤波和现代滤波。经典滤波要求已知信号和噪声的统计特性,如维纳滤波和卡尔曼滤波。现代滤波则不要求己知信号和噪声的统计特性,如自适应滤波。自适应滤波的原理就是利用前一时刻己获得的滤波参数等结果,自动地调节现时刻的滤波参数,从而达到最优化滤波。自适应滤波具有很强的自学习、自跟踪能力,适用于平稳和非平稳随机信号的检测和估计。自适应滤波一般包括3个模块:滤波结构、性能判据和自适应算法。其中,自适应滤波算法一直是人们的研究热点,包括线性自适应算法和非线性自适应算法,非线性自适应算法具有更强的信号处理能力,但计算比较复杂,实际应用最多的仍然是线性自适应滤波算法。线性自适应滤波算法的种类很多,有LMS自适应滤波算法、R路自适应滤波算法、变换域自适应滤波算法、仿射投影算法、共扼梯度算法等。 1.2课题研究意义和目的 自适应滤波理论与技术是现代信号处理技术的重要组成部分,对复杂信号的处理具有独特的功能,对自适应滤波算法的研究是当今自适应信号处理中最为活跃的研究课题之一。自适应滤波器与普通滤波器不同,它的冲激响应或滤波参数是随外部环境的变化而变化的,经过一段自动调节的收敛时间达到最佳滤波的要求。自适应滤波器本身有一个重要的自适应算法,这个算法可以根据输入、输出及原参量信号按照一定准则修改滤波参量,以使它本身能有效的跟踪外部环境的变化。因此,自适应数字系

维纳自适应滤波器设计及Matlab实现

维纳自适应滤波器设计及Matlab实现

摘要 本文从随机噪声的特性出发,分析了传统滤波和自适应滤波基本工作原理和性能,以及滤波技术的现状和发展前景。然后系统阐述了基本维纳滤波原理和自适应滤波器的基本结构模型,接着在此基础上结合最陡下降法引出LMS算法。在MSE准则下,设计了一个定长的自适应最小均方横向滤波器,并通过MATLAB 编程实现。接着用图像复原来验证该滤波器的性能,结果表明图像的质量在MSE 准则下得到了明显的改善。最后分析比较了自适应LMS滤波和频域维纳递归滤波之间的性能。本文还对MATLAB里面的自适应维纳滤波函数wiener2进行了简单分析。 关键字:退化图像维纳滤波自适应滤波最陡下降法LMS

Abstract This paper analyses the basic work theory, performance of traditional filter and adaptive filter based on the property of random noise, and introduce the status quo and the foreground of filter technology. Then we explain basic theory of wiener filter and basic structure model of adaptive filter, and combine the method of steepest descent to deduce the LMS. Afterward according to the MSE rule, we design a limited length transversal filter, and implement by MATLAB. And then we validate performance of adaptive LMS filter by restoring images, Test result show that the quality of the degrade images were improved under the rule of MSE. Finally, we compare the performance of adaptive LMS filter and iterative wiener filter. We also simply analyses the wiener2 () which is a adaptive filter in MATLAB. Keywords: degrade image;wiener filter;adaptive filter;ADF;LMS algorithm

相关文档
相关文档 最新文档