1 维数字滤波器

您所在的位置:网站首页 filter的用法matlab 1 维数字滤波器

1 维数字滤波器

#1 维数字滤波器| 来源: 网络整理| 查看: 265

打开实时脚本

使用滤波器延迟的初始条件和最终条件对各部分中的数据进行滤波,尤其是需要考虑内存限制时请执行此操作。

生成一个大型的随机数据序列并将其拆分为两段:x1 和 x2。

x = randn(10000,1); x1 = x(1:5000); x2 = x(5001:end);

整个序列 x 是 x1 和 x2 的垂直串联。

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

H(z)=b(1)+b(2)z-1a(1)+a(2)z-1=2+3z-11+0.2z-1.

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

对子序列 x1 和 x2 进行滤波,一次一个。输出对 x1 进行滤波的最终条件,以便在第一段末尾存储滤波器的内部状态。

[y1,zf] = filter(b,a,x1);

将对 x1 进行滤波的最终条件用作对第二段也就是 x2 进行滤波的初始条件。

y2 = filter(b,a,x2,zf);

y1 是来自 x1 的滤波后的数据,而 y2 是来自 x2 的滤波后的数据。整个滤波后的序列是 y1 和 y2 的垂直串联。

同时对整个序列进行滤波以供比较。

y = filter(b,a,x); isequal(y,[y1;y2])ans = logical 1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3