用MATLAB写一个1K的FIR低通滤波器代码
时间: 2024-02-27 12:54:36 浏览: 82
下面是一个使用MATLAB实现的1KHz的FIR低通滤波器代码:
```matlab
% 1KHz的FIR低通滤波器设计
fs = 8000; % 采样率
fc = 1000; % 截止频率
N = 100; % 滤波器系数个数
h = fir1(N-1, fc/(fs/2)); % FIR滤波器系数
% 生成一个1KHz正弦波信号
t = 0:1/fs:1; % 时间向量
x = sin(2*pi*1000*t); % 1KHz正弦波信号
% 通过滤波器对信号进行滤波
y = filter(h, 1, x); % h为滤波器系数,1为z的分母系数,x为输入信号
% 绘制输入信号和输出信号的波形图
subplot(2,1,1); plot(t, x); xlabel('时间 (s)'); ylabel('幅值'); title('输入信号的波形图');
subplot(2,1,2); plot(t, y); xlabel('时间 (s)'); ylabel('幅值'); title('输出信号的波形图');
```
这个代码首先设计了一个截止频率为1KHz、滤波器系数为100个的FIR低通滤波器。然后生成一个1KHz正弦波信号,并将其通过滤波器进行滤波。最后,绘制输入信号和输出信号的波形图。
阅读全文