筛选

1-D数字滤波器

描述

例子

y=过滤器(B.一种X过滤输入数据X用一个有理转移功能由分子和分母系数定义B.一种

如果A(1)不等于1, 然后筛选通过归一成滤波器系数A(1)。所以,A(1)必须是非零。

  • 如果X是一个矢量,然后筛选将过滤的数据返回为与相同尺寸的向量X

  • 如果X是一个矩阵,然后筛选沿着第一维作用并返回每个列的过滤数据。

  • 如果X那是一个多维数组筛选沿着尺寸不等于1的第一个阵列维度。

例子

y=过滤器(B.一种XZi.使用初始条件Zi.用于过滤器延迟。长度Zi.必须平等最大(长度(a),长度(b)) - 1

例子

y=过滤器(B.一种XZi.暗淡沿着维度行事暗淡。例如,如果X是一个矩阵,然后过滤器(B,A,X,Zi,2)返回每行的过滤数据。

例子

[yZF.] =过滤器(___还返回最终条件ZF.使用先前的语法中的任何滤波器延迟。

例子

全部收缩

移动平均滤波器是用于平滑噪声数据的常用方法。这个例子使用了筛选沿数据矢量计算平均值的功能。

创建一个由随机噪声损坏的正弦数据的一个100乘100行向量。

t = linspace(-pi,pi,100);RNG.默认%初始化随机数生成器X = SIN(T)+ 0.25 * rand(尺寸(t));

移动平均滤波器幻灯片窗口长度 W. 一世 N D. O. W. S. 一世 Z. E. 沿数据,计算每个窗口中包含的数据的平均值。以下差分方程定义了向量的移动平均滤波器 X

y N = 1 W. 一世 N D. O. W. S. 一世 Z. E. X N + X N - 1 + + X N - W. 一世 N D. O. W. S. 一世 Z. E. - 1

对于窗口大小为5,计算Rational Transfer函数的分子和分母系数。

Windowsize = 5;b =(1 / windowsize)*那些(1,Windowsize);a = 1;

查找数据的移动平均值并将其与原始数据绘制。

y =滤波器(b,a,x);图(t,x)持有图(T,Y)传奇('输入数据''过滤数据'

此示例通过以下Rational Transfer函数筛选数据矩阵。

H Z. = B. 1 一种 1 + 一种 2 Z. - 1 = 1 1 - 0. 2 Z. - 1

创建一个2×15的随机输入数据矩阵。

RNG.默认%初始化随机数生成器x =兰特(2,15);

定义合理传递函数的分子和分母系数。

B = 1;a = [1 -0.2];

沿第二维应用转移功能X并返回每行的1-D数字滤波器。绘制对滤波数据的第一行原始数据。

y =滤波器(b,a,x,[],2);t = 0:长度(x)-1;%索引矢量绘图(t,x(1,:))持有plot(t,y(1,:))图例('输入数据''过滤数据') 标题('第一排'

将第二行输入数据绘制于过滤的数据。

图绘图(t,x(2,:))持有plot(t,y(2,:))传奇('输入数据''过滤数据') 标题('第二排'

使用初始和最终条件进行过滤延迟以在部分中过滤数据,特别是如果内存限制是考虑因素。

生成大的随机数据序列并将其分成两个段,X1X2

x = randn(10000,1);x1 = x(1:5000);x2 = x(5001:结束);

整个序列,X,是垂直串联X1X2

定义Rational Transfer函数的分子和分母系数,

H Z. = B. 1 + B. 2 Z. - 1 一种 1 + 一种 2 Z. - 1 = 2 + 3. Z. - 1 1 + 0. 2 Z. - 1

b = [2,3];a = [1,0.2];

过滤子序列X1X2一次一个。从过滤输出最终条件X1将过滤器的内部状态存储在第一个段的末尾。

[Y1,ZF] =滤波器(B,A,X1);

使用最终条件过滤X1作为过滤第二段的初始条件,X2

Y2 =滤波器(B,A,X2,ZF);

y1.是来自的过滤数据X1, 和Y2.是来自的过滤数据X2。整个过滤的序列是垂直串联y1.Y2.

同时过滤整个序列进行比较。

y =滤波器(b,a,x);Isequal(Y,[Y1; Y2])
ans =.逻辑1

输入参数

全部收缩

分子系数的有理转移功能,指定为向量。

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑
复数支持:万博1manbetx是的

分母系数有理转移功能,指定为向量。

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑
复数支持:万博1manbetx是的

输入数据,指定为向量,矩阵或多维数组。

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑
复数支持:万博1manbetx是的

过滤延迟的初始条件,指定为向量,矩阵或多维数组。

  • 如果Zi.是一个矢量,那么它的长度必须是最大(长度(a),长度(b)) - 1

  • 如果Zi.是矩阵或多维阵列,那么前方维度的大小必须是最大(长度(a),长度(b)) - 1。每个剩余维度的大小必须与相应维度的大小相匹配X。例如,考虑使用筛选沿着第二个维度(昏暗= 2)3×4×5阵列X。阵列Zi.必须有大小[最大(长度(a),长度(b)) - 1] - 3-by-5。

默认值,指定[],将所有过滤器延迟初始化为零。

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑
复数支持:万博1manbetx是的

维度运行,指定为正整数标量。如果没有指定值,则默认值是第一个数组维度,其大小不等于1。

考虑二维输入数组,X

  • 如果昏暗= 1, 然后过滤器(B,A,X,Zi,1)沿着行工作X并返回应用于每列的过滤器。

  • 如果昏暗= 2, 然后过滤器(B,A,X,Zi,2)沿着列X并返回应用于每一行的过滤器。

如果暗淡大于ndims(x), 然后筛选回报X

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑

输出参数

全部收缩

过滤数据,返回为向量,矩阵或与输入数据相同大小的多维数组,X

如果X是类型单身的, 然后筛选本身计算单一精度,和y也是类型的单身的。除此以外,y作为类型返回双倍的

数据类型:双倍的|单身的

过滤延迟的最终条件,作为向量,矩阵或多维数组返回。

  • 如果X是一个矢量,然后ZF.是长度的柱矢量最大(长度(a),长度(b)) - 1

  • 如果X是矩阵或多维数组,然后是ZF.是长度的一系列列矢量最大(长度(a),长度(b)) - 1,这样的列数ZF.相当于列的数量X。例如,考虑使用筛选沿着第二个维度(昏暗= 2)3×4×5阵列X。阵列ZF.有大小[最大(长度(a),长度(b)) - 1] - 3-by-5。

数据类型:双倍的|单身的

更多关于

全部收缩

有理转移功能

输入输出描述筛选在z变换域中的向量上的操作是一个合理的传递函数。合理的传递函数是表格

y Z. = B. 1 + B. 2 Z. - 1 + ...... + B. N B. + 1 Z. - N B. 1 + 一种 2 Z. - 1 + ...... + 一种 N 一种 + 1 Z. - N 一种 X Z.

处理冷杉和IIR过滤器[1]N一种是反馈过滤器订单,还有NB.是前馈过滤器顺序。由于归一化,假设一种(1)= 1。

您还可以将Rational Transfer功能表达为差分方程

一种 1 y N = B. 1 X N + B. 2 X N - 1 + ...... + B. N B. + 1 X N - N B. - 一种 2 y N - 1 - ...... - 一种 N 一种 + 1 y N - N 一种

此外,您可以使用其直接形式的II转换实现表示Rational Transfer功能,如下图所示。这里,N一种= N.B.

运作筛选在样品上m由时域差分方程给出

y m = B. 1 X m + W. 1 m - 1 W. 1 m = B. 2 X m + W. 2 m - 1 - 一种 2 y m = W. N - 2 m = B. N - 1 X m + W. N - 1 m - 1 - 一种 N - 1 y m W. N - 1 m = B. N X m - 一种 N y m

尖端

  • 如果您有信号处理工具箱™,请使用y =过滤器(D,x)过滤输入信号X与A.DigitalFilter.(信号处理工具箱)目的D.。生成D.基于频率响应规格,使用设计档案(信号处理工具箱)

  • 如果您有DSP系统工具箱™,请使用y =筛选器(dobj,x)过滤输入信号X与A.德菲尔特(DSP系统工具箱)目的dobj.

  • 用来筛选用来的功能B.来自FIR滤波器的系数,使用y =滤波器(b,1,x)

  • 数字过滤(信号处理工具箱)有关过滤功能的更多信息。

参考

[1] Oppenheim,Alan V.,Ronald W. Schafer和John R. Buck。离散时间信号处理。上部马鞍河,NJ:Prentice-Hall,1999。

扩展能力

也可以看看

|

话题

在R2006A之前介绍