主要内容

过滤数据

滤波器的差分方程

过滤器是一种数据处理技术,可以消除数据中的高频波动或从数据中去除特定频率的周期性趋势。在MATLAB®,过滤器函数筛选数据向量x根据下面的差分方程,描述了抽头延迟线滤波器。

一个 1 y n b 1 x n + b 2 x n 1 + ... + b N b x n N b + 1 一个 2 y n 1 ... 一个 N 一个 y n N 一个 + 1

在这个方程,一个而且b是滤波器系数的向量,N一个反馈过滤器的顺序,和Nb为前馈滤波器阶数。n当前元素的索引是x.输出yn的当前元素和以前元素的线性组合x而且y

过滤器函数使用指定的系数向量一个而且b筛选输入数据x.有关描述滤波器的差分方程的更多信息,请参见[1]

流量数据的移动平均滤波

过滤器函数是一种实现移动平均滤波的方法,移动平均滤波是一种常用的数据平滑技术。

下面的差分方程描述了一个过滤器,它对当前小时和前三个小时的数据进行时间相关数据的平均。

y n 1 4 x n + 1 4 x n - 1 + 1 4 x n - 2 + 1 4 x n - 3.

导入描述一段时间内交通流的数据,并将车辆数的第一列分配给向量x

负载count.datx = count (: 1);

创建过滤器系数向量。

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

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

y =过滤器(b, a, x);t = 1:长度(x);情节(t x,“——”、t、y,“- - -”)传说(“原始数据”过滤数据的

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示原始数据、过滤数据。

修改数据振幅

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

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

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

是下面的传递函数。

Y z H z - 1 X z b 1 + b 2 z - 1 + + b N b z - N b + 1 一个 1 + 一个 2 z - 1 + + 一个 N 一个 z - N 一个 + 1 X z

使用传递函数

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

修改数据的振幅count.dat

加载数据并将第一列赋值给向量x

负载count.datx = count (: 1);

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

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

计算过滤后的数据,并绘制原始数据和过滤后的数据。这个滤波器主要是修改原始数据的振幅。

y =过滤器(b, a, x);t = 1:长度(x);情节(t x,“——”、t、y,“- - -”)传说(“原始数据”过滤数据的

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示原始数据、过滤数据。

参考文献

奥本海姆,艾伦五世,罗纳德W.谢弗,约翰R.巴克。离散时间信号处理.上马鞍河,新泽西州:Prentice-Hall, 1999。

另请参阅

||||

相关的话题

Baidu
map