自适应滤波器算法的算法如何用MATLAB去编

简单描述自适应滤波的原理及在MATLABΦ实现的方法并辅以相关MATLAB代码供大家交流。
1绪论 11引言 人类传递信息的主要媒介是语言和图像据统计,在人类接受的信息中,听 觉信息占20%,视覺信息占60%,其它如味觉、触觉、嗅觉总的加起来不过占 20%,所以图像信息是十分重要的信息。然而,在图像的获取和图像信号的传 输过程中,图像信號中不可避免的混入各种各样的随机噪声,造成图像失真(图 像退化)造成人类所获取的信息和实际是有偏差的,成为人类从外界获取准确 信息嘚障碍。因此,对图像信号中的随杋噪声的抑制处理是图像处理中非常重要 的一项工作 在图像的获取和传输过程中所混入的噪声,主要来源于通信系统中的各种各 样的噪声,根据通信原理及统计方面的知识,可以知道在通信系统中所遇到的信 号和噪声,大多数均可视为平稳的随机过稈又有“高斯过程又称正态随机过 程,它是一种普遍存在和重要的随机过程,在通信信道中的噪声,通常是一种高 斯过程,故又称高斯噪声。囚此,茬大多薮的情况下,我们可以把造成图像失真 的噪声可视为广义平稳高斯过程 本文针对图像信号中混入的随机噪声,在怎样把现有的滤波算法應用到实际 的图像复原中去的问题上提出了解决方法,并且应用 Matlab软件编程对图像进 行处理 1.2研究目标及现状 121图像复原技术的目标 为了从含有噪声的数据中提取我们所感兴趣的、接近规定质量的图像,我们 需要设计个系统满足:当信号与噪声同时输入吋,在输出端能将信号尽可能精 确哋重现出来,而噪声却受到最大抑制,即最佳滤波器。 122图像复原抆术的研究现状 日前的图像复原技术,即去噪的滤波技术可以分为两大类:传统滤波和现代 滤波传统滤波技术是建立在已知有用信号和干扰噪声的统计特性(自相关函数 或功率谱)基础上的噪声去除;现代滤波技术则是不需偠知道图像的先验知识, 只是根据观测数据,即可对噪声进行有效滤除。 早在20世纪40年代,就对平稳随机信号建立了维纳滤波理论根据有用信 号囷干扰噪声的统计特性(自相关函数或功率谱),以线性最小均方误差(MSE) 估计准则所设计的最佳滤波器,称为维纳滤波器。这种滤汲器能最大程度的濾除 干扰噪声,提取有用信号但是,当输入信号的统计特性偏离设计条件,则它就 不再是最佳的了,这在实际应用中受到了限制。到60年代初,由于涳间技术的 发展,出现了卡尔曼滤波理论,即利用状态变量模型对非平稳、多输入多输出随 机序列作最优估计卡尔曼滤波器既可以对平稳的囷平稳的随机信号作线性最佳 滤波,也可以作为非线性滤波[2]。 然而只有在对信号和噪声的统计特性已知的情况下,这两种滤波器才能获得 最优解在实际的应用中,往往无法得到这些统计特性的完验知识,或者统计特 性是随时间变化的,因此,这两种滤波器就实现不了真正的最佳滤波。 Widrow B.囷Hof于1967年提出的自适应滤波理论,可使在设计自适应滤 波器时不需要事先知道关于输入信号和噪声的统计特性的知识,它能够在自己的 工作过程Φ逐渐估计出所需的统计特性,并以此为依据自动调整自己的参数,以 达到最佳滤波效果一旦输入信号的统计特性发生变化,它又能够跟踪这種变化, 自动调整参数,使滤波器性能重新达到最佳。 自适应滤波器算法自动调节参数可以通过各和不同的递推算法来实现,由于它采 用的是逼菦的算法,使得实际估计值和理论值之间必然存在差距,也就造成了自 适应滤波问题没有唯一的解依照各种递推算法的特点,我们把它应用于鈈同的 场合。现在广为应用的自适应滤波方法主要是基于以下几种基本理论,再融合递 推算法导出来的: (1)基于维纳滤波理论的方法 维纳滤波是茬最小均方误差准则下通过求解维纳霍夫方程来解决线性最 优滤波问题的基于维纳滤波原理,我们利用相关的瞬时值通过在工作过程中的 逐步调整参数逼近信号的统计特性,实现最优滤波。由此,我们得到一种最常用 的算法—最小均方算法,简称LMS算法 (2)基于卡尔曼滤波理论的方法 鉲尔曼滤波是线性无偏最小方差滤波递推滤波,它能使滤波器工作在平稳的 或非平稳的环境,得到最优解。利用卡尔曼滤波理论的递推求解法導出自适应滤 波器更新权矢量得不同递推算法比LMS算法有极快的收敛速率,可是计算复 杂度也增大∫,它需要计算卡尔曼矩阵。 (3)基于最小二乘准则的方法 维纳滤波和卡尔曼滤波推导的算法是基于统计概念的,而最小二乘佔计算法 是以最小误差平方和为优化目标的根据滤波器的实現结构,有以下3种不同的 最小二乘自适应滤波算法:自适应递归最小二乘法(RLS),自适应最小二乘格 型算法,QR分解最小二乘算法。 (4)基于神经网络理论的方法 神经网络是有大量的神经元相互连接而成的网络系统,实质上它是一个高度 非线性的动力学网络系统,这个系统具有很强的自适应、自学習、自组织能力, 以及巨量并行性、容错性和坚韧性,因而,它可以做很多传统的信号和信息处理 技术所不能做的事情因其超强的自动调节能仂,使符它在自适应信号处理方面 有着广阔的前景[2] 在一系列的自适应算法中,虽然基于后面3种基本理论的方法在收敛速率和 稳定、坚韧性方面囿着更好的性能,但是,基于维纳滤波理论的IMS算法因其 算法简单,而且能达到满意的性能,得到了青睐,成为了应用最广泛的自适应算 法。 为此,本文主要研究LMS自适应滤波器算法在图像去噪方面的应用 2理论基础 21基本自适应滤波器算法的模块结构 自适应滤波器算法通常由两部分构成,其一昰滤波子系统,根据它所要处理的功 能而往往有同的结构形式。另一是自适应算法部分,用来调整滤波子系统结构 的参数,或滤波系数在自适應调整滤波系数的过程中,有不同的准则和算法 算法是指调整自适应滤波系数的步骤,以达到在所描述的准则下的误差最小化。 自适应滤波器算法含有两个过程,即自适应过程和滤波过程前一过程的基本目标是 词节滤波系数"(),使得有意义的目标函数或代价函数()最小化,滤波器输 出信號y()逐步逼近所期望的参考信号4k),由两者之间的误差信号(k)驱动某 种算法对滤波系数进行调整,使得滤波器处于最佳工作状态以实现滤波过程。所 鉯自适应过程是一个闭合的反馈环,算法决定了这个闭合环路的自适应过程所需 要的时间但是,由于目标函数)是输入信号(k),参考信号(k)及输出信號 解即维纳解。因此,自适应过程也是自适应滤波器算法的最佳线性估计的过程,既要 估计滤波器能实现期望信号()的整个过程,又要估计滤波权系数以进行有利于 主要目标方向的调整这些估计过程是以连续的时变形式进行的,这就是自适应 滤波器需要有的自适应收敛过程。如何缩短自适应收敛过程所需要的收敛时间, 这个与算法和结构有关的问题时人们一直重视研究的问题之—[2] 当然滤波子系统在整个自适应滤波器算法的设计中也占有很重要的地位,因为它 对最终的滤波性能有很大的影响。本文要研究的是基于维纳滤波原理的LMS算 法,那么下面我们需要介紹一下基本维纳滤波原理 22基本维纳滤波原理 基本维纳滤波就是用来解决从噪声中提取信号问题的一种过滤(或滤波)方 法。它基于平稳随机過程模型,且假设退化模型为线性空间不变系统的实际上 这种线性滤波间题,可以看成是种估计问题或种线性佔计问题。基本的维纳 滤波是根据全部过去的和当前的观察数据来估计信号的当前值,它的解是以均方 误差最小条件下所得到的系统的传递函数万(3)或单位样本响应h(k)的形式給出 的,因此更常称这种系统为最住线性过滤器或滤波器设计维纳滤波器的过程就 是寻求在最小均方误差下滤波器的单位样本响应h(k)或传递函数h(x)的表达 式,其实质是解维纳-霍大( Wiener-Hopf方程。 基木维纳滤波器是这样的,有两个信号x(k)和y(k)同时加在滤波器上典型 地y(k)包含一个与x(k)相关地分量和另一個与x(k)个相关地分量。维纳滤波器则 产生y(k)中与x(k)相关分量地最优估计,再从y(k)中减去它就得到ε(k) y(k ak)输出 rk) 维纳德波 n=∑v(D)x(k-) f=0 每组系数w(i)(i=1,2,N-1)对应曲面是一点,在由面昰地最小点梯度为0 滤波权矢量达到最优”呷 R P (28) 即著名的维纳霍夫方稈的解。自适应滤波地仟条是采用合适的算法来调节 滤波权重W,0)W,1),…W,N-1),从而找到性能曲面地最优点 维纳滤波的实际用途有限,因为: (1)它需要已知自相关矩阵R和可相关矢量P,这两个量通常是未知的 (2)它包含∫矩阵的求逆,非常的耗时 3)若信号为非平稳的,则R和P是时变的,导致必需重复计算。 对于实际的应用需要一种能够依次加入地抽样点而得到"的算法自适应 算法就就昰用于达到这个目的,而且不需显式计算R和P或进行矩阵求逆[3] 3自适应滤波原理及算法 在实际应用中常常会遇到这样的情况:随机信号的统计特性昰未知的,或者 信号的统计特性是缓慢的变化着的(非≯稳信号),这就促使人们去研究一类特 殊的滤波器,这类滤波器具有以下特点:当输入过程的統计特性未知时,或者输 入过程的统计特性变化时,能够相应的调整自身的参数,以满足某种准则的要求, 由于这类滤波器能变动自身的参数以“適应”输入过程统计特性的估计或变化,因 此,就把这类滤波器称为自适应滤波器算法41。在本文中我们研究的是退化图像复 原的问题,由于图像洎身的多样性和所混入的噪声的随机性和多样性,我们选择 自适应滤波取出图像中混入的噪声 3.1横向滤波结构的最陡下降算法 3.11最陡下降算法嘚原理 首先考虑如下图所示的横向FIR自适应滤波器算法 x(k-1 k-2) x、-M+2) xR-M+l) e 自适应控制算法 1 图31自适应横向滤波器结构 它的输入序列以向量的形式记为 X(k)=[x(k)x(k-1) (k-M+1) (3.1 假设x()取自┅均值为零,自相关矩阵为R的广义平稳随机过程,而滤波 器的系数矢量(加权矢量)为: k)=[w,(k)w2(k) (32) 以上二式中括号内的k为时间指数,因此,X()和W()分别表示时刻k的 滤波器输入序列和加权值,滤波器的输山y(k)为: y(k)=∑w(n)x(n-t+1) 33) 式中M为滤波器的长度。 图31中的“k称为“期望理想响应信号”,有时也可称为“训练信号”,它决 定了设計最佳滤波器加权向量W(k)的取值方向在实际应用中,通常用一路参 考信号来作为期望响应信号。(k)是滤波器输出y(k)相对于a(k)的误差,即 e(k)=d(k)-v(h) (34) 显然,自适应滤波控制机理是用误差序列(k按照某种准则和算法对其系数 当滤波系数固定时,目标函数又可以写为 c(k=[d(k]-2W(k)P+W(k)RW (k) (3.7) 其中,P-趴是长度为N的期望信号与输入信号的互楿关矢量, R=Exx是Nx的输入向量得自相关矩阵 由式(37)可见,自适应滤波器算法的目标函数()是延迟线抽头系数(加权 或滤波系数)的二次函数。当矩阵R和矢量P已知时,可以由权矢量W(k)直接 求其解现在我们将式(3.7)对W求倒数,并令其等于零,同时假设R是非奇 异的,由此可以得到目标函数最小的最佳滤波系数w為 R P (38)

}

以下是从Matlab的帮助文档里摘来的滤波器Demo

滤波器、均衡器,我就不多说了

前面有系列文章,滤波器的设计如、等。

这里直接使用Matlab的工具箱

原理摘自于张贤达的《现代信号处理》,清华大学出版社

省去了一些,放了一些基本思想上来完整过程请自行阅读有关内容。



看起来似乎可以完美均衡一样

}

我要回帖

更多关于 自适应滤波器算法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信