过滤器是数据处理技术,可以在数据平滑高频波动或删除数据中的特定频率的周期的趋势。在MATLAB®中,过滤
函数滤波数据的矢量X根据下列差分方程,它描述了一个抽头延时线滤波器。
在这个公式中,一个和b是滤波器的系数的矢量,ñ一个是反馈滤波器的阶数,并ñb是前馈滤波器的阶数。ñ是当前元素的索引X。输出ÿ(ñ)是当前和先前元件的线性组合X和ÿ。
该过滤
函数使用指定的系数向量一个和b以过滤输入数据X。有关说明过滤器差分方程的更多信息,请参阅[1]。
该过滤
功能是实现一个移动平均滤波器,这是一种常见的数据平滑技术的一种方法。
下面差分方程描述了一种过滤器,相对于当前的小时和先前三个小时的数据平均时间依赖性的数据。
描述流量随着时间的推移,并指定车辆计数的第一列向量导入数据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变换
是下面的传递函数。
使用传送功能
修改数据的振幅在count.dat
。
加载数据和第一列分配给矢量X
。
加载count.datX =计数(:,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年。
CONV
|过滤
|过滤器2
|movmean
|smoothdata