筛选数据

过滤器差分方程

过滤器是数据处理技术,可以在数据平滑高频波动或删除数据中的特定频率的周期的趋势。在MATLAB®中,过滤函数滤波数据的矢量X根据下列差分方程,它描述了一个抽头延时线滤波器。

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

在这个公式中,一个b是滤波器的系数的矢量,ñ一个是反馈滤波器的阶数,并ñb是前馈滤波器的阶数。ñ是当前元素的索引X。输出ÿñ)是当前和先前元件的线性组合Xÿ

过滤函数使用指定的系数向量一个b以过滤输入数据X。有关说明过滤器差分方程的更多信息,请参阅[1]

交通数据的移动平均滤波器

过滤功能是实现一个移动平均滤波器,这是一种常见的数据平滑技术的一种方法。

下面差分方程描述了一种过滤器,相对于当前的小时和先前三个小时的数据平均时间依赖性的数据。

ÿ ñ = 1 4 X ñ + 1 4 X ñ - 1 + 1 4 X ñ - 2 + 1 4 X ñ - 3

描述流量随着时间的推移,并指定车辆计数的第一列向量导入数据X

加载count.datX =计数(:,1);

创建的滤波器系数向量。

一个= 1;B = [1/4 1/4 1/4 1/4];

计算4小时的移动平均的数据的,并绘制原始数据和过滤后的数据两者。

Y =滤波器(B,A,X);T = 1:长度(X);图(T,X,' - ',T,Y,' - ')图例(“原始数据”“过滤数据”

数据的修改幅度

这个例子展示了如何通过将一个传递函数修改数据的矢量的振幅。

在数字信号处理中,滤波器通常通过传递函数来表示。差分方程的Z变换

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

是下面的传递函数。

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

使用传送功能

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

修改数据的振幅在count.dat

加载数据和第一列分配给矢量X

加载count.datX =计数(:,1);

根据传递函数创建的滤波器系数向量 H ž - 1

A = [1 0.2];B = [2 3];

计算过滤的数据,并绘制原始数据和过滤后的数据两者。该过滤器主要修改原始数据的振幅。

Y =滤波器(B,A,X);T = 1:长度(X);图(T,X,' - ',T,Y,' - ')图例(“原始数据”“过滤数据”

参考

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

也可以看看

||||

相关话题