iir低通滤波器matlab代码
时间: 2023-11-25 15:51:48 浏览: 174
IIR滤波器的matlab程序
4星 · 用户满意度95%
以下是一个IIR低通滤波器的MATLAB代码示例:
```matlab
% 设计IIR低通滤波器
fs = 1000; % 采样频率
fc = 100; % 截止频率
[b, a] = butter(6, fc/(fs/2), 'low'); % 6阶Butterworth低通滤波器
% 生成测试信号
t = 0:1/fs:1-1/fs; % 时间向量
x = sin(2*pi*50*t) + sin(2*pi*120*t); % 生成两个正弦波
y = filter(b, a, x); % 用IIR低通滤波器滤波
% 绘制结果
figure;
subplot(2,1,1);
plot(t, x);
title('原始信号');
xlabel('时间 (s)');
ylabel('幅值');
subplot(2,1,2);
plot(t, y);
title('滤波后信号');
xlabel('时间 (s)');
ylabel('幅值');
```
该代码使用了MATLAB内置的`butter`函数来设计6阶Butterworth低通滤波器,然后使用`filter`函数将信号进行滤波。最后,使用MATLAB的绘图函数将原始信号和滤波后的信号绘制在同一张图上。
阅读全文