Matlab采用汉明窗测试低通滤波器的代码
时间: 2023-07-09 22:41:35 浏览: 185
下面是使用汉明窗测试低通滤波器的Matlab代码:
```matlab
% 采样频率
fs = 1000;
% 信号频率
f = 50;
% 信号长度
N = 1024;
% 生成信号
t = (0:N-1)/fs;
x = sin(2*pi*f*t);
% 低通滤波器参数
fc = 100;
Wn = fc/(fs/2);
% 汉明窗
win = hamming(N);
% FIR滤波器系数
h = fir1(N-1, Wn, 'low', win);
% 频率响应
[H, f] = freqz(h, 1, N/2, fs);
% 绘制频率响应曲线
figure;
plot(f, 20*log10(abs(H)));
title('Lowpass Filter Magnitude Response');
xlabel('Frequency (Hz)');
ylabel('Magnitude (dB)');
% 滤波后的信号
y = filter(h, 1, x);
% 绘制信号和滤波后的信号
figure;
plot(t, x);
hold on;
plot(t, y);
title('Filtered Signal');
xlabel('Time (s)');
ylabel('Amplitude');
legend('Original Signal', 'Filtered Signal');
```
这段代码首先生成了一个频率为50Hz的正弦信号,然后使用汉明窗设计了一个低通滤波器,并计算了其频率响应曲线。最后,将信号通过该滤波器进行滤波,并绘制了信号和滤波后的信号的图像。
阅读全文