matlab 低通滤波
时间: 2023-10-09 21:04:45 浏览: 108
在 MATLAB 中实现低通滤波,可以使用函数 `butter()` 来设计一个巴特沃斯低通滤波器,然后用函数 `filter()` 将信号输入滤波器中进行滤波。
以下是一个简单的示例代码:
```matlab
% 设计一个巴特沃斯低通滤波器
[b, a] = butter(4, 0.2, 'low');
% 生成一个测试信号
t = 0:0.1:10;
x = sin(2*pi*1*t) + sin(2*pi*5*t) + sin(2*pi*10*t);
% 对信号进行滤波
y = filter(b, a, x);
% 绘制原始信号和滤波后的信号
subplot(2,1,1);
plot(t, x);
title('原始信号');
xlabel('时间');
ylabel('幅度');
subplot(2,1,2);
plot(t, y);
title('滤波后的信号');
xlabel('时间');
ylabel('幅度');
```
在这个例子中,我们设计了一个四阶的巴特沃斯低通滤波器,截止频率为 0.2 倍采样频率。然后我们生成了一个包含三个不同频率的正弦波的测试信号,并将其输入滤波器中进行滤波。最后,我们将原始信号和滤波后的信号绘制在同一个图像中,以便比较它们之间的差异。
你可以根据自己的需要修改示例代码中的参数来实现不同的低通滤波效果。
阅读全文