发布网友 发布时间:2022-04-23 03:32
共1个回答
热心网友 时间:2022-04-22 12:41
数字滤波是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更平滑了。