自适应滤波器设计及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)及输出信号y(k)的函数,即20=ack,.y,因此目标函数必须具有以下两个性质(1)非负性g (=8[x(k), d(k), y(k] 20Vx(), u(k), y(k)(2.1)(2)最佳性E()=E[x(k),d(k),y(k)]=0(22在自适应过程中,自适应算法逐步使目标函数(最小化,最终使()逼近于(),滤波参数或权系数()收敛于",这里"是自适应滤波系数的最优解即维纳解。因此,自适应过程也是自适应滤波器的最佳线性估计的过程,既要估计滤波器能实现期望信号()的整个过程,又要估计滤波权系数以进行有利于主要目标方向的调整。这些估计过程是以连续的时变形式进行的,这就是自适应滤波器需要有的自适应收敛过程。如何缩短自适应收敛过程所需要的收敛时间,这个与算法和结构有关的问题时人们一直重视研究的问题之—[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(kak)输出rk)维纳德波n=∑v(D)x(k-)f=0图21基本维纳滤被模型假定一个N个系数(权值)的FR滤波器的结构,维纳滤波和原始信号y(k)之间的差信号c(k)为ek= yk-nk=ye∑w(i)x(23)其中和w分别为输入信号矢量和权矢量,由下式确定(24)k-N-1)H(N-1)误差平方为2Y, x,w+w x.x,w对(3)式两边取期望得到均方误差(MSE),若输入x(k)与输出yk)是联合平稳的,则ELel=Ely,-2ELYXiwItElwx, x, w2.62P其中E[代表期望,=Ex是(k)的方差,P=E[yx1是长度为N地互相关矢量,R=Exx是NxN的自相矩阵。一个MSE滤波系数的图形是碗形地,且只有唯一地底部,这个图称为性能曲面,它是非负的。性能曲面地梯度可由下式给出2P+2R(2.7)Ytrim图22误差性能曲面每组系数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-1k-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按照某种准则和算法对其系数w)n),=1.2…,M进行调节的,最终使自适应滤波的目标(代价)函数最小化,达到最佳滤波状态。按照均方误差(MSE)准则所定义得目标函数是E(h)=Ele()(35)eId()-2d(k)y(k)+y(k)将式(3.4)代入式(3.5),目标函数可以化为c(k)=Ele(k)(3.6)E[d(k)]-2Eld(kw(k)x(k]+ elw(kX(eX(s)w(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)
- 2020-11-28下载
- 积分:1
Web前端开发经典面试题(附参考答案)
Web前端开发工程师经典面试题(附参考答案)CSS3支持下列哪一个标签?(A)A box-shadowB borderC backgroundD. display>把鼠标移到按钮并点击时,会产生一串什么样的事件?(D)A. active hove focusB foucs hove activeC. hove active foucusD hover focus active>以下位于间的代码片段是做什么用的(B)1 A.使得页面编码合乎要求B.表示支持响应式设计C.支持正常的绘制和缩放D.表示针对滚屏进行适当的适配下面关于、FF下面CSS的解释区别描述正确的有?(C、D)八. FireFox的dⅳ的内嵌di可以把父级的高度撑大,而|6.0不可以,要自己设置高度。B.当设置为三列布局时, FireFox0的 float宽度不能达到100%,而l6.可以。当设置为两列布局时,两种浏览器都可以。C.火狐浏览器中,非 float的di前面有同一父级的foat的dV,此di若有背景图,要使用 clear:both,才能显示背景图,而60中不用使用 clear:bothD.在[text- decoration: underline]的属性下,6.0显示的下划线会比 FireFox低一点。在 FireFox中,部分笔画会在下划线的下面1个象素左右。极客学院页码:3/21jikexueyuan. com在使用tabe表现数据时,有时候表现出来的会比自己实际设置的宽度要宽,为此需要设置下面哪些属性值?(A、D)A cellpadding=0B padding: OC. margin: OD. cellspacing=”0在 bootstrap中,关于导航条,下列说法正确的是?(A、B、C、D)A.应该将被包裹的元素放到na∨bar-co|apse类中B.表单应该放置于 nayar-form内C.可以使用 navbar-ef和 navan-ght来对齐导航条D.可以使用 navbar-fixed-top和 navbar- fixed-boom来将导航条固定到顶部或底部嵌入在HTML文档中的图像格式可以是?(A、C、D)A * gif米tfC. bmpD. jpg下列js可以让一个 input的背景颜色变成红色的是?(AA inputElement style backgroundColor =redB. inputelement backgroundColor = redC. inputElement style backgroundColor=#oooOD. inputElement backgroundColor=#oooo极客学院页码:4/21iikexueyuan. com元素的at和tte有什么异同,选出正确的说法?(B)A.不同的浏览器,表现一样B.at和tite同时设置的时候,at作为图片的替代文字出现,tite是图片的解释文字C.a和tite同时设置的时候,tite作为图片的替代文字出现,at是图片的解释文字D.以上说法都不正确在不涉及样式情况下页面元素的优先显示与结构摆放顺序无关。请判断这句话的正确与否。(B)A.对B.错下列哪个操作是W3c标准定义的阻止事件向父容器传递:(C)A epreventDefault(B. e. cancelBubble=trueC. e. stopPropagationoD e.stoplmmediatePropagationo对于 border- radius标签,说法镨误的是(B)A.表示圆角边框B.|E8支持良好C.|E9支持良好D. firefox支持良好≯下述有关css属性 position的属性值的描述,说法错误的是?(B)A. static:没有定位,元素出现在正常的流中B. fixed:生成绝对定位的元素,相对于父元素进行定位C. relative:生成相对定位的元素,相对于元素本身正常位置进行定位。D. absolute:生成绝对定位的元素,相对于 static定位以外的第一个祖先元素进行定位。极客学院页码:5/21iikexueyuan. com下面有关 html Doctype的描述,说法错误的是?(D)八.它的责任就是告诉浏览器文档使用哪种htm或者xhtm规范B.不同文档模式主要影响CSS内容的呈现,尤其是浏览器对盒模型的解析C.不同浏览器在混杂模式下的行为差异非常大,如果不使用某些hack技术,跨浏览器的行为根本就没有一致性可言。D.如果在文档开始处没有发现文档类型声明,则所有浏览器都会默认开启严格模式ν Doctaρe?严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?用于声明文档使用那种规范(什HTML/ XHTML)一般为严格过度基于框架的htm文档,加入ⅩM声明可触发,解析方式更改为5.5拥有|5.5的bug前端页面有哪三层构成,分别是什么?作用是什么?结构层HTML表示层CSS行为层js对WEB标准以及W3C的理解与认识?标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链cs和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性。XHTML和HTML有什么区别?HTML是一种基本的WEB网页设计语言, XHTML是一个基于XML的置标语言最主要的不同ⅩHTML元素必须被正确地嵌套。XHTML元素必须被关闭。标签名必须用小写字母。ⅩHTML文档必须拥有根元素。极客学院页码:6/21iikexueyuan. comCSS的基本语句构成是?选择器{属性1:值1:属性2值2;…]行內元素有哪些?块级元素有哪些?CSS的盒模型?块级元素: div p hI h2h3h4 form ul行内元素: a b br i span input selectCss盒模型内容, border, margIn, paddingCSS引入的方式有哪些?lnk和@ mport的区别是?内联内嵌外链导入区别:同时加载前者无兼容性,后者CSS2.1以下浏览器不支持Link支持使用 javascrⅰpt改变样式,后者不可丶CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和 lmportant哪个优先级高?标签选择符类选择符j选择符继承不如指定丨d>cass>标签选择后者优先级高你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?e(le内核)火狐( Gecko)谷歌( webkit) opear( Prestoimg标签上tte与at属性的区别是什么?A当图片不显示是用文字代表。Tite为该属性提供信息极客学院页码:7/21iikexueyuan. com描述 css reset的作用和用途。Reset重置浏览器的cSs默认属性,浏览器品种不同,样式不同,然后重置让他们统-。写出几种E6BUG的解决方法1.双边距B∪ G float引起的使用 display2.3像素问题使用foat引起的使用 dislpay: inline-3pⅩ3.超链接 hover点击后失效使用正确的书写顺序 link visited hover active4. le z-inde问题给父级添加 position relative5.Png透明使用js代码改6.Min- height最小高度! mportant解决7. select在ie6下遮盖使用 iframe嵌套8.为什么没有办法定义1px左右的宽度容器(E6默认的行高造成的,使用over: hidden, zoom: 0.08 line-height: px)9.ie6不支持 mportant解释 CSs sprites,如何使用。CsS精灵把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量。≯浏览器标准模式和怪异模式之间的区别是什么?盒子模型渲染模式的不同使用 window top document compatMode可显示为什么模式什么是语义化的HTML?直观的认识标签对于搜索引擎的抓取有好处什么是语义化的HTML?直观的认识标签对于搜索引擎的抓取有好处极客学院页码:8/21iikexueyuan. com你如何对网站的文件和资源进行优化?有哪些解决方案?文件合并文件最小化/文件压缩使用CDN托管缓存的使用清除浮动的几种方式,各自的优缺点使用空标签清除浮动 clear:both(理论上能清楚任何标签,增加无意乂的标签)2.使用 overflow;auto(空标签元素清除浮动而不得不增加无意代码的弊端,使用zoom:1用于兼容|)3.是用 afert伪元素清除浮动(用于非浏览器)javascript的 typeof返回哪些数据类型Object number function boolean underfind例举3种强制类型转换和2种隐式类型转换?强制( parseInt, parseFloat, number)隐式(==-===)数组方法pop()push0 unshift0shftPush0尾部添加pop0尾部删除Unshift0头部添加 shift头部删除E和标准下有哪些兼容性的写法Var ev= ev l window eventdocument documentElement. clientWidth document body. clientWidthVar target ev.srcElementllevtarget极客学院页码:9/21iikexueyuan. com旧和DOM事件流的区别1.执行顺序不一样2.参数不一样3.事件加不加on4.this指向问题spit0join0)的区别前者是切割成数组的形式,后者是将数组转换成字符串ajax请求的时候get和post方式的区别一个在ur后面一个放在虚拟载体里面有大小限制安全问题应用不同一个是论坛等只需要请求的,一个是类似修改密码的ca和appy的区别Object. call (this, obj l, obj2, obj3)Object. apply (this, argumentsajax请求时,如何解释json数据使用 eval parse鉴于安全性考虑使用 parse更靠谱事件委托是什么让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!闭包是什么,有什么特性,对页面有什么影响?闭包就是能够读取其他函数內部变量的函数。极客学院页码:10/21jikexueyuan.com
- 2020-12-10下载
- 积分:1