过滤器

1-d数字滤波器

描述

ÿ=过滤器(b一个X过滤输入数据X用一个有理传递函数由分子和分母系数来定义b一个

如果一(1)不等于1, 然后过滤器将滤波系数归一化一(1)。因此,一(1)必须为非零。

  • 如果X是矢量,然后过滤器将筛选后的数据作为大小相同的向量返回X

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

  • 如果X是多维数组吗过滤器作用于大小不等于1的第一个数组维度。

ÿ=过滤器(b一个X使用初始条件对于过滤器的延迟。长度必须等于最大(长度(a),长度(B)) - 1

ÿ=过滤器(b一个X暗淡徒沿着维度暗淡。例如,如果X是一个矩阵,然后滤波器(B,A,X,子,2)为每一行返回过滤后的数据。

[ÿzf]=过滤器(___也返回最终条件zf过滤器的延迟,使用任何以前的语法。

例子

全部收缩

移动平均滤波器是一种常用的平滑噪声数据的方法。本例使用过滤器函数来计算平均值沿数据的矢量。

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

T = linspace(-pi,PI,100);RNG默认的初始化随机数生成器x = sin(t) + 0.25*rand(size(t));

移动平均过滤器滑动一个长度的窗口 w ^ 一世 ñ d Ø w ^ 小号 一世 ž Ë 沿着数据,计算每个窗口中包含的数据的平均值。下面的差分方程定义了一个向量的移动平均滤波器 X

ÿ ñ = 1 w ^ 一世 ñ d Ø w ^ 小号 一世 ž Ë X ñ + X ñ - 1 + + X ñ - w ^ 一世 ñ d Ø w ^ 小号 一世 ž Ë - 1

对于5的窗口大小,计算用于有理传递函数的分子和分母的系数。

windowSize = 5;b = (1 / windowSize) * 1 (1, windowSize);= 1;

找到数据的移动平均值并将其与原始数据作图。

y =过滤器(b, a, x);情节(t, x)情节(t、y)传说('输入数据'过滤数据的

本实施例中过滤器的数据使用以下有理传递函数的矩阵。

H ž = b 1 一个 1 + 一个 2 ž - 1 = 1 1 - 0 2 ž - 1

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

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

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

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

沿着第二维度应用的传递函数X并返回每一行的一维数字滤波器。根据过滤后的数据绘制原始数据的第一行。

y =过滤器(b, a, x, [], 2);t = 0:长度(x) 1;%索引向量情节(t) x (1:))情节(t y(1:))传说('输入数据'过滤数据的)标题('第一排'

暗算经滤波的数据的输入数据的第二行。

图绘制(t) x (2:))情节(t y(2:))传说('输入数据'过滤数据的)标题(“第二排”

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

产生一个大的随机数据序列,并将其分成两个区段,x1x2

X = randn(10000,1);X1 = X(1:5000);X2 = X(5001:结束);

整个序列,X是垂直级联x1x2

定义有理传递函数的分子和分母系数,

H ž = b 1 + b 2 ž - 1 一个 1 + 一个 2 ž - 1 = 2 + 3 ž - 1 1 + 0 2 ž - 1

b = (2、3);一个= (0.2);

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

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

使用过滤器过滤,最后的条件x1作为过滤第二段的初始条件,x2

y2 =过滤器(b, x2, zf);

日元是从所述滤波的数据x1y2是从所述滤波的数据x2。整个过滤序列是垂直级联日元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是的

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

  • 如果是一个向量,那么它的长度一定是最大(长度(a),长度(B)) - 1

  • 如果是一个矩阵或多维数组,则主导维度的尺寸必须最大(长度(a),长度(B)) - 1。每个剩余维度的大小必须与对应维度的大小匹配X。例如,考虑使用过滤器沿着所述第二维度(昏暗的= 2)3×4×5阵列的X。数组必须有大小[最大(长度(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的类型是, 然后过滤器本地计算IN单精度,并ÿ是类型也。除此以外,ÿ作为类型返回

数据类型:|

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

  • 如果X是矢量,然后zf是长度的列向量最大(长度(a),长度(B)) - 1

  • 如果X那么,是矩阵还是多维数组呢zf列向量的数组是长度吗最大(长度(a),长度(B)) - 1,使得列中的数zf相当于列的数X。例如,考虑使用过滤器沿着所述第二维度(昏暗的= 2)3×4×5阵列的X。数组zf有大小[最大(长度(a),长度(B)) - 1-by-3-by-5。

数据类型:|

更多关于

全部收缩

理性的传递函数

的输入输出的说明过滤器在z变换域中对向量的运算是一个有理传递函数。有理传递函数就是这种形式

ÿ ž = b 1 + b 2 ž 1 + + b ñ b + 1 ž ñ b 1 + 一个 2 ž 1 + + 一个 ñ 一个 + 1 ž ñ 一个 X ž

哪个处理FIR和IIR滤波器[1]ñ一个反馈滤波器的阶数是多少ñb为前馈滤波器阶。由于归一化,假设一个(1)= 1。

你也可以把有理传递函数表示成差分方程

一个 1 ÿ ñ = b 1 X ñ + b 2 X ñ 1 + + b ñ b + 1 X ñ ñ b 一个 2 ÿ ñ 1 一个 ñ 一个 + 1 ÿ ñ ñ 一个

此外,还可以使用它的直接形式II转置实施,如下面的图中代表理性的传递函数。这里,ñ一个= Nb

的操作过滤器在样本是由时域差分方程给出的吗

ÿ = b 1 X + w ^ 1 1 w ^ 1 = b 2 X + w ^ 2 1 一个 2 ÿ = w ^ ñ 2 = b ñ 1 X + w ^ ñ 1 1 一个 ñ 1 ÿ w ^ ñ 1 = b ñ X 一个 ñ ÿ

提示

  • 如果您有信号处理工具箱™,请使用y =过滤器(d, x)以过滤输入信号X与一个数字滤波器宾语d。为了产生d基于频率响应的规格,使用designfilt

  • 如果你有DSP系统工具箱™,使用Y =滤波器(DOBJ,x)的以过滤输入信号X与一个dfilt宾语DOBJ

  • 要使用过滤器与功能b系数从一个FIR滤波器,使用Y =滤波器(B,1,x)的

  • 看到数字滤波(信号处理工具箱)以获得更多关于过滤功能。

参考

[1]奥本海姆,艾伦五,罗纳德·W·谢弗,和John R.巴克。离散时间信号处理。上鞍河,新泽西州:普伦蒂斯-霍尔,1999年。

扩展功能

也可以看看

|

主题

R2006a前推出