matlab实现fir数字低通滤波器汉明窗
时间: 2023-08-24 08:25:47 浏览: 120
利用海明窗设计Ⅱ型数字低通滤波器matlab仿真,含仿真操作录像
5星 · 资源好评率100%
以下是MATLAB实现FIR数字低通滤波器汉明窗的示例代码:
```matlab
% 设计FIR低通滤波器
fs = 1000; % 采样率
fc = 100; % 截止频率
N = 50; % 滤波器阶数
b = fir1(N, fc/(fs/2), 'low', hamming(N+1)); % FIR滤波器系数
% 绘制滤波器的幅频特性
freqz(b, 1, 1024, fs);
% 加载数据并进行滤波
data = load('data.mat');
filtered_data = filter(b, 1, data.signal);
% 绘制原始信号和滤波后的信号
t = (0:length(data.signal)-1)/fs;
figure;
subplot(2,1,1);
plot(t, data.signal);
title('原始信号');
xlabel('时间 (s)');
ylabel('幅值');
subplot(2,1,2);
plot(t, filtered_data);
title('滤波后的信号');
xlabel('时间 (s)');
ylabel('幅值');
```
在上述示例代码中,我们使用了 `fir1` 函数来设计低通FIR滤波器并采用汉明窗函数来减小滤波器的波纹。然后使用 `freqz` 函数来绘制滤波器的幅频特性。接着,我们使用 `filter` 函数来对加载的数据进行滤波,并使用 `plot` 函数绘制出原始信号和滤波后的信号的图像。
阅读全文