网站地图 | RSS订阅 老铁博客 - 上海SEO优化|上海网站建设|蜘蛛池出租|站群代搭建
你的位置:首页 » 前端脚本 » 正文

filter,filter是什么意思中文

2020-3-11 15:16:49 | 作者:老铁SEO | 0个评论 | 人浏览

  filter函数是一维的数字滤波器,主要的应用语法如下所示


  y=filter(b,a,X)


  [y,zf]=filter(b,a,X)


  [y,zf]=filter(b,a,X,zi)


  y=filter(b,a,X,zi,dim)


  [...]=filter(b,a,X,[],dim)


  这五个用法大同小异,明白一个就知道其他的用法了,下面以最简单的y=filter(b,a,X)为例进行讲解。


  y=filter(b,a,X)滤除向量X中的数据,其中b是分子系数向量,a是分母系数向量。如果a(1)不等于1的话,则就利用a(1)标准化滤波器系数,可以利用多项式除法使分母变为1;如果a(1)等于0,滤波器返回错误值。


  算法实现:


  如上图所示,filter函数通过直接II型转置结构实现,通过分析上面原理图,可得下面的时域表达式


  y(m)=b(1)*x(n)+b(2)*x(n-1)+...+b(nb+1)*x(n-nb)-a(2)*y(n-1)-...-a(na+1)*y(n-na)


  其中n-1是滤波器阶数,na是后向反馈的滤波器阶数,nb是前向反馈的滤波器阶数。此表达式还不是很明显,不太容易明白,此表达式可变型为


  通常情况下,a(n-i)被归一化为1.


  3、举例说明:


  data=[1:0.2:4]';


  windowSize=5;


  filter(ones(1,windowSize)/windowSize,1,data)


  ans=


  0.2000


  0.4400


  0.7200


  1.0400


  1.4000


  1.6000


  1.8000


  2.0000


  2.2000


  2.4000


  2.6000


  2.8000


  3.0000


  3.2000


  3.4000


  3.6000


  解析:


  ones(1,windowSize)/windowSize,当windowSize=5时,生成的向量为[0.20.20.20.20.2],即分子系数向量b=[0.20.20.20.20.2]


  data=[1:0.2:4]'=[11.21.41.61.82······3.84]


  根据上面的表达式(2),以及a(n-i)归一化为1可知下面的推导过程,


  y(1)=b(1)·x(1)=0.2·1=0.2;


  y(2)=b(1)·x(2)+z1(1)=b(1)·x(2)+b(2)·x(1)=0.2·1.2+0.2·1=0.44;


  y(3)=b(1)·x(3)+z1(2)=b(1)·x(3)+b(2)·x(2)+z2(1)=b(1)·x(3)+b(2)·x(2)+b(3)·x(1)=0.2·1.4+0.2·1.2+0.2·1=0.72


  filter功能:它使用户可以改变一个request和修改一个response.Filter不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在response离开servlet时处理response.换种说法,filter其实是一个“servletchaining“.


  包括


  1.在servlet被调用之前截获;


  2.在servlet被调用之前检查servletrequest;


  3.根据需要修改request头和request数据;


  4.根据需要修改response头和response数据;


  5.在servlet被调用之后截获.


  你能够配置一个filter到一个或多个servlet;单个servlet或servlet组能够被多个filter使用。几个实用的filter包括:用户辨认filter,日志filter,加密filter,符号filter,能改变xml内容的XSLTfilter等。

  • 本文来自: 老铁博客,转载请保留出处!欢迎发表您的评论
  • 相关标签:
  • 已有0位网友发表了一针见血的评论,你还等什么?

    必填

    选填

    记住我,下次回复时不用重新输入个人信息

    必填,不填不让过哦,嘻嘻。

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    相关推荐