主要内容

筛选

一维数字滤波器

描述

例子

y=过滤器(b一个x过滤输入数据x使用一个理性的传递函数由分子和分母系数定义b一个

如果(1)不等于1,然后筛选通过归一化滤波器系数(1).因此,(1)必须是零。

  • 如果x是向量吗筛选将过滤的数据返回为与相同尺寸的向量x

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

  • 如果x是一个多维数组,然后是一个多维数组筛选沿着第一个阵列维度,其尺寸不等于1。

例子

y=过滤器(b一个xzi.使用初始条件zi.用于筛选器延迟。的长度zi.必须平等max(长度(a)、(b)) 1

例子

y=过滤器(b一个xzi.昏暗的沿着维度行事昏暗的.例如,如果x是一个矩阵,那么过滤器(b, a, x,子,2)返回每行的过滤数据。

例子

yZF.] =过滤器(___也返回最后的条件ZF.过滤延迟,使用任何先前的语法。

例子

全部折叠

移动平均滤波器是用于平滑噪声数据的常用方法。此示例使用筛选函数沿数据向量计算平均值。

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

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

移动平均滤波器滑动长度窗口 w n d o w 年代 z e 沿数据,计算每个窗口中包含的数据的平均值。以下差分方程定义了向量的移动平均滤波器 x

y n 1 w n d o w 年代 z e x n + x n - 1 + + x n - w n d o w 年代 z e - 1

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

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

找到数据的移动平均值并将其识别为原始数据。

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

图中包含一个轴对象。轴对象包含2个类型的物体。这些对象表示输入数据,过滤数据。

这个例子用下面的有理传递函数过滤数据矩阵。

H z b 1 一个 1 + 一个 2 z - 1 1 1 - 0 2 z - 1

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

rng默认%初始化随机数生成器x =兰德(15);

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

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

将传递函数应用于x并返回每行的1-D数字滤波器。对滤波数据绘制第一行原始数据。

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

图中包含一个轴对象。具有标题第一行的轴对象包含2个类型的2个对象。这些对象表示输入数据,过滤数据。

根据过滤后的数据绘制第二行输入数据。

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

图中包含一个轴对象。标题为Second Row的axis对象包含2个类型为line的对象。这些对象表示输入数据,过滤数据。

使用过滤器延迟的初始和最终条件来过滤节中的数据,特别是在考虑内存限制的情况下。

生成一个大的随机数据序列,并将其分成两段,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将过滤器的内部状态存储在第一段末尾。

[y₁,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|逻辑
复数的支持:金宝app是的

分母系数理性的传递函数,指定为向量。

数据类型:双倍的|单身的|INT8.|INT16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑
复数的支持:金宝app是的

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

数据类型:双倍的|单身的|INT8.|INT16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑
复数的支持:金宝app是的

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

  • 如果zi.是矢量,那么它的长度必须是max(长度(a)、(b)) 1

  • 如果zi.是一个矩阵还是多维数组,那么前导维的大小必须是max(长度(a)、(b)) 1.每个剩余尺寸的大小必须与相应维度的大小匹配x.例如,考虑使用筛选沿第二维度(昏暗= 2)的一个3 × 4 × 5数组x.阵列zi.必须有尺寸[max(长度(a)、(b)) 1] -BY-3-BY-5。

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

数据类型:双倍的|单身的|INT8.|INT16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑
复数的支持:金宝app是的

要操作的维数,指定为正整数标量。如果没有指定值,则默认为大小不等于1的第一个数组维度。

考虑二维输入阵列,x

  • 如果昏暗= 1,然后过滤器(b, a, x,子,1)沿着行工作x并返回应用于每列的过滤器。

  • 如果昏暗= 2,然后过滤器(b, a, x,子,2)沿着列的工作x并返回应用于每行的过滤器。

如果昏暗的大于ndims(x),然后筛选返回x

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

输出参数

全部折叠

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

如果x是类型单身的,然后筛选本机计算在单一精度,和y也是类型的单身的.否则,y作为类型返回双倍的

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

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

  • 如果x是向量吗ZF.列向量是长度的吗max(长度(a)、(b)) 1

  • 如果x是矩阵或多维数组,然后是ZF.是长度的一系列列矢量max(长度(a)、(b)) 1,以便在ZF.等于x.例如,考虑使用筛选沿第二维度(昏暗= 2)的一个3 × 4 × 5数组x.阵列ZF.有大小max(长度(a)、(b)) 1] -BY-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转置实现来表示有理传递函数,如下图所示。在这里,n一个= nb

运作筛选在示例是时域差分方程给出的

y b 1 x + w 1 - 1 w 1 b 2 x + w 2 - 1 - 一个 2 y w n - 2 b n - 1 x + w n - 1 - 1 - 一个 n - 1 y w n - 1 b n x - 一个 n y

提示

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

  • 如果您有信号处理工具箱™,请使用y =过滤器(D,x)过滤输入信号x与A.digitalFilter(信号处理工具箱)对象d.生成d根据频率响应规范,使用设计档案(信号处理工具箱)

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

参考

Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck。离散时间信号处理.上部鞍河,新罕布什尔州:Prentice-Hall,1999。

扩展能力

另请参阅

|

主题

之前介绍过的R2006a