滤波器

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)返回每行的筛选数据。

[ÿ采埃孚]=过滤器(___也返回最终条件采埃孚使用任何以前的语法。

实例

全部收缩

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

创建被随机噪声破坏的正弦数据的1×100行向量。

T = linspace(-pi,PI,100);RNG违约%初始化随机数生成器x=sin(t)+0.25*rand(尺寸(t));

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

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

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

windowSize=5;b=(1/windowSize)*个(1,windowSize);a=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,:))图例('输入数据''筛选数据')标题(“第二排”

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

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

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

整个序列,X,是x1个x2个

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

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

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

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

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

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

y2=滤波器(b、a、x2、zf);

是从所述滤波的数据x1个y2年是从所述滤波的数据x2个。整个过滤序列是垂直级联y2年

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

Y =滤波器(B,A,X);ISEQUAL(Y,[Y1; Y2])
ANS =合乎逻辑1

输入参数

全部收缩

分子系数有理传递函数,指定为矢量。

数据类型:双重的|单一的|国际8|国际16|国际32|国际64|单位8|uint16标准|uint32|uint64标准|合乎逻辑
复数支持:金宝app是的

的分母系数有理传递函数,指定为矢量。

数据类型:双重的|单一的|国际8|国际16|国际32|国际64|单位8|uint16标准|uint32|uint64标准|合乎逻辑
复数支持:金宝app是的

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

数据类型:双重的|单一的|国际8|国际16|国际32|国际64|单位8|uint16标准|uint32|uint64标准|合乎逻辑
复数支持:金宝app是的

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

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

  • 如果是一个矩阵或多维数组,则主导维度的尺寸必须最大(长度(a),长度(B)) - 1. 每个剩余维度的大小必须与X. 例如,考虑使用滤波器沿着所述第二维度(尺寸=2)3×4×5阵列的X. 阵列必须有大小[最大(长度(a),长度(B)) - 1]-乘3乘5。

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

数据类型:双重的|单一的|国际8|国际16|国际32|国际64|单位8|uint16标准|uint32|uint64标准|合乎逻辑
复数支持:金宝app是的

尺寸操作一起,指定为正整数标量。如果没有指定值,则默认的是第一阵列维度,其大小不等于1。

考虑一个二维输入数组,X

  • 如果尺寸=1, 然后滤波器(B,A,X,子,1)沿着一排排的X并返回应用于每个列的筛选器。

  • 如果尺寸=2, 然后滤波器(B,A,X,子,2)沿着X并返回应用于每行的筛选器。

如果暗淡大于新吉布提国际机场(x), 然后滤波器回报X

数据类型:双重的|单一的|国际8|国际16|国际32|国际64|单位8|uint16标准|uint32|uint64标准|合乎逻辑

输出参数

全部收缩

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

如果X属于类型单一的, 然后滤波器本地计算IN单精度,并ÿ是类型也单一的。除此以外,ÿ作为类型返回双重的

数据类型:双重的|单一的

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

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

  • 如果X是矩阵或多维数组,然后采埃孚是长度为的列向量数组最大(长度(a),长度(B)) - 1,使得列中的数采埃孚相当于列的数X. 例如,考虑使用滤波器沿着所述第二维度(尺寸=2)3×4×5阵列的X. 阵列采埃孚有大小[最大(长度(a),长度(B)) - 1]-乘3乘5。

数据类型:双重的|单一的

更多关于

全部收缩

有理传递函数

的输入输出的说明滤波器对Z变换域中向量的运算是一个有理传递函数。有理传递函数的形式是

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

它同时处理FIR和IIR滤波器[一]ñ一个是反馈过滤器顺序,并且ñ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基于频率响应的规格,使用设计过滤器

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

  • 要使用滤波器使用b来自FIR滤波器的系数,使用Y =滤波器(B,1,x)的

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

工具书类

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

扩展功能

R2006a前推出