滤波数据分析
数据分析 滤波
2023-09-11 14:14:49 时间
目录
滤波器差分方程
滤波器是一种数据处理技术,可滤掉数据中的高频波动部分使之平滑或从数据中删除特定频率的周期趋势。在 MATLAB® 中,filter 函数会根据以下差分方程对数据 x 的向量进行滤波,该差分方程描述一个抽头延迟线滤波器。
在此方程中,a 和 b 是滤波器系数的向量,Na 是反馈滤波器阶数,Nb 是前馈滤波器阶数。n 是 x 的当前元素的索引。输出 y(n) 是 x 和 y 的当前元素和前面元素的线性组合。
filter函数使用指定的系数向量a和b对输入数据 x 进行滤波。
交通流量数据的移动平均值滤波器
filter 函数是实现移动平均值滤波器的一种方式,它是一种常见的数据平滑技术。
以下差分方程描述一个滤波器,它对关于当前小时和前三个小时的数据的时间相关数据求平均值。
导入描述交通流随时间变化的数据,并将第一列车辆计数赋给向量 x
。
load count.dat
x = count(:,1);
创建滤波器系数向量。
a = 1;
b = [1/4 1/4 1/4 1/4];
计算数据的 4 小时移动平均值,同时绘制原始数据和滤波后的数据。
y = filter(b,a,x);
t = 1:length(x);
plot(t,x,'--',t,y,'-')
legend('Original Data','Filtered Data')
如图所示:
修改数据振幅
此示例显示如何通过应用传递函数来修改数据向量的振幅。在数字信号处理中,滤波器通常由传递函数表示。以下差分方程的 Z 变换
是以下传递函数。
使用传递函数
修改 count.dat 中数据的振幅。加载数据并将第一列分配到向量 x。
load count.dat
x = count(:,1);
根据传递函数 创建滤波器系数向量。
a = [1 0.2];
b = [2 3];
计算滤波后的数据,同时绘制原始数据和滤波后的数据。此滤波器主要修改原始数据的振幅。
y = filter(b,a,x);
t = 1:length(x);
plot(t,x,'--',t,y,'-')
legend('Original Data','Filtered Data')
如图所示:
相关文章
- HR数据分析常用的50个公式
- Python数据挖掘之决策树DTC数据分析及鸢尾数据集分析
- 新时代,建立你的数据分析思维
- Data - 大数据分析学习之路
- 大数据分析谨慎对待
- Excel的数据分析—排位与百分比
- 数据分析不是死板工作,这是一个“看数字说故事”的比赛!
- 如何培养数据分析的能力?
- python数据分析和可视化——一篇文章足以(未完成)
- python数据分析-numpy数组操作
- Hive数据分析——Spark是一种基于rdd(弹性数据集)的内存分布式并行处理框架,比于Hadoop将大量的中间结果写入HDFS,Spark避免了中间结果的持久化
- Python可视化数据分析07、Pandas_CSV文件读写
- 呕心沥血加班加点做了2天的Python数据分析入门知识手册