关于matlab filter这个函数到底怎么用?

关于matlab filter这个函数到底怎么用?,第1张

filter是一维数字滤波器

使用方法:

1、语法: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)

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

2、算法实现

filter函数通过直接 II 型转置结构实现,可得下面的时域表达式:

y(n)=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 是前向反馈的滤波器阶数。

扩展资料

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。

主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多。

并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

参考资料来源:百度百科-zplane() Matlab函数

MATLAB数值滤波处理方法有:

首先关于fspecial函数的定义,fspecial函数用于建立预定义的滤波算子。

其语法格式为:  

h = fspecial(type)  

h = fspecial(type,para)

其中type指定算子的类型,para指定相应的参数;

函数type的类型有:

1、'average'averaging filter为均值滤波,参数为hsize代表模板尺寸,默认值为[3,3]。

函数格式:H = fspecial('average',hsize)

2、 'disk'circular averaging filter为圆形区域均值滤波,参数为radius代表区域半径,默认值为5。

函数格式:H = fspecial('disk',radius)

3、'gaussian'Gaussian lowpass filter为高斯低通滤波,有两个参数,hsize表示模板尺寸,默认值为[3 3],sigma为滤波器的标准值,单位为像素,默认值为0.5。

函数格式:H = fspecial('gaussian',hsize,sigma)

4、'laplacian' filter approximating the 2-D Laplacian operatorlaplacian filter为拉普拉斯算子,参数alpha用于控制算子形状,取值范围为[0,1],默认值为0.2.

函数格式:H = fspecial('laplacian',alpha)

5、'log'Laplacian of Gaussian filter为拉普拉斯高斯算子,有两个参数,hsize表示模板尺寸,默认值为[3 3],sigma为滤波器的标准差,单位为像素,默认值为0.5。

函数格式:H = fspecial('log',hsize,sigma)

6、'motion'motion filter运动模糊算子,有两个参数,表示摄像物体逆时针方向以theta角度运动了len个像素,len的默认值为9,theta的默认值为0。

函数格式:H = fspecial('motion',len,theta)

7、'prewitt'Prewitt horizontal edge-emphasizing filter用于边缘增强,大小为[3 3],无参数。

函数格式:H = fspecial('prewitt')

8、'sobel'Sobel horizontal edge-emphasizing filter用于边缘提取,无参数

函数格式:H = fspecial('sobel')the filter H: H'.9、'unsharp'unsharp contrast enhancement filter为对比度增强滤波器。参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2.函数格式:H = fspecial('unsharp',alpha)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12202655.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存