数字滤波是Matlab信号处理中的常用功能。具体步骤为:

step1:设计好滤波器系数,b和a。其中b,a存储了滤波器响应传递函数的分子和分母系数。

step2:产生输入信号x

step3:实现滤波y=filter(b,a,x),画出输出波形y。

下面来看Matlab例程。我们采用以下滤波器的分子和分母系数:

b =[0.0563   -0.0009   -0.0009    0.0563]; 其中b1 = 0.0563

a =[1.0000   -2.1291    1.7834   -0.5435]; 其中a1 = 1

(b,a)组成了一个简单的带阻滤波器。

以下为代码:

% ===================================

b =[0.0563   -0.0009   -0.0009    0.0563];

a =[1.0000   -2.1291    1.7834   -0.5435];

x = randn(100,1); % 产生随机输入信号

y = filter(b,a,x); % 产生滤波输出

plot(x);hold on;

plot(y,'r')

grid on;

% =====================================

比较可以看出,y是x低通滤波的结果。y比x更平滑了。

c4fda0fca80bf25837b2c0154b2534b8.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐